Sindbad~EG File Manager
�
&Μg+ � �� � d dl Z d dlmZ G d� de� Z G d� d� Z G d� de� Z G d � d
e� Z G d� de� Zd
� Ze dk( r d dl
mZ eddd�� d dlm
Z
e
e� yy)� N)� Delegatorc �x � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z dZ
d � Zd
Zd� Z
dd�Zdd
�Zd� Zd� Zdd�Zd� Zd� Zy)�
UndoDelegatori� c �N � t j | � | j � y �N)r �__init__�
reset_undo��selfs �)/usr/local/lib/python3.12/idlelib/undo.pyr zUndoDelegator.__init__ s � ����4� ����� c �\ � | j �3| j d� | j d� | j d� t j | |� |�U| j d| j
� | j d| j � | j d| j � y y )Nz<<undo>>z<<redo>>z<<dump-undo-state>>)�delegate�unbindr �setdelegate�bind�
undo_event�
redo_event�
dump_event)r r s r r zUndoDelegator.setdelegate s� � ��=�=�$��K�K�
�#��K�K�
�#��K�K�-�.����d�H�-����I�I�j�$�/�/�2��I�I�j�$�/�/�2��I�I�+�T�_�_�=� r
c �P � ddl m } || j d | j � t d| j d�� t d| j d�� t d| j
d�� t d| j
� � || j | j d � y )
Nr )�pprintzpointer:� )�endzsaved:z
can_merge:zget_saved():�break)r �undolist�pointer�print�saved� can_merge� get_saved)r �eventr s r r zUndoDelegator.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_savedr r � undoblock� set_savedr
s r r zUndoDelegator.reset_undo2 s* � ���������
�������q�r
c �h � |r| j | _ nd| _ d| _ | j � y )Nr$ F)r r r �check_saved)r �flags r r( zUndoDelegator.set_saved9 s* � �����D�J��D�J�������r
c �4 � | j | j k( S r )r r r
s r r zUndoDelegator.get_savedA s � ��z�z�T�\�\�)�)r
Nc � � || _ y r )�saved_change_hook)r �hooks r �set_saved_change_hookz#UndoDelegator.set_saved_change_hookF s
� �!%��r
r$ c � � | j � }|| j k7 r%|| _ | j r| j � y y y r )r r&