B
    v9ak-                 @   sd   G d d dZ G dd dZG dd dZG dd dZdd	lmZ G d
d dZG dd dZdS )c               @   s   e Zd Zdd ZdS )Eventc             K   s   | j | d S )N)__dict__update)selfkwds r   /usr/lib/python3.7/mock_tk.py__init__   s    zEvent.__init__N)__name__
__module____qualname__r   r   r   r   r   r      s   r   c               @   s&   e Zd ZdddZdd Zdd ZdS )	VarNc             C   s   || _ || _|| _d S )N)mastervaluename)r   r   r   r   r   r   r   r      s    zVar.__init__c             C   s
   || _ d S )N)r   )r   r   r   r   r   set   s    zVar.setc             C   s   | j S )N)r   )r   r   r   r   get!   s    zVar.get)NNN)r	   r
   r   r   r   r   r   r   r   r   r      s   
r   c               @   s   e Zd ZdddZdd ZdS )	Mbox_funcNc             C   s
   || _ d S )N)result)r   r   r   r   r   r   +   s    zMbox_func.__init__c             O   s   || _ || _|| _|| _| jS )N)titlemessageargsr   r   )r   r   r   r   r   r   r   r   __call__-   s
    zMbox_func.__call__)N)r	   r
   r   r   r   r   r   r   r   r   $   s   
r   c               @   s<   e Zd Ze Ze Ze Ze Ze Ze Z	e Z
e ZdS )MboxN)r	   r
   r   r   ZaskokcancelZaskquestionZaskretrycancelZaskyesnoZaskyesnocancelZ	showerrorZshowinfoshowwarningr   r   r   r   r   5   s   r       )TclErrorc               @   s   e Zd Zdi fddZdd Zd!ddZd	d
 Zdd Zd"ddZd#ddZ	dd Z
dd Zdd Zd$ddZdd Zdd Zdd Zd%dd ZdS )&TextNc             K   s   ddg| _ d S )N 
)data)r   r   Zcnfkwr   r   r   r   g   s    zText.__init__c             C   s   d| j |dd S )Nz%s.%s   )endflag)_decode)r   indexr   r   r   r$   o   s    z
Text.indexr   c             C   s  t |ttfrt|}y| }W n" tk
rD   td| d Y nX t| jd }|dkrr|t| j| d fS |dkr| 	|S |
d\}}t|}|dk rdS ||kr| 	|S t| j| d }|ds|dkr||fS t|}|dk rd}n||kr|}||fS )	Nzbad text index "%s"r!   insertend.)r!   r   z lineendr   )
isinstancefloatbytesstrlowerAttributeErrorr   lenr   _endexsplitintendswith)r   r$   r"   ZlastlinelinecharZ
linelengthr   r   r   r#   s   s4    


zText._decodec             C   s<   t | j}|dkr|dfS |d8 }|t | j| | fS d S )Nr!   r   )r.   r   )r   r"   nr   r   r   r/      s
    
zText._endexc             C   s   |sd S | d}|d d dkr,|d | |d\}}| j| d | }| j| |d  }||d  | j|< |dd  | j|d |d < | j|t| d   |7  < d S )NTr   r   r   r!   )
splitlinesappendr#   r   r.   )r   r$   charsr3   r4   ZbeforeZafterr   r   r   r%      s    

zText.insertc       	      C   s   |  |\}}|d kr&||d  }}n|  |\}}||krN| j| || S | j| |d  g}x&t|d |D ]}|| j|  qrW || j| d |  d|S d S )Nr!   r   )r#   r   ranger8   join)	r   index1index2	startline	startcharendlineendcharlinesir   r   r   r      s    zText.getc             C   s  |  |d\}}|d krf|t| j| d k r>||d  }}qv|t| jd k r`|d d }}qvd S n|  |d\}}||kr||k r| j| d | | j| |d   | j|< n^||k r| j| d | | j| |d   | j|< |d7 }x t||d D ]}| j|=  qW d S )Nr6   r!   r   )r#   r.   r   r:   )r   r<   r=   r>   r?   r@   rA   rC   r   r   r   delete   s"    
zText.deletec             C   s   |  |\}}|  |\}}|dkr<||k p:||ko:||k S |dkr\||k pZ||koZ||kS |dkr|||kpz||koz||kS |dkr||kp||ko||kS |dkr||ko||kS |dkr||kp||kS td| d S )N<z<=>z>=z==z!=z=bad comparison operator "%s": must be <, <=, ==, >=, >, or !=)r#   r   )r   r<   opr=   Zline1Zchar1Zline2Zchar2r   r   r   compare   s     zText.comparec             C   s   d S )Nr   )r   r   r$   r   r   r   mark_set  s    zText.mark_setc             G   s   d S )Nr   )r   Z	markNamesr   r   r   
mark_unset  s    zText.mark_unsetc             C   s   d S )Nr   )r   ZtagNamer<   r=   r   r   r   
tag_remove  s    zText.tag_removec             C   s   d S )Nr   )r   xyr   r   r   scan_dragto  s    zText.scan_dragtoc             C   s   d S )Nr   )r   rL   rM   r   r   r   	scan_mark  s    zText.scan_markc             C   s   d S )Nr   )r   r$   r   r   r   see!  s    zText.seec             C   s   d S )Nr   )Zsequencefuncaddr   r   r   bind(  s    z	Text.bind)r   )N)N)N)NNN)r	   r
   r   r   r$   r#   r/   r%   r   rD   rH   rI   rJ   rK   rN   rO   rP   rS   r   r   r   r   r   Z   s   
3


r   c               @   s   e Zd Zdd ZdS )Entryc             C   s   d S )Nr   )r   r   r   r   	focus_set.  s    zEntry.focus_setN)r	   r
   r   rU   r   r   r   r   rT   ,  s   rT   N)r   r   r   r   Z_tkinterr   r   rT   r   r   r   r   <module>   s   # S