Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.133.154.197
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : undo.cpython-311.pyc
�

Tf+���ddlZddlmZGd�de��ZGd�d��ZGd�de��ZGd	�d
e��ZGd�de��Zd
�Ze	dkr'ddl
mZeddd���ddlm
Z
e
e��dSdS)�N)�	Delegatorc�z�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dZ
d	�Zd
Zd�Z
dd�Zdd
�Zd�Zd�Zdd�Zd�Zd�ZdS)�
UndoDelegatori�c�V�tj|��|���dS�N)r�__init__�
reset_undo��selfs �5/usr/local/python-3.11/lib/python3.11/idlelib/undo.pyrzUndoDelegator.__init__s)����4� � � ���������c�f�|j�?|�d��|�d��|�d��tj||��|�S|�d|j��|�d|j��|�d|j��dSdS)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�2�2��I�I�j�$�/�2�2�2��I�I�+�T�_�=�=�=�=�=� �r
c�T�ddlm}||jd|j���td|jd���td|jd���td|jd���td|�����||j|jd���d	S)
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(s���!�!�!�!�!�!���t�}�]�d�l�]�+�,�,�,�
�j�$�,�C�0�0�0�0�
�h��
��,�,�,�,�
�l�D�N��4�4�4�4�
�n�d�n�n�.�.�/�/�/���t�}�T�\�]�]�+�,�,�,��wr
c�h�d|_d|_g|_d|_|�d��dS�N���r�)�	was_savedrr�	undoblock�	set_savedr
s rr	zUndoDelegator.reset_undo2s6����������
�������q�����r
c�h�|r
|j|_nd|_d|_|���dS)Nr$F)rrr�check_saved)r�flags  rr(zUndoDelegator.set_saved9s;���	���D�J�J��D�J�����������r
c�"�|j|jkSr)rrr
s rr zUndoDelegator.get_savedAs���z�T�\�)�)r
Nc��||_dSr)�saved_change_hook)r�hooks  r�set_saved_change_hookz#UndoDelegator.set_saved_change_hookFs��!%����r
r$c��|���}||jkr$||_|jr|���dSdSdSr)r r&r.)r�is_saveds  rr*zUndoDelegator.check_savedKsZ���>�>�#�#���t�~�%�%�%�D�N��%�
)��&�&�(�(�(�(�(�&�%�
)�
)r
c�N�|�t|||����dSr)�addcmd�
InsertCommand)r�index�chars�tagss    r�insertzUndoDelegator.insertRs&�����M�%���5�5�6�6�6�6�6r
c�L�|�t||����dSr)r4�
DeleteCommand�r�index1�index2s   r�deletezUndoDelegator.deleteUs$�����M�&�&�1�1�2�2�2�2�2r
c�t�|jdkrt��|_|j���dS�Nr)r'�CommandSequence�
bump_depthr
s r�undo_block_startzUndoDelegator.undo_block_startcs6���>�Q���,�.�.�D�N���!�!�#�#�#�#�#r
c��|j�d��dkra|j}d|_t|��dkrBt|��dkr|�d��}|�|d��dSdSdSr#)r'rC�len�getcmdr4�r�cmds  r�undo_block_stopzUndoDelegator.undo_block_stophs����>�$�$�R�(�(�A�-�-��.�C��D�N��3�x�x�!�|�|��s�8�8�q�=�=��*�*�Q�-�-�C����C��#�#�#�#�#�.�-��|r
Tc�J�|r|�|j��|jdkr|j�|��dS|jr7|jdkr,|j|jdz
}|�|��rdS|g|j|jd�<|j|jkrd|_|jdz|_t|j��|j
kr1|jd=|jdz
|_|jdkr|jdz
|_d|_|���dS)Nrr%r$T)�dorr'�appendrrr�mergerrF�max_undor*)rrI�execute�lastcmds    rr4zUndoDelegator.addcmdts%���	"��F�F�4�=�!�!�!��>�Q����N�!�!�#�&�&�&��F��>�	�d�l�Q�.�.��m�D�L��N�3�G��}�}�S�!�!�
���(+�u��
�d�l�m�m�$��:���$�$��D�J��|�a�'����t�}����
�-�-��
�a� ��<�!�+�D�L��z�Q���!�Z�!�^��
�����������r
c��|jdkr|���dS|j|jdz
}|�|j��|jdz
|_d|_|���dS)Nrrr%F)r�bellr�undorrr*�rr!rIs   rrzUndoDelegator.undo_event�st���<�1����I�I�K�K�K��7��m�D�L�1�,�-�����������|�a�'�������������wr
c��|jt|j��kr|���dS|j|j}|�|j��|jdz|_d|_|���dS)Nrr%F)rrFrrS�redorrr*rUs   rrzUndoDelegator.redo_event�sy���<�3�t�}�-�-�-�-��I�I�K�K�K��7��m�D�L�)�����������|�a�'�������������wr
r)T)�__name__�
__module__�__qualname__rOrrrr	r(r r.r0r&r*r9r?rDrJr4rr�r
rrrs�������H����	>�	>�	>����������*�*�*���&�&�&��I�)�)�)�7�7�7�7�3�3�3�3�$�$�$�

$�
$�
$�����.	�	�	�	�	�	�	�	r
rc�D�eZdZdZd
d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZdS)�CommandNc�b�i|_i|_||_||_||_|r	||_dSdSr)�marks_before�marks_afterr=r>r7r8)rr=r>r7r8s     rrzCommand.__init__�sD����������������
��	��D�I�I�I�	�	r
c��|jj}|j|j|j|jf}|j�
|dd�}|t
|��zS)Nr$)�	__class__rXr=r>r7r8�repr)r�s�ts   r�__repr__zCommand.__repr__�sG���N�#��
�[�$�+�t�z�4�9�=���9���#�2�#��A��4��7�7�{�r
c��dSrr[�r�texts  rrLz
Command.do�����r
c��dSrr[rhs  rrWzCommand.redo�rjr
c��dSrr[rhs  rrTzCommand.undo�rjr
c��dSrAr[rHs  rrNz
Command.merge�s���qr
c��i}|���D]&}|dkr|dkr|�|��||<�'|S)Nr9�current)�
mark_namesr6)rri�marks�names    r�
save_markszCommand.save_marks�sP�����O�O�%�%�	/�	/�D��x���D�I�$5�$5�"�j�j��.�.��d����r
c�f�|���D]\}}|�||���dSr)�items�mark_set)rrirqrrr6s     r�	set_markszCommand.set_marks�s>�� �;�;�=�=�	'�	'�K�D�%��M�M�$��&�&�&�&�	'�	'r
r)rXrYrZr8rrfrLrWrTrNrsrwr[r
rr]r]�s��������D��������
�
�
�
�
�
�
�
�
�������'�'�'�'�'r
r]c�X�eZdZd	d�Zd�Zd�Zd�Zd�Zej	ej
zdzZd�ZdS)
r5Nc�B�t�||d||��dSr�r]r)rr=r7r8s    rrzInsertCommand.__init__�s$������v�t�U�D�9�9�9�9�9r
c���|�|��|_|�|j��|_|�|jdd��r|�d��|_|�|j|j|j��|�d|jt|j��fz��|_	|�|��|_
dS)N�>�end-1cz%s+%dc)rsr_r6r=�comparer9r7r8rFr>r`rhs  rrLzInsertCommand.do�s��� �O�O�D�1�1����j�j���-�-����<�<���S�(�3�3�	/��*�*�X�.�.�D�K����D�K���T�Y�7�7�7��j�j��T�[�#�d�j�/�/�,J�!J�K�K����?�?�4�0�0����r
c���|�d|j��|�|j|j|j��|�||j��|�d��dS�Nr9)rvr=r9r7r8rwr`�seerhs  rrWzInsertCommand.redo�sc���
�
�h���,�,�,����D�K���T�Y�7�7�7����t�T�-�.�.�.���������r
c���|�d|j��|�|j|j��|�||j��|�d��dSr�)rvr=r?r>rwr_r�rhs  rrTzInsertCommand.undo�s_���
�
�h���,�,�,����D�K���-�-�-����t�T�.�/�/�/���������r
c�l�|j|jurdS|j|jkrdS|j|jkrdSt	|j��dkrdS|jr>|�|jd��|�|j��krdS|j|_|j|jz|_dS)NFr%r$T)rbr>r=r8rFr7�classifyrHs  rrNzInsertCommand.merge�s����>���.�.��5��;�#�*�$�$��5��9��� � ��5��s�y�>�>�Q����5��:�	��=�=���B��(�(�D�M�M�#�)�,D�,D�D�D��5��j����Z�#�)�+��
��tr
�_c�,�||jvrdS|dkrdSdS)N�alphanumeric�
�newline�punctuation)r�)r�cs  rr�zInsertCommand.classifys(����!�!�!�!�>���9�9��9��}r
r)
rXrYrZrrLrWrTrN�string�
ascii_letters�digitsr�r�r[r
rr5r5�s�������:�:�:�:�1�1�1���������� �'�&�-�7�#�=�L�����r
r5c�(�eZdZdd�Zd�Zd�Zd�ZdS)r;Nc�B�t�|||dd��dSrrzr<s   rrzDeleteCommand.__init__s$������v�v�t�T�:�:�:�:�:r
c�4�|�|��|_|�|j��|_|jr |�|j��|_n"|�|jdz��|_|�|jdd��r|�d��|_|�|j|j��|_|�|j|j��|�|��|_	dS)Nz +1cr|r})
rsr_r6r=r>r~�getr7r?r`rhs  rrLzDeleteCommand.dos��� �O�O�D�1�1����j�j���-�-����;�	;��*�*�T�[�1�1�D�K�K��*�*�T�[�6�%9�:�:�D�K��<�<���S�(�3�3�	/��*�*�X�.�.�D�K��X�X�d�k�4�;�7�7��
����D�K���-�-�-��?�?�4�0�0����r
c���|�d|j��|�|j|j��|�||j��|�d��dSr�)rvr=r?r>rwr`r�rhs  rrWzDeleteCommand.redos_���
�
�h���,�,�,����D�K���-�-�-����t�T�-�.�.�.���������r
c���|�d|j��|�|j|j��|�||j��|�d��dSr�)rvr=r9r7rwr_r�rhs  rrTzDeleteCommand.undo$s_���
�
�h���,�,�,����D�K���,�,�,����t�T�.�/�/�/���������r
r)rXrYrZrrLrWrTr[r
rr;r;sU������;�;�;�;�1�1�1��������r
r;c�@�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dd	�Z
d
S)rBc�"�g|_d|_dSrA)�cmds�depthr
s rrzCommandSequence.__init__0s����	���
�
�
r
c��|jj}g}|jD]}|�d|�����|dzd�|��zdzS)Nz    z(
z,
z
))rbrXr�rM�join)rrd�strsrIs    rrfzCommandSequence.__repr__4s]���N�#�����9�	(�	(�C��K�K��s���'�'�'�'��5�y�5�:�:�d�+�+�+�e�3�3r
c�*�t|j��Sr)rFr�r
s r�__len__zCommandSequence.__len__;s���4�9�~�~�r
c�:�|j�|��dSr)r�rMrHs  rrMzCommandSequence.append>s���	��������r
c��|j|Sr)r�)r�is  rrGzCommandSequence.getcmdAs���y��|�r
c�D�|jD]}|�|���dSr)r�rW)rrirIs   rrWzCommandSequence.redoDs.���9�	�	�C��H�H�T�N�N�N�N�	�	r
c��|jdd�}|���|D]}|�|���dSr)r��reverserT)rrir�rIs    rrTzCommandSequence.undoHsH���y����|���������	�	�C��H�H�T�N�N�N�N�	�	r
r%c�.�|j|z|_|jSr)r�)r�incrs  rrCzCommandSequence.bump_depthNs���Z�$�&��
��z�r
N)r%)rXrYrZrrfr�rMrGrWrTrCr[r
rrBrB,s����������4�4�4���������������������r
rBc���
�ddlm}m}m}ddlm}||��}|�d��tt|�	���
d��dd���\}}|�	d||dzfz��||d	�
��}|���|���||��}	t���
|	��
��||d�
fd��
��}
|
�d���||d�
fd��
��}|�d���||d�
fd��
��}|�d���dS)Nr)�Toplevel�Text�Button)�
PercolatorzTest UndoDelegator�+r%z+%d+%d��
)�height�Undoc�.����d��Sr)r��ds�r�<lambda>z!_undo_delegator.<locals>.<lambda>b����1�<�<��3E�3E�r
)ri�command�left)�side�Redoc�.����d��Sr)rr�s�rr�z!_undo_delegator.<locals>.<lambda>dr�r
�Dumpc�.����d��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�0����4�5�5�D�A�q��L�L��Q��C��L�(�)�)�)��4��B����D��I�I�K�K�K��N�N�����
�4���A����A��N�N�1�����6�#�F�,E�,E�,E�,E�F�F�F�D��I�I�6�I�����6�#�F�,E�,E�,E�,E�F�F�F�D��I�I�6�I�����6�#�F�,E�,E�,E�,E�F�F�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�ss��
�
�
�
�'�'�'�'�'�'�$J�J�J�J�J�I�J�J�J�Z*'�*'�*'�*'�*'�*'�*'�*'�Z6�6�6�6�6�G�6�6�6�r � � � � �G� � � �H$�$�$�$�$�g�$�$�$�N���.�z����������D�	&�!�%�@�@�@�@�+�+�+�+�+�+��C��������r
© 2025 GrazzMean