Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/idlelib/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/idlelib/__pycache__/undo.cpython-312.opt-1.pyc

�

&Μg+����ddlZddlmZGd�de�ZGd�d�ZGd�de�ZGd	�d
e�ZGd�de�Zd
�Ze	dk(r ddl
mZeddd��ddlm
Z
e
e�yy)�N)�	Delegatorc�x�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dZ
d	�Zd
Zd�Z
dd�Zdd
�Zd�Zd�Zdd�Zd�Zd�Zy)�
UndoDelegatori�c�N�tj|�|j�y�N)r�__init__�
reset_undo��selfs �)/usr/local/lib/python3.12/idlelib/undo.pyrzUndoDelegator.__init__s�����4� �����c�\�|j�3|jd�|jd�|jd�tj||�|�U|j	d|j
�|j	d|j�|j	d|j�yy)Nz<<undo>>z<<redo>>z<<dump-undo-state>>)�delegate�unbindr�setdelegate�bind�
undo_event�
redo_event�
dump_event)rrs  rrzUndoDelegator.setdelegates����=�=�$��K�K�
�#��K�K�
�#��K�K�-�.����d�H�-����I�I�j�$�/�/�2��I�I�j�$�/�/�2��I�I�+�T�_�_�=� r
c�P�ddlm}||jd|j�td|jd��td|jd��td|j
d��td|j
��||j|jd�y	)
Nr)�pprintzpointer:� )�endzsaved:z
can_merge:zget_saved():�break)r�undolist�pointer�print�saved�	can_merge�	get_saved)r�eventrs   rrzUndoDelegator.dump_event(sw��!��t�}�}�]�d�l�l�+�,�
�j�$�,�,�C�0�
�h��
�
��,�
�l�D�N�N��4�
�n�d�n�n�.�/��t�}�}�T�\�\�]�+�,�r
c�^�d|_d|_g|_d|_|j	d�y�N���r�)�	was_savedrr�	undoblock�	set_savedr
s rr	zUndoDelegator.reset_undo2s*����������
�������q�r
c�h�|r|j|_nd|_d|_|j�y)Nr$F)rrr�check_saved)r�flags  rr(zUndoDelegator.set_saved9s*������D�J��D�J�������r
c�4�|j|jk(Sr)rrr
s rr zUndoDelegator.get_savedAs���z�z�T�\�\�)�)r
Nc��||_yr)�saved_change_hook)r�hooks  r�set_saved_change_hookz#UndoDelegator.set_saved_change_hookFs
��!%��r
r$c��|j�}||jk7r%||_|jr|j�yyyr)r r&r.)r�is_saveds  rr*zUndoDelegator.check_savedKs@���>�>�#���t�~�~�%�%�D�N��%�%��&�&�(�&�&r
c�<�|jt|||��yr)�addcmd�
InsertCommand)r�index�chars�tagss    r�insertzUndoDelegator.insertRs�����M�%���5�6r
c�:�|jt||��yr)r4�
DeleteCommand�r�index1�index2s   r�deletezUndoDelegator.deleteUs�����M�&�&�1�2r
c�t�|jdk(rt�|_|jj�y�Nr)r'�CommandSequence�
bump_depthr
s r�undo_block_startzUndoDelegator.undo_block_startcs(���>�>�Q��,�.�D�N����!�!�#r
c���|jjd�dk(rT|j}d|_t|�dkDr2t|�dk(r|jd�}|j	|d�yyyr#)r'rC�len�getcmdr4�r�cmds  r�undo_block_stopzUndoDelegator.undo_block_stophsf���>�>�$�$�R�(�A�-��.�.�C��D�N��3�x�!�|��s�8�q�=��*�*�Q�-�C����C��#�
�.r
c��|r|j|j�|jdk7r|jj|�y|jr=|j
dkDr.|j|j
dz
}|j|�ry|g|j|j
d|j|j
kDrd|_|j
dz|_t|j�|jkDrD|jd=|j
dz
|_|jdk\r|jdz
|_d|_|j�y)Nrr%r$T)�dorr'�appendrrr�mergerrF�max_undor*)rrI�execute�lastcmds    rr4zUndoDelegator.addcmdts����F�F�4�=�=�!��>�>�Q���N�N�!�!�#�&���>�>�d�l�l�Q�.��m�m�D�L�L��N�3�G��}�}�S�!��(+�u��
�
�d�l�l�m�$��:�:����$��D�J��|�|�a�'����t�}�}���
�
�-��
�
�a� ��<�<�!�+�D�L��z�z�Q��!�Z�Z�!�^��
�������r
c��|jdk(r|j�y|j|jdz
}|j|j�|jdz
|_d|_|j
�y)Nrrr%F)r�bellr�undorrr*�rr!rIs   rrzUndoDelegator.undo_event�sg���<�<�1���I�I�K���m�m�D�L�L�1�,�-����������|�|�a�'����������r
c�(�|jt|j�k\r|j�y|j|j}|j	|j
�|jdz|_d|_|j�y)Nrr%F)rrFrrS�redorrr*rUs   rrzUndoDelegator.redo_event�sk���<�<�3�t�}�}�-�-��I�I�K���m�m�D�L�L�)����������|�|�a�'����������r
r)T)�__name__�
__module__�__qualname__rOrrrr	r(r r.r0r&r*r9r?rDrJr4rr�r
rrrsa���H��	>����*���&��I�)�7�3�$�

$��.	�	r
rc�B�eZdZdZd
d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy)�CommandNc�^�i|_i|_||_||_||_|r||_yyr)�marks_before�marks_afterr=r>r7r8)rr=r>r7r8s     rrzCommand.__init__�s6����������������
���D�I�r
c���|jj}|j|j|j|j
f}|j
�|dd}|t
|�zS)Nr$)�	__class__rXr=r>r7r8�repr)r�s�ts   r�__repr__zCommand.__repr__�sR���N�N�#�#��
�[�[�$�+�+�t�z�z�4�9�9�=���9�9���#�2��A��4��7�{�r
c��yrr[�r�texts  rrLz
Command.do����r
c��yrr[rhs  rrWzCommand.redo�rjr
c��yrr[rhs  rrTzCommand.undo�rjr
c��yrAr[rHs  rrNz
Command.merge�s��r
c�t�i}|j�D]"}|dk7s�	|dk7s�|j|�||<�$|S)Nr9�current)�
mark_namesr6)rri�marks�names    r�
save_markszCommand.save_marks�s@�����O�O�%�D��x��D�I�$5�"�j�j��.��d��&��r
c�X�|j�D]\}}|j||��yr)�items�mark_set)rrirqrrr6s     r�	set_markszCommand.set_marks�s$�� �;�;�=�K�D�%��M�M�$��&�)r
r)rXrYrZr8rrfrLrWrTrNrsrwr[r
rr]r]�s1���D���
�
�
���'r
r]c�j�eZdZd	d�Zd�Zd�Zd�Zd�ZejejzdzZd�Zy)
r5Nc�6�tj||d||�yr�r]r)rr=r7r8s    rrzInsertCommand.__init__�s������v�t�U�D�9r
c���|j|�|_|j|j�|_|j	|jdd�r|jd�|_|j|j|j|j�|jd|jt|j�fz�|_	|j|�|_
y)N�>�end-1cz%s+%dc)rsr_r6r=�comparer9r7r8rFr>r`rhs  rrLzInsertCommand.do�s��� �O�O�D�1����j�j����-����<�<����S�(�3��*�*�X�.�D�K����D�K�K����T�Y�Y�7��j�j��T�[�[�#�d�j�j�/�,J�!J�K����?�?�4�0��r
c��|jd|j�|j|j|j|j�|j||j�|jd�y�Nr9)rvr=r9r7r8rwr`�seerhs  rrWzInsertCommand.redo�sP���
�
�h����,����D�K�K����T�Y�Y�7����t�T�-�-�.�����r
c���|jd|j�|j|j|j�|j	||j
�|j
d�yr�)rvr=r?r>rwr_r�rhs  rrTzInsertCommand.undo�sJ���
�
�h����,����D�K�K����-����t�T�.�.�/�����r
c��|j|jury|j|jk7ry|j|jk7ryt	|j
�dk7ry|j
r;|j
|j
d�|j
|j
�k7ry|j|_|j
|j
z|_y)NFr%r$T)rbr>r=r8rFr7�classifyrHs  rrNzInsertCommand.merge�s����>�>����.���;�;�#�*�*�$���9�9���� ���s�y�y�>�Q����:�:��=�=����B��(�D�M�M�#�)�)�,D�D���j�j����Z�Z�#�)�)�+��
�r
�_c�.�||jvry|dk(ryy)N�alphanumeric�
�newline�punctuation)r�)r�cs  rr�zInsertCommand.classifys ����!�!�!�!���9��r
r)
rXrYrZrrLrWrTrN�string�
ascii_letters�digitsr�r�r[r
rr5r5�s;��:�1���� �'�'�&�-�-�7�#�=�L�r
r5c�&�eZdZdd�Zd�Zd�Zd�Zy)r;Nc�6�tj|||dd�yrrzr<s   rrzDeleteCommand.__init__s������v�v�t�T�:r
c�D�|j|�|_|j|j�|_|jr!|j|j�|_n#|j|jdz�|_|j|jdd�r|jd�|_|j
|j|j�|_|j|j|j�|j|�|_	y)Nz +1cr|r})
rsr_r6r=r>r~�getr7r?r`rhs  rrLzDeleteCommand.dos��� �O�O�D�1����j�j����-����;�;��*�*�T�[�[�1�D�K��*�*�T�[�[�6�%9�:�D�K��<�<����S�(�3��*�*�X�.�D�K��X�X�d�k�k�4�;�;�7��
����D�K�K����-��?�?�4�0��r
c���|jd|j�|j|j|j�|j	||j
�|j
d�yr�)rvr=r?r>rwr`r�rhs  rrWzDeleteCommand.redosJ���
�
�h����,����D�K�K����-����t�T�-�-�.�����r
c���|jd|j�|j|j|j�|j	||j
�|j
d�yr�)rvr=r9r7rwr_r�rhs  rrTzDeleteCommand.undo$sJ���
�
�h����,����D�K�K����,����t�T�.�.�/�����r
r)rXrYrZrrLrWrTr[r
rr;r;s��;�1��r
r;c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d
d�Z
y	)rBc� �g|_d|_yrA)�cmds�depthr
s rrzCommandSequence.__init__0s����	���
r
c��|jj}g}|jD]}|jd|����|dzdj	|�zdzS)Nz    z(
z,
z
))rbrXr�rM�join)rrd�strsrIs    rrfzCommandSequence.__repr__4sS���N�N�#�#�����9�9�C��K�K�$�s�g��'���5�y�5�:�:�d�+�+�e�3�3r
c�,�t|j�Sr)rFr�r
s r�__len__zCommandSequence.__len__;s���4�9�9�~�r
c�:�|jj|�yr)r�rMrHs  rrMzCommandSequence.append>s���	�	����r
c� �|j|Sr)r�)r�is  rrGzCommandSequence.getcmdAs���y�y��|�r
c�H�|jD]}|j|��yr)r�rW)rrirIs   rrWzCommandSequence.redoDs���9�9�C��H�H�T�N�r
c�r�|jdd}|j�|D]}|j|��yr)r��reverserT)rrir�rIs    rrTzCommandSequence.undoHs-���y�y��|�������C��H�H�T�N�r
c�B�|j|z|_|jSr)r�)r�incrs  rrCzCommandSequence.bump_depthNs���Z�Z�$�&��
��z�z�r
N)r%)rXrYrZrrfr�rMrGrWrTrCr[r
rrBrB,s*���4������r
rBc�J�
�ddlm}m}m}ddlm}||�}|j
d�tt|j�jd�dd�\}}|jd||dzfz�||d	�
�}|j�|j�||�}	t��
|	j�
�||d�
fd��
�}
|
jd��||d�
fd��
�}|jd��||d�
fd��
�}|jd��y)Nr)�Toplevel�Text�Button)�
PercolatorzTest UndoDelegator�+r%z+%d+%d��
)�height�Undoc�&���jd�Sr)r��ds�r�<lambda>z!_undo_delegator.<locals>.<lambda>b����1�<�<��3Er
)ri�command�left)�side�Redoc�&���jd�Sr)rr�s�rr�z!_undo_delegator.<locals>.<lambda>dr�r
�Dumpc�&���jd�Sr)rr�s�rr�z!_undo_delegator.<locals>.<lambda>fr�r
)�tkinterr�r�r��idlelib.percolatorr��title�map�int�geometry�split�pack�	focus_setr�insertfilter)�parentr�r�r�r��top�x�yri�prTrW�dumpr�s             @r�_undo_delegatorr�Ss����.�.�-�
�6�
�C��I�I�"�#��s�F�O�O�%�+�+�C�0���4�5�D�A�q��L�L��Q��C��L�(�)���B��D��I�I�K��N�N���4��A���A��N�N�1���#�F�,E�F�D��I�I�6�I���#�F�,E�F�D��I�I�6�I���#�F�,E�F�D��I�I�6�I�r
�__main__)�mainzidlelib.idle_test.test_undo�F)�	verbosity�exit)�run)r��idlelib.delegatorrrr]r5r;rBr�rX�unittestr��idlelib.idle_test.htestr�r[r
r�<module>r�s{��
�'�$J�I�J�Z*'�*'�Z6�G�6�r �G� �H$�g�$�N�.�z����	&�!�%�@�+����r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists