B
    i^W$                 @   s   d dl Z d dlZd dlmZ d dlmZ dd ZG dd dejZdd	 Zd
d Z	e
dkre Zejdd eeZedee e  dS )    N)ttk)fontc                s   d}d}|| }  dd  jdd tj d|d}t d	|d}t jd
dd |jddd  d fdd  d fdd |S )Ni  r   z-fullscreenTblack)
backgroundi8  )masterwidthheighti   ZTFrame)rowcolumnz<Escape>c                s      S )N)destroy)ev)root ,/home/pi/sexton-multicamera/e2/ParamFrame.py<lambda>)       zrun_ui.<locals>.<lambda>z
<Button-1>c                s      S )N)r   )r   )r   r   r   r   *   r   )
attributes	configurer   Frame
ParamFrameStylegridbind)r   ZSCREEN_HEIGHTZVIDEO_HEIGHTZPARAMS_HEIGHTZvideo_frameparam_framer   )r   r   run_ui   s    r   c                   s   e Zd Zd fdd	Zdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Z  ZS )r   Nc                sF   t  j|f| | d tjddd| _|   |   |   d S )NFzDejaVu Sans   )Zfamilysize)	super__init__grid_propagater   ZFont
label_fontcreate_stylescreate_widgetslayout)selfr   kw)	__class__r   r   r   B   s    
zParamFrame.__init__c             C   sh   d}t  }|jddd| jd |jd|d |jdd	d |jd
dd |jdddd |d d S )Nz#2020c0ZTLabelr   Zwhite)r   
foregroundr   zHighlight.TLabel)r   zStandby.TLabelZgreenzRecording.TLabelZredzError.TLabelZyellow)r   r'   zNoError.TLabel)r   r   r   r    )r$   ZHIGHLIGHT_BACKGROUNDsr   r   r   r!   O   s    zParamFrame.create_stylesc             C   s   t | | _| d t | | _| d t | | _| d t | | _| 	d t | | _
| d t | | _| d t | | _| d t j| dd	d
| _t j| ddd
| _d S )Nz--Z9999z1/9999z9.9Z99999zXxxXxx YYY ZZz99.77ZFOOBARzStandby.TLabel)textstyleZfoobarzError.TLabel)r   Labelcamera_labelupdate_camerawb_label	update_wbshutter_labelupdate_shutterfstop_labelupdate_fstop	iso_label
update_iso	enc_labelupdate_encoder	fps_label
update_fpsstatus_labelmessage_label)r$   r   r   r   r"   ^   s     






zParamFrame.create_widgetsc             C   sD  d}d}d}| j ddd | jj|d | jjdd|dfdd	 | jj|d | jjdd|dfd
d	 | jj|d | jjdd|dfdd	 | jj|d | jjdd|dfd
d	 | jj|d | jjdd|dfdd	 | jj|d | jjdd|dfd
d	 | j	jdd | j	jdddd | j
jddddd | jddd d S )N
   r   )r      i  )minsize)Zpaddingr=   w)r	   r
   Zpadxstickye      )         )r	   r
   
columnspan   Zwe)r	   r
   rG   r@   d   )columnconfigurer4   r   r   r.   r0   r8   r2   r6   r:   r;   rowconfigure)r$   ZPADZLOFS0ZLOFS1r   r   r   r#   ~   s(    zParamFrame.layoutc             C   s   | j jd| d d S )NzWB )r)   )r.   r   )r$   	new_valuer   r   r   r/      s    zParamFrame.update_wbc             C   s   | j jd| d d S )NzISO )r)   )r4   r   )r$   rL   r   r   r   r5      s    zParamFrame.update_isoc             C   s   | j jd| d d S )NzSHUTTER )r)   )r0   r   )r$   rL   r   r   r   r1      s    zParamFrame.update_shutterc             C   s    | dd}| jj| d d S )Nz%20 )r)   )replacer6   r   )r$   rL   encoderr   r   r   r7      s    zParamFrame.update_encoderc             C   s   | j jd| d d S )NzF )r)   )r2   r   )r$   rL   r   r   r   r3      s    zParamFrame.update_fstopc             C   s   | j jd| d d S )NzFPS )r)   )r8   r   )r$   rL   r   r   r   r9      s    zParamFrame.update_fpsc             C   s*   |r| j jddd n| j jddd d S )NZ	RECORDINGzRecording.TLabel)r)   r*   ZSTANDBYzStandby.TLabel)r:   r   )r$   Zis_recordingr   r   r   update_recording   s    zParamFrame.update_recordingc             C   s   | j jd| d d S )NzCam )r)   )r,   r   )r$   Z	camera_idr   r   r   r-      s    zParamFrame.update_camerac             C   s   | j j|dd d S )NzError.TLabel)r)   r*   )r;   r   )r$   msgr   r   r   update_errmsg   s    zParamFrame.update_errmsgc             C   s   | j jddd d S )NrM   zNoError.TLabel)r)   r*   )r;   r   )r$   r   r   r   clear_errmsg  s    zParamFrame.clear_errmsg)N)__name__
__module____qualname__r   r!   r"   r#   r/   r5   r1   r7   r3   r9   rP   r-   rR   rS   __classcell__r   r   )r&   r   r   :   s    .					r   c             C   sn   |  d | d | d | d | d | d | d | d | d	 | j	
d
t|  d S )Nr   Z6500Z16000z1/200zProRes%20422%20LTz2.8z59.97TzERROR: cam99 foobari  )r-   r/   r5   r1   r7   r3   r9   rP   rR   r   aftertest_update2)framer   r   r   test_update1  s    








r[   c             C   s&   |  d |   | jdt|  d S )NFi  )rP   rS   r   rX   r[   )rZ   r   r   r   rY     s    
rY   __main__z#661111)r   i  )systkintertkr   r   r   r   r   r[   rY   rT   Tkr   r   rZ   rX   mainloopr   r   r   r   <module>   s    O