U
    Tr`                     @   s:   d dl Z d dlZd dlZd dl mZ G dd de jZdS )    N)	wgtextboxc                       sZ   e Zd ZdZdZejZd fdd	Zdd Z	dd	 Z
d
d Zd fdd	Zdd Z  ZS )CGridT   Nc                    s8   |r|| _ ng | _ |r|| _tt| j|f|| d S N)
col_titles
col_widthssuperr   __init__)selfscreenr   r   argskeywords	__class__ I/mnt/cestravail/FreezeDetection/sentSatProg_v.0.1.3/npyscreenoverrides.pyr	      s    zCGrid.__init__c                 C   s   |  ||_d S r   )getColorcolor)r
   actual_cellcell_display_valuer   r   r   custom_print_cell   s    zCGrid.custom_print_cellc                 C   s  | j r"| j| j | j | j  | _n| jr2| j| _n| j| _g | _| j| j | j | j }|| j8 }|| _|dk rxt	dt
| j| j | j D ]}|| j }g }t
| jD ]X}t| jd| | j }|| j| j|| j | j | j| | j | j| | jd q| j| q| jr,t| j| jkrZtddd t
d| jD | _| j| j g | _t
| jD ]J}t| jd| | j }| j| j| j| j| j| | j| dd qjd S )N   z$Too many columns for space availabler   )relyrelxwidthheightic                 s   s   | ]
}d V  qdS )r   Nr   ).0r   r   r   r   	<genexpr><   s     z/CGrid.make_contained_widgets.<locals>.<genexpr>)column_width_requestedr   
col_margincolumnscolumns_requesteddefault_column_number_my_widgetsadditional_x_offset_column_width	Exceptionranger   additional_y_offset
row_heightsumr   append_contained_widgetsparentr   r   lenarrayfill_my_col_titles_col_widgets)r
   column_widthhh_coordrowcellx_offset
title_cellr   r   r   make_contained_widgets!   s2    

 
> zCGrid.make_contained_widgetsc                 C   s&   ddddddddddd
}| |dS )NGOODSTANDOUTCAUTIONNO_EDITDANGER)
OnlineOfflinePending	RequestedDownloading
DownloadedHashing	Succeeded	CorruptedFailedDEFAULT)get)r
   valueZswitcherr   r   r   r   D   s    zCGrid.getColorc              	      s   t t| jdd d}| jD ]F}z| j| j|  }W n tk
rL   d }Y nX | || |d7 }q| jj	
| jd | jtj| j d S )NT)clearr   r   )r   r   updater2   r   begin_col_display_at
IndexErrorupdate_title_cellr.   
curses_padhliner   r   curses	ACS_HLINEr   )r
   rN   _title_counterr:   
title_textr   r   r   rO   S   s    


zCGrid.updatec                 C   s   ||_ |  d S r   )rM   rO   )r
   r8   
cell_titler   r   r   rR   a   s    zCGrid.update_title_cell)NN)T)__name__
__module____qualname__
how_exitedr)   textbox	Textfieldr3   r	   r   r;   r   rO   rR   __classcell__r   r   r   r   r      s   #r   )	npyscreenrU   r0   r   r^   
SimpleGridr   r   r   r   r   <module>   s   