3
+]                 @   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__ @C:\Users\ibrahim.fayad\Desktop\SentinelTUI\npyscreenoverrides.pyr      s    zCGrid.__init__c             C   s   | j ||_d S )N)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xt
| j| j | j D ]}|| j }g }xft
| jD ]X}t| jd| | j }|j| j| j|| j | j | j| | j | j| | jd qW | jj| qW | j s6t| j| jkrdtjddd t
d| jD | _| jj| j g | _xXt
| jD ]J}t| jd| | j }| jj| j| j| j| j| | j| dd qvW d 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
}|j |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}xP| jD ]F}y| j| j|  }W n tk
rN   d }Y nX | j|| |d7 }qW | jj	j
| jd | jtj| j d S )NT)clearr   r   )r   r   updater0   r   begin_col_display_at
IndexErrorupdate_title_cellr,   
curses_padhliner   r   curses	ACS_HLINEr   )r	   rL   _title_counterr8   
title_text)r   r   r   rM   S   s    
zCGrid.updatec             C   s   ||_ |j  d S )N)rK   rM   )r	   r6   
cell_titler   r   r   rP   a   s    zCGrid.update_title_cell)NN)T)__name__
__module____qualname__
how_exitedr'   textbox	Textfieldr1   r   r   r9   r   rM   rP   __classcell__r   r   )r   r   r      s   #r   )	npyscreenrS   r.   r   r\   
SimpleGridr   r   r   r   r   <module>   s   