403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.220
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python313/Lib/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python313/Lib/idlelib/__pycache__/sidebar.cpython-313.opt-1.pyc
�

��i�Q��L�SrSSKrSSKrSSKrSSKrSSKJr SSKJ	r	 SSK
Jr SSKJ
r
 SrSrS	rS
r\R$S5r"SS
5r"SS\5r"SS\5r"SS\5r"SS\5rSr\S:XaSSKJr \"SSSS9 SSKJr \"\5 gg)z�Line numbering implementation for IDLE as an extension.
Includes BaseSideBar which can be extended for other sidebar based extensions
�N)�Font)�idleConf)�	Delegator)�macosxc�^�URU5nU(a[[U55$S$)z7Return the line number of an index in a Tk text widget.N)�index�int�float)�textr�
text_indexs   �$C:\Python313\\Lib\idlelib\sidebar.py�
get_linenors'�����E�"�J�%/�3�u�Z� �!�9�T�9�c��[US5$)z7Return the number of the last line in a Tk text widget.zend-1c)r�rs r
�get_end_linenumberrs���d�H�%�%rc�2�URUS3US3SSS9$)z@Display height, in lines, of a logical line in a Tk text widget.z
 linestartz lineend�displaylinesT)�return_ints)�count)rrs  r
�get_displaylinesrs0���:�:���z�*���x�(�$�$��8�8rc
���UR5nUS:XaUR5nO%US:XaUR5nO[SU35e[	[URRUSURS5URS5/55n[	[URRUSURS5URS5/55nX44$)z;Get the total padding of a Tk widget, including its border.�pack�gridzUnsupported geometry manager: �padx�border�pady)	�
winfo_manager�	pack_info�	grid_info�
ValueError�sum�map�tk�getint�cget)�widget�manager�inforrs     r
�get_widget_paddingr* s����"�"�$�G��&�����!��	�F�	����!���9�'��C�D�D��s�6�9�9�#�#��V�����F�����H��&���D�
�s�6�9�9�#�#��V�����F�����H��&���D�
�:�rc#��# �UR[RS9 Sv� UR[RS9 g!UR[RS9 f=f7f)N��state)�	configurer$�NORMAL�DISABLEDrs r
�temp_enable_text_widgetr1:sC����N�N����N�#�*�
����R�[�[��)�����R�[�[��)�s�A%�A�A%�A"�"A%c�f�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrg)�BaseSideBar�Cz%A base class for sidebars using Text.c���XlURUlURUlSUlUR5UlUR5 UR5 UR5 g�NF)
�editwin�
text_frame�parentr�is_shown�init_widgets�main_widget�bind_events�update_font�
update_colors)�selfr7s  r
�__init__�BaseSideBar.__init__Es[�����(�(����L�L��	���
��,�,�.��������������rc��[e)z<Initialize the sidebar's widgets, returning the main widget.��NotImplementedError�r@s r
r;�BaseSideBar.init_widgetsS���!�!rc��[e)�;Update the sidebar text font, usually after config changes.rDrFs r
r>�BaseSideBar.update_fontWrHrc��[e)�=Update the sidebar text colors, usually after config changes.rDrFs r
r?�BaseSideBar.update_colors[rHrc��[e)z,Layout the widget, always using grid layout.rDrFs r
r�BaseSideBar.grid_rHrc�V�UR(dUR5 SUlgg)NT)r:rrFs r
�show_sidebar�BaseSideBar.show_sidebarcs���}�}��I�I�K� �D�M�rc�j�UR(a"URR5 SUlggr6)r:r<�grid_forgetrFs r
�hide_sidebar�BaseSideBar.hide_sidebarhs'���=�=����(�(�*�!�D�M�rc��[e)z8Hook for vertical scrolling for sub-classes to override.rD�r@�args�kwargss   r
�
yscroll_event�BaseSideBar.yscroll_eventmrHrc�l�URRR"U6 UR"U0UD6$)�]Redirect vertical scrolling to the main editor text widget.

The scroll bar is also updated.
)r7�vbar�setr\rYs   r
�redirect_yscroll_event�"BaseSideBar.redirect_yscroll_eventqs2��
	
�������t�$��!�!�4�2�6�2�2rc�8�URR5 g)z8Redirect focus-in events to the main editor text widget.�break)r�	focus_set�r@�events  r
�redirect_focusin_event�"BaseSideBar.redirect_focusin_eventys���	�	����rc��URR5 URRUSURS9 g)z<Redirect mouse button events to the main editor text widget.r��x�yre)rrf�event_generatern)r@rh�
event_names   r
�redirect_mousebutton_event�&BaseSideBar.redirect_mousebutton_event~s2���	�	�����	�	� � ��q�E�G�G� �<�rc�d�URRSSURURS9 g)z7Redirect mouse wheel events to the editwin text widget.�<MouseWheel>r)rmrn�deltare)rrornrurgs  r
�redirect_mousewheel_event�%BaseSideBar.redirect_mousewheel_event�s.���	�	� � ��#$����u�{�{�	!�	D�rc�^^	^
^^^
�TRTRS'TRRSTR5 TRRSTR
5 U4SjnSH?nSUS3SUS3S	US
34H	nU"X3S9 M SUS3S
US34HnU"USUS3S9 M MA SmSmSm	UU4Sjm
U
UUU4SjnTRRSU5 UUU4SjnTRRSU5 U
U4SjnTRRSU5 U	U
UUU
4Sjm
U	UUU
4SjnTRRSU5 U	U4SjnTRRSU5 g)N�yscrollcommandz	<FocusIn>rtc�z>�[R"TRUS9nTRR	X5 g)N)rp)�	functools�partialrqr<�bind)rp�target_event_name�handlerr@s   �r
�bind_mouse_event�1BaseSideBar.bind_events.<locals>.bind_mouse_event�s3����'�'��(G�(G�3D�F�G����!�!�*�6r)����z<Button-�>z<ButtonRelease-z<Bz-Motion>)r~z<Double-Button-z<Triple-Button-c�.>�[TRSU35n[TU/5up#TRRSSS5 TRR	SUS3US-S35 TRRSX:XaUOUS-S35 g)	z6Helper function for drag and selection event handlers.�@0,�sel�1.0�endz.0��insertN)rr�sorted�
tag_remove�tag_add�mark_set)�y_coord�lineno�a�br@�
start_lines    ��r
�%drag_update_selection_and_insert_mark�FBaseSideBar.bind_events.<locals>.drag_update_selection_and_insert_mark�s������	�	�S��	�?�;�F��:�v�.�/�D�A��I�I� � ���u�5��I�I���e��s�"�X�!�A�#��b�z�:��I�I���x�,2�K�&�V�a�Z�!H��K�
Mrc�>�[[TRRSUR3555mURmT"UR5 g)Nr�)r	r
rrrn)rhr��last_yr@r�s ����r
�b1_mousedown_handler�5BaseSideBar.bind_events.<locals>.b1_mousedown_handler�s@����U�4�9�9�?�?�S����	�?�#C�D�E�J��W�W�F�1�%�'�'�:rz
<Button-1>c�X>�SmSmTRRSSURS9 g)N�<ButtonRelease-1>rrl)rrorn)rhr�r@r�s ���r
�b1_mouseup_handler�3BaseSideBar.bind_events.<locals>.b1_mouseup_handler�s-���
�J��F��I�I�$�$�%8�A����$�Irr�c�J>�TcgURmT"UR5 g�N)rn)rhr�r�s ��r
�b1_drag_handler�0BaseSideBar.bind_events.<locals>.b1_drag_handler�s ����~���W�W�F�1�%�'�'�:rz<B1-Motion>c�>�TnUcTRRT5 SmgUS:a(TRRSU-S5 T"U5 O`UTRR	5:�aBTRRSU-TRR	5-
S5 T"U5 TRRST5mg)z6Mimic Text auto-scrolling when dragging outside of it.Nr����pixelsr��2)r<�after_cancelr�yview_scroll�winfo_height�after)rn�auto_scrolling_after_idr�r�r@�text_auto_scrolls �����r
r��1BaseSideBar.bind_events.<locals>.text_auto_scroll�s�����A��y�� � �-�-�.E�F�*.�'���Q���	�	�&�&�r�A�v�x�8�5�a�8��T�%�%�2�2�4�4��	�	�&�&�q�1�u�t�/?�/?�/L�/L�/N�'N�'/�1�5�a�8�� � �&�&�r�+;�<�
$rc�^>�Tc)URmTRRST5mgg)Nr)rnr<r�)rhr�r�r@r�s ����r
�b1_leave_handler�1BaseSideBar.bind_events.<locals>.b1_leave_handler�s5���'�.������$�$�*�*�1�.>�?�(�/rz
<B1-Leave>c�H>�TbTRRT5 Smggr�)r<r�)rhr�r@s ��r
�b1_enter_handler�1BaseSideBar.bind_events.<locals>.b1_enter_handlers+���'�2�� � �-�-�.E�F�*.�'�3rz
<B1-Enter>)rbrr<r}rirv)r@r��buttonrpr�r�r�r�r�r�r�r�r�r�s`        @@@@@r
r=�BaseSideBar.bind_events�s����&*�&A�&A��	�	�"�#�	
�����k�4�+F�+F�G�	
�����n�d�.L�.L�M�	7�
#�F�!)�&���3�!0����:�!#�F�8�8�4�!�
�!��J�	!�"1����:�!0����:�!�
�!��5=�f�X�Q�3G�I�!�#�"�
���#'��	M�	;�	;�	
�����l�,@�A�	J�	
�����1�3E�F�	;�	
�����m�_�=�	=�	=�&	@�	@�	
�����l�,<�=�	/�	
�����l�,<�=r)r7r:r<r9rN)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rAr;r>r?rrRrVr\rbrirqrvr=�__static_attributes__�rr
r3r3CsG��/��"�"�"�"�!�
"�
"�3��
��|>rr3c�2�\rSrSrSrSrSSjrSSjrSrg)	�EndLineDelegatori	zuGenerate callbacks with the current end line number.

The provided callback is called after every insert and delete.
c�<�[R"U5 Xlgr�)rrA�changed_callback)r@r�s  r
rA�EndLineDelegator.__init__s�����4� � 0�rNc��URRXU5 UR[UR55 gr�)�delegater�r�r)r@r�chars�tagss    r
r��EndLineDelegator.inserts.���
�
���U�4�0����0����?�@rc��URRX5 UR[UR55 gr�)r��deleter�r)r@�index1�index2s   r
r��EndLineDelegator.deletes,���
�
���V�,����0����?�@r)r�r�)	r�r�r�r�r�rAr�r�r�r�rr
r�r�	s���1�A�Arr�c�P^�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rS
rU=r
$)�LineNumbersiz(Line numbers support for editor windows.c�>�[TU]U5 [UR5nURR
R
UURRS9 g)N�r�)�superrAr��update_sidebar_textr7�per�insertfilterafter�undo)r@r7�end_line_delegator�	__class__s   �r
rA�LineNumbers.__init__sQ���
����!�-�d�.F�.F�G��	
�����*�*�+=�15���1B�1B�	+�	Drc
��[UR5up[R"URS[R
SUSSS9UlURR[RS9 SUl	[URS5Ul[UR5 URRSSS	5 SSS5 URRS
S
S9 URRS	[RS9 [!UR5nUR#U5 UR$!,(df   N�=f)
Nr�r�r)�width�wraprr�borderwidth�highlightthicknessr,r�r��1�
linenumberF)�	takefocus�exportselection)�justify)r*rr$�Textr9�NONE�sidebar_text�configr0�prev_end�type�_sidebar_width_typer1r��
tag_config�RIGHTrr�)r@�_padxrr�s    r
r;�LineNumbers.init_widgets&s
��(����3����G�G�D�K�K�q�r�w�w�)*��01�a�I���	
��� � �r�{�{� �3���
�#'��(9�(9�'�(B�#C�� �
$�T�%6�%6�
7����$�$�X�s�L�A�8���� � �5�%� �H����$�$�\�2�8�8�$�D� ����+��� � ��%�� � � �8�
7�s�/E	�	
Ec�V�URRSS[RS9 g)Nr�r��row�column�sticky)r�rr$�NSEWrFs r
r�LineNumbers.grid9s!�������1�Q�r�w�w��?rc�d�[R"URSS5nXRS'g)N�main�EditorWindow�font)r�GetFontrr�)r@r�s  r
r>�LineNumbers.update_font<s(������	�	�6�>�B��$(���&�!rc��[R"[R"5S5nUSnUSnURR	X#X#US9 g)rMr��
foreground�
background)�fg�bg�selectforeground�selectbackground�inactiveselectbackgroundN)r�GetHighlight�CurrentThemer�r�)r@�colorsr�r�s    r
r?�LineNumbers.update_colors@sS���&�&�x�'<�'<�'>��M���L�)�
��L�)�
���� � ��'�%/�	!�	
rc���XR:Xag[[U55[[UR55-
nU(aC[[	UR
S55nX2-nUR
U5UR
S'[UR
5 XR:�amSR[R"S/[[[URS-US-5555nUR
RSUS5 O"UR
RUS-S3S5 SSS5 Xlg!,(df   N=f)	z�
Perform the following action:
Each line sidebar_text contains the linenumber for that line
Synchronize with editwin.text so that both sidebar_text and
editwin.text contain the same number of linesNr��
�r�zend -1cr�z.0 -1c)r��len�strr	r
r�r�r1�join�	itertools�chainr#�ranger�r�)r@r��width_difference�	cur_width�	new_width�new_texts      r
r��LineNumbers.update_sidebar_textKs���-�-����s�3�x�=�3�s�4�=�=�/A�+B�B����E�$�"3�"3�G�"<�=�>�I�!�4�I�)-�)A�)A�)�)L�D���g�&�
$�T�%6�%6�
7��]�]�"��9�9�Y�_�_��D���U�4�=�=�1�#4�c�A�g�>�?�&����!�!�(�(�7�X�|�L��!�!�(�(�C��E�7�&�)9�9�E�8��
�8�
7�s
�#BE�
Ec�@�URRUS5 g)Nrre)r��yview_movetorYs   r
r\�LineNumbers.yscroll_eventfs�����&�&�t�A�w�/�r)r�r�r�)r�r�r�r�r�rAr;rr>r?r�r\r��
__classcell__�r�s@r
r�r�s0���2�D�!�&@�)�	
��6�rr�c�.�\rSrSrSrSSjrSSjrSrg)� WrappedLineHeightChangeDelegatorikc�<�[R"U5 Xlg)z�
callback - Callable, will be called when an insert, delete or replace
           action on the text widget may require updating the shell
           sidebar.
N)rrA�callback)r@rs  r
rA�)WrappedLineHeightChangeDelegator.__init__ls��	���4� � �
rNc��SU;nU(a[X5nURRXU5 U(a[X5nUW:XagUR5 g)Nr	)rr�r�r)r@rr�r��is_single_line�before_displaylines�after_displayliness       r
r��'WrappedLineHeightChangeDelegator.insertusQ���U�*���"2�4�"?���
�
���U�4�0��!1�$�!>��!�%8�8���
�
�rc���UcUS-n[X5[X5:HnU(a[X5nURRX5 U(a[X5nUW:XagUR	5 g)Nz+1c)rrr�r�r)r@r�r�r!r"r#s      r
r��'WrappedLineHeightChangeDelegator.delete�sg���>��e�^�F�#�D�1�Z��5M�M���"2�4�"@���
�
���V�,��!1�$�!?��!�%8�8���
�
�r)rr�)r�r�r�r�rAr�r�r�r�rr
rrks��!��rrc�h^�\rSrSrSrU4SjrSrU4SjrSrSr	Sr
S	rS
rSr
SrS
rU=r$)�ShellSidebari�z0Sidebar for the PyShell window, for prompts etc.c�>�SUl0Ul[TU]
U5 [	UR
5nURRRnURURLahURURRRLa;URnURURRRLaM;URRRX#S9 SUl
g)Nr�T)�canvas�line_promptsr�rAr�change_callbackr7r��topr�r�bottomr�r:)r@r7�change_delegator�dr�s    �r
rA�ShellSidebar.__init__�s����������
����!�
-�T�-A�-A�B�	�
�L�L��� � ���:�:�T�Y�Y�&��*�*�D�L�L�$4�$4�$;�$;�;��J�J���*�*�D�L�L�$4�$4�$;�$;�;������*�*�+;�*�E���
rc��[R"URSSSSS9UlUR	5 UR5 UR$)N�rF)r�r�r�r�)r$�Canvasr9r*�update_sidebarrrFs r
r;�ShellSidebar.init_widgets�sC���i�i����2�,-�!�*/�1���	
�����	�	���{�{�rc�>�[TU]5 URR[R
"5(aSOSUR5 g)Nz
<Button-2>z
<Button-3>)r�r=r<r}r�isAquaTk�context_menu_event)r@r�s �r
r=�ShellSidebar.bind_events�s<���
���������"�O�O�-�-�L�<��#�#�	
rc�f^�[R"TRSS9n[TRRSS55nU4SjnUR
SU"S5U(aSOS	S
9 UR
SU"S5U(aSOS	S
9 URURUR5 g
)Nr)�tearoffr�r�c�>^�UU4Sj$)Nc�:>�TRRT5$r�)rro��	eventnamer@s��r
�<lambda>�@ShellSidebar.context_menu_event.<locals>.mkcmd.<locals>.<lambda>�s���4�9�9�3�3�I�>rr�r?s`�r
�mkcmd�.ShellSidebar.context_menu_event.<locals>.mkcmd�s	���>�>r�Copyz<<copy>>�normal�disabled)�label�commandr-zCopy with promptsz<<copy-with-prompts>>re)
r$�Menur<�boolr�
tag_nextrange�add_command�tk_popup�x_root�y_root)r@rh�rmenu�
has_selectionrCs`    r
r9�ShellSidebar.context_menu_event�s��������(�(�!�4���T�Y�Y�4�4�U�E�B�C�
�	?�
����"'�
�"3�,9��z�	�	K�	��� 3�"'�(?�"@�,9��z�	�	K�	���u�|�|�U�\�\�2�rc�Z�URRSS[RSSS9 g)Nr�rr�)r�r�r�rr)r*rr$r�rFs r
r�ShellSidebar.grid�s#�������Q�q����q�q��Irc�H�UR(aUR5 ggr�)r:r5rFs r
r,�ShellSidebar.change_callback�s���=�=����!�rc	�v�URnURnURn0=o@lUR	[
R5 URS5nURSS5SS:waURUS35nURU5=nb�USnU"US35nSU;aSO	S	U;aS
OSn	U	(aHURSU[
RU	URURSS
9 [X5n
X�U
'URUS35nURU5=nbM�gg)Nz@0,0�.r��0z+1line linestartz linestart -1c�consolez>>>�stdinz...r�r)�anchorrr��fillz+1line)r�	tag_namesr*r+r�r$�ALLr�split�	dlineinfo�create_text�NWr�rr)r@r�
text_tagnamesr*r+r�lineinforn�prev_newline_tagnames�promptr�s           r
r5�ShellSidebar.update_sidebar�s4���y�y�����
�����+-�-��(��
�
�b�f�f���
�
�6�"���;�;�s�A��q�!�S�(��J�J�%��(8�9�:�E��>�>�%�0�0�x�=����A�$1�U�G�>�2J�$K�!�"�&;�;�� �$9�9���
�
��"�"�1�a����F�(,�	�	����A��#�H�#�D�0��'-�V�$��J�J�%���/�0�E� �>�>�%�0�0�x�=rc�$�UR5 g)r_re)r,rYs   r
r\�ShellSidebar.yscroll_event�s��
	
����rc�^�[R"URSS5n[URUS9m[	U4SjS55nUR
R
US-S-S9 XlUR5 g	)
rJr�r�)r�c3�F># �UHnTRU5v� M g7fr�)�measure)�.0�char�tk_fonts  �r
�	<genexpr>�+ShellSidebar.update_font.<locals>.<genexpr>�s����F�:�4�����.�.�:�s�!)r�rYr�r�)r�N)	rr�rr�maxr*r.r�r,)r@r��
char_widthrqs   @r
r>�ShellSidebar.update_font�sj�������	�	�6�>�B���t�y�y�t�,���F�:�F�F�
������J��N�Q�$6��7��	����rc�"�[R"[R"5S5n[R"[R"5S5nUSnUSnX44UlURRUS9 UR
5 g)rMr�r[r�r�)r�N)rrrrr*r.r,)r@�linenumbers_colors�
prompt_colorsr�r�s     r
r?�ShellSidebar.update_colors�sx��%�2�2�8�3H�3H�3J�L�Y�� �-�-�h�.C�.C�.E�y�Q�
�"�<�0�
�'��5�
�!�.����������4����r)r*rr�r:r+)r�r�r�r�r�rAr;r=r9rr,r5r\r>r?r�rrs@r
r(r(�s>���:��$�
��J�"�1�4���rr(c
��SSKJn [R"U5n[R"U5nUR[R[RSS9 URSSS9 URSSS9 [R"USS5n[R"US	S
[RUS9nURSS[RS9 U"U5n[R "U5Ul[%U5nUR'5 UR)S
SR+S[-SS5555 g)Nr)�
Dummy_editwinT)�sider^�expandr�)�weightr�r��P�)r��heightr�r�r�r�r	c3�,# �UH
nSU-v� M g7f)r�Nr�)ro�is  r
rr�,_sidebar_number_scrolling.<locals>.<genexpr>s��� >�
�1��Q��
�s��e)�idlelib.idle_test.test_sidebarr|r$�Toplevel�Framer�LEFT�BOTH�rowconfigure�columnconfigurerr�r�r�rr��	Scrollbarr`r�rRr�r
r)r9r|r-r8r�rr7�linenumberss        r
�_sidebar_number_scrollingr�s���<�
�+�+�f�
�C����#��J��O�O����r�w�w�t�O�<����A�a��(����q���+����C���8�D�
�7�7�:�R�����t�L�D��I�I�!�A�b�g�g�I�.��D�!�G��<�<�
�+�G�L��g�&�K������K�K��t�y�y� >��a��
� >�>�?r�__main__)r�zidlelib.idle_test.test_sidebarr�F)�	verbosity�exit)�run)r��
contextlibr{r�tkinterr$�tkinter.fontr�idlelib.configr�idlelib.delegatorr�idlelibrrrrr*�contextmanagerr1r3r�r�rr(r�r��unittestr��idlelib.idle_test.htestr�r�rr
�<module>r�s���������#�'��:�&�
8��4���*��*�C>�C>�LA�y�A�$M�+�M�`&�y�&�Rm�;�m�`@�,�z����	)�Q�U�C�+��!�"�r

Youez - 2016 - github.com/yon3zu
LinuXploit