£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~d                 @   sR   d dl Z d dlZ dd ZG dd dZedkrNdd Ze eZed	e	e dS )
    Nc             C   s   |  |d |tj|| d  | ||d tj|| d  | ||d tj|| d  |  |d |tj|| d  | ||tj | ||tj | ||tj | ||tj	 d S )N   )
ZvlinecursesZ	ACS_VLINEZhlineZ	ACS_HLINEaddchZACS_ULCORNERZACS_URCORNERZACS_LRCORNERZACS_LLCORNER)winulyulxZlryZlrx r   3/opt/alt/python37/lib64/python3.7/curses/textpad.py	rectangle   s    r
   c               @   sH   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd ZdddZ	dS )TextboxFc             C   s.   || _ || _|   d| _d | _|d d S )Nr   )r   insert_mode_update_max_yxstripspaceslastcmdZkeypad)selfr   r   r   r   r	   __init__+   s    zTextbox.__init__c             C   s&   | j  \}}|d | _|d | _d S )Nr   )r   Zgetmaxyxmaxymaxx)r   r   r   r   r   r	   r   3   s    
zTextbox._update_max_yxc             C   s\   |    | j}xHtj| j||tjjkrBt| j|d }P n
|dkrLP |d }qW |S )Nr   r   )r   r   r   asciir   inchZSPmin)r   yZlastr   r   r	   _end_of_line8   s    zTextbox._end_of_linec             C   s   |    | j \}}d }x|| jk s0|| jk r| jr@| j }y| j| W n tj	k
rf   Y nX | jrztj
|s|P |}| j \}}|d kr||f}qW |d k	r| jj|  d S )N)r   r   getyxr   r   r   r   r   r   errorr   isprintmove)r   chr   xZbackyxZoldchr   r   r	   _insert_printable_charF   s$    
zTextbox._insert_printable_charc             C   sV  |    | j \}}|| _tj|rJ|| jk s<|| jk rF| 	| n|tjj
krh| j|d n|tjjtjtjjtjfkr|dkr| j||d  nB|dkrn8| jr| j|d | |d  n| j|d | j |tjjtjfkrR| j  nL|tjjkr"| j  n0|tjjkrb| jrN| j|| | n| j|| j n|tjjtjfkr|| jk r| j||d  n || jkrn| j|d d n|tjjkrdS |tjjkr| jdkrdS || jk rR| j|d d nF|tjjkrZ|dkr@| |dkr@| j  n| j|| | j  n|tjjkrt| j  n|tjjtjfkr|| jk rR| j|d | || |d krR| j|d | |d  nz|tjj kr| j!  n`|tjj"tj#fkrR|dkrR| j|d | || |d krR| j|d | |d  dS )Nr   r   )$r   r   r   r   r   r   r   r   r   r   ZSOHr   ZSTXZKEY_LEFTZBSZKEY_BACKSPACEr   r   ZdelchZEOTZENQZACKZ	KEY_RIGHTZBELNLZVTZdeletelnZclrtoeolZFFrefreshZSOZKEY_DOWNZSIZinsertlnZDLEZKEY_UP)r   r   r   r   r   r   r	   
do_command_   sr    
zTextbox.do_commandc          
   C   s   d}|    xt| jd D ]}| j|d | |}|dkrH| jrHqxDt| jd D ]2}| jrl||krlP |tt	j

| j|| }qXW | jdkr|d }qW |S )N r   r   
)r   ranger   r   r   r   r   r   chrr   r   r   )r   resultr   stopr   r   r   r	   gather   s    
"
zTextbox.gatherNc             C   s@   x6| j  }|r||}|sq| |s*P | j   qW |  S )N)r   Zgetchr"   r!   r)   )r   Zvalidater   r   r   r	   edit   s    

zTextbox.edit)F)N)
__name__
__module____qualname__r   r   r   r   r"   r)   r*   r   r   r   r	   r      s   
Ar   __main__c             C   sf   d\}}d\}}|  |d |d t||||}t| |d |d || ||  |   t| S )N)	      )         zUse Ctrl-G to end editing.r   )Zaddstrr   Znewwinr
   r!   r   r*   )ZstdscrZncolsZnlinesr   r   r   r   r   r	   test_editbox   s     r4   zContents of text box:)
r   Zcurses.asciir
   r   r+   r4   wrapperstrprintreprr   r   r   r	   <module>   s    ,	
