<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   su   d  d l  Z  d  d l Z  d d   Z Gd d   d  Z e d k rq d d   Z e  j e  Z e d	 e	 e   d S)
    Nc             C   s   |  j  | d | t j | | d  |  j | | d t j | | d  |  j | | d t j | | d  |  j  | d | t j | | d  |  j | | t j  |  j | | t j  |  j | | t j  |  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   ,/opt/alt/python35/lib64/python3.5/textpad.py	rectangle   s    %%%%r
   c               @   sj   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?   | |  _  | |  _ |  j   d |  _ d  |  _ | j 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   s3   |  j  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    |  j } xb t j j |  j j | |   t j j k r] t |  j | d  } Pn | d k rj P| 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    |  j j   \ } } d  } x | |  j k  sF | |  j k  r |  j r^ |  j j   } y |  j j |  Wn t j	 k
 r Yn X|  j s t j
 j |  r P| } |  j 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   sW  |  j    |  j j   \ } } | |  _ t j j |  rh | |  j k  sX | |  j k  rS|  j	 |  n| t j j
 k r |  j j | d  n| t j j t j t j j t j f k rd| d k r |  j j | | d  nY | d k r nJ |  j r|  j j | d |  j | d   n |  j j | d |  j  | t j j t j f k rS|  j j   n| t j j k r|  j j   n| t j j k r|  j r|  j j | |  j |   qS|  j j | |  j  nz| t j j t j f k rI| |  j k  r|  j j | | d  qS| |  j k r/qS|  j j | d d  n
| t j j k r_d S| t j j k r|  j d k rd S| |  j k  rS|  j j | d d  n| t j j k r| d k r|  j |  d k r|  j j   qS|  j j | |  |  j j   n@| t j j k r5|  j j   n| t j j t j f k r| |  j k  rS|  j j | d |  | |  j | d  k rS|  j j | d |  j | d   n | t j j  k r|  j j!   n{ | t j j" t j# f k rS| d k rS|  j j | d |  | |  j | d  k rS|  j j | d |  j | 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refresh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 } |  j    x t |  j d  D] } |  j j | d  |  j |  } | d k rd |  j rd q$ x\ t |  j d  D]G } |  j r | | k r P| t t	 j
 j
 |  j j | |    } qx W|  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   sX   xK |  j  j   } | r$ | |  } | s- q |  j |  s= P|  j  j   q W|  j   S)N)r   Zgetchr#   r!   r*   )r   Zvalidater   r   r   r	   edit   s    zTextbox.edit)
__name__
__module____qualname__r   r   r   r   r#   r*   r+   r   r   r   r	   r      s   Ar   __main__c             C   s   d \ } } d	 \ } } |  j  | d | d  t j | | | |  } t |  | d | d | | | |  |  j   t |  j   S)
N	               zUse Ctrl-G to end editing.r   )r0   r1   )r2   r3   )Zaddstrr   Znewwinr
   r!   r   r+   )ZstdscrZncolsZnlinesr   r   r   r   r   r	   test_editbox   s    &
r5   zContents of text box:)
r   Zcurses.asciir
   r   r,   r5   wrapperstrprintreprr   r   r   r	   <module>   s   	