python (3.12.0)

(root)/
lib/
python3.12/
idlelib/
__pycache__/
sidebar.cpython-312.opt-2.pyc

̑eON	ddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZdZ
dZdZd	Zej"d
ZGddZGd
de
ZGddeZGdde
ZGddeZdZedk(r ddlmZedddddlmZeeyy)N)Font)idleConf)	Delegator)macosxcV	|j|}|rtt|SdSN)indexintfloat)textr	
text_indexs   C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/idlelib/sidebar.py
get_linenors*AE"J%/3uZ !9T9c	t|dS)Nzend-1c)rrs rget_end_linenumberrsAdH%%rcH	|j|d|dd}|r|dSdS)Nz
 linestartz lineenddisplaylinesr)count)rr	ress   rget_displaylinesrs<J
**wj)wh'#%C3q6arc
	|j}|dk(r|j}n$|dk(r|j}ntd|t	t|jj|d|jd|jdg}t	t|jj|d|jd|jdg}||fS)NpackgridzUnsupported geometry manager: padxborderpady)	
winfo_manager	pack_info	grid_info
ValueErrorsummaptkgetintcget)widgetmanagerinforrs     rget_widget_paddingr+!sE""$G&!	F	!9'CDDs699##VFH&D
s699##VFH&D
:rc#K|jtj	d|jtjy#|jtjwxYww)Nstate)	configurer%NORMALDISABLEDrs rtemp_enable_text_widgetr2;sDNNN#*
R[[)R[[)s!A.A	!A.	"A++A.c\eZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
Zy)BaseSideBarc||_|j|_|j|_d|_|j|_|j|j|jyNF)
editwin
text_frameparentris_showninit_widgetsmain_widgetbind_eventsupdate_font
update_colors)selfr7s  r__init__zBaseSideBar.__init__Fs]((LL	
,,.rc	trNotImplementedErrorr@s rr;zBaseSideBar.init_widgetsTsJ!!rc	trrCrEs rr>zBaseSideBar.update_fontXsI!!rc	trrCrEs rr?zBaseSideBar.update_colors\sK!!rc	trrCrEs rrzBaseSideBar.grid`s:!!rcL|js|jd|_yy)NT)r:rrEs rshow_sidebarzBaseSideBar.show_sidebards}}IIK DMrc`|jr"|jjd|_yyr6)r:r<grid_forgetrEs rhide_sidebarzBaseSideBar.hide_sidebaris'==((*!DMrc	trrCr@argskwargss   r
yscroll_eventzBaseSideBar.yscroll_eventnsF!!rcn	|jjj||j|i|Sr)r7vbarsetrRrOs   rredirect_yscroll_eventz"BaseSideBar.redirect_yscroll_eventrs;		t$!t!!42622rc:	|jjyNbreak)r	focus_setr@events  rredirect_focusin_eventz"BaseSideBar.redirect_focusin_eventzsF		rc	|jj|jj|d|jy)NrxyrY)rrZevent_generatera)r@r\
event_names   rredirect_mousebutton_eventz&BaseSideBar.redirect_mousebutton_events5J				  qEGG <rcl	|jjdd|j|jy)N<MouseWheel>r)r`radeltarY)rrbrargr[s  rredirect_mousewheel_eventz%BaseSideBar.redirect_mousewheel_events1E		  #$u{{	!	Drc	

jjd<jjdjjjdj
fd}dD]A}d|dd|dd	|d
fD]}|||d|dd
|dfD]}||d|dCddd	fd

fd}jjd|fd}jjd|
fd}jjd|	

fd
	
fd}jjd|	fd}jjd|y)Nyscrollcommandz	<FocusIn>rfctjj|}jj	||y)N)rc)	functoolspartialrdr<bind)rctarget_event_namehandlerr@s   rbind_mouse_eventz1BaseSideBar.bind_events.<locals>.bind_mouse_events5''(G(G3DFG!!*g6r)z<Button->z<ButtonRelease-z<Bz-Motion>)roz<Double-Button-z<Triple-Button-c2	tjd|}t|g\}}jjdddjj	d|d|dzdjjd||k(r|n|dzdy)N@0,sel1.0endz.0insert)rrsorted
tag_removetag_addmark_set)y_coordlinenoabr@
start_lines    r%drag_update_selection_and_insert_markzFBaseSideBar.bind_events.<locals>.drag_update_selection_and_insert_marksH		S	?;F:v./DAqII  u5IIes"X!A#bz:IIx,2aK&VaZ!HK
Mrcttjjd|j|j|jy)Nrx)r
rrr	ra)r\rlast_yr@rs rb1_mousedown_handlerz5BaseSideBar.bind_events.<locals>.b1_mousedown_handlers@U499??S	?#CDEJWWF1%'':rz
<Button-1>c^ddjjdd|jy)N<ButtonRelease-1>rr_)rrbra)r\rr@rs rb1_mouseup_handlerz3BaseSideBar.bind_events.<locals>.b1_mouseup_handlers-
JFII$$%8A$IrrcHy|j|jyr)ra)r\rrs rb1_drag_handlerz0BaseSideBar.bind_events.<locals>.b1_drag_handlers ~WWF1%'':rz<B1-Motion>c	}|jjdy|dkr(jjd|zd|n_|jj	kDrBjjd|zjj	z
d|jjdy)Nrpixelsr|2)r<after_cancelryview_scrollwinfo_heightafter)raauto_scrolling_after_idrrr@text_auto_scrolls rrz1BaseSideBar.bind_events.<locals>.text_auto_scrollsHAy  --.EF*.'Q		&&rAvx85a8T%%2244		&&q1ut/?/?/L/L/N'N'/15a8  &&r+;<
$rc\)|jjjdyy)Nr)rar<r)r\rrr@rs rb1_leave_handlerz1BaseSideBar.bind_events.<locals>.b1_leave_handlers5'.$$**1.>?(/rz
<B1-Leave>cFjjdyyr)r<r)r\rr@s rb1_enter_handlerz1BaseSideBar.bind_events.<locals>.b1_enter_handlers+'2  --.EF*.'3rz
<B1-Enter>)rVrr<rnr]rh)r@rqbuttonrcrrrrrrrrrrs`        @@@@@rr=zBaseSideBar.bind_eventss&*&A&A		"#	
k4+F+FG	
nd.L.LM	7
#
	IF!)&3!0:!#F884!
K
!zJ	
K"1:!0:!
I
!5=fXQ3GI
I
	I"
#'	M	;	
l,@A	J	
13EF	;	
m_=	=	=&	@	
l,<=	/	
l,<=rN)__name__
__module____qualname__rAr;r>r?rrJrMrRrVr]rdrhr=rrr4r4DsG/""""!
"
"3
|>rr4c$eZdZ	dZddZddZy)EndLineDelegatorc<tj|||_yr)rrAchanged_callback)r@rs  rrAzEndLineDelegator.__init__s4  0rNc|jj||||jt|jyr)delegater}rr)r@r	charstagss    rr}zEndLineDelegator.inserts0

UE400?@rc|jj|||jt|jyr)rdeleterr)r@index1index2s   rrzEndLineDelegator.deletes.

VV,0?@rrrrrrAr}rrrrrr
s1AArrcDeZdZ	fdZdZdZdZdZdZdZ	xZ
S)LineNumbersct||t|j}|jj
j
||jjy)Nr)superrArupdate_sidebar_textr7perinsertfilterafterundo)r@r7end_line_delegator	__class__s   rrAzLineNumbers.__init__sQ
!-d.F.FG	
**+=151B1B	+	Drc	t|j\}}tj|jdtj
d|dd|_|jjtjd|_	t|jd|_t|j5|jjddd	ddd|jjd
d
|jjd	tjt!|j}|j#||jS#1swYxYw)
Nr|rrr)widthwraprrborderwidthhighlightthicknessr-rr}1
linenumberF)	takefocusexportselection)justify)r+rr%Textr9NONEsidebar_textconfigr1prev_endtype_sidebar_width_typer2r}
tag_configRIGHTrr)r@_padxrr{s    rr;zLineNumbers.init_widgets's(3tGGDKKqrww)*01aI	
  r{{ 3
#'(9(9'(B#C 
$T%6%6
7	B$$XsLA	B  5% H$$\288$D +  %   	B	Bs5EEc\|jjddtjy)Nr|rrowcolumnsticky)rrr%NSEWrEs rrzLineNumbers.grid:s!1Qrww?rcdtj|jdd}||jd<y)NmainEditorWindowfont)rGetFontrr)r@rs  rr>zLineNumbers.update_font=s*		6>B$(&!rc	tjtjd}|d}|d}|jj	|||||y)Nr
foreground
background)fgbgselectforegroundselectbackgroundinactiveselectbackground)rGetHighlightCurrentThemerr)r@colorsrrs    rr?zLineNumbers.update_colorsAsZK&&x'<'<'>ML)
L)
  j'*%/	!	
rc	||jk(rytt|tt|jz
}|rDtt	|j
d}||z}|j
||j
d<t|j
5||jkDrldjtjdgttt|jdz|dz}|j
jd|dn"|j
j|dzddddd||_y#1swY||_yxYw)Nr
r|zend -1crz.0 -1c)rlenstrr
rrrr2join	itertoolschainr$ranger}r)r@r{width_difference	cur_width	new_widthnew_texts      rrzLineNumbers.update_sidebar_textLs2	9
$--s3x=3s4==/A+BBE$"3"3G"<=>I!$44I)-)A)A))LDg&
$T%6%6
7	FT]]"99Y__DU4==1#4cAg>?&!!((7X|L!!((CE7&)99E	F
	F
s
 BEEc@|jj|dy)NrrY)ryview_movetorOs   rrRzLineNumbers.yscroll_eventgs&&tAw/r)rrrrAr;rr>r?rrR
__classcell__rs@rrrs+2D!&@)	
6rrc"eZdZdZddZddZy) WrappedLineHeightChangeDelegatorc>	tj|||_yr)rrAcallback)r@rs  rrAz)WrappedLineHeightChangeDelegator.__init__ms	
	4  
rNcd|v}|rt||}|jj||||rt||}|k(ry|jy)Nr)rrr}r)r@r	rris_single_linebefore_displaylinesafter_displayliness       rr}z'WrappedLineHeightChangeDelegator.insertvsWU*"24"?

UE40!1$!>!%88

rc||dz}t||t||k(}|rt||}|jj|||rt||}|k(ry|j	y)Nz+1c)rrrrr)r@rrrrrs      rrz'WrappedLineHeightChangeDelegator.deletesq>e^F#D&1Zf5MM"24"@

VV,!1$!?!%88

rrrrrrrrls!rrcZeZdZ	fdZdZfdZdZdZdZdZ	dZ
d	Zd
ZxZ
S)ShellSidebarcd|_i|_t|
|t	|j
}|jjj}|j|jure|j|jjjur9|j}|j|jjjur9|jjj||d|_
y)NrT)canvasline_promptsrrArchange_callbackr7rtoprrbottomrr:)r@r7change_delegatordrs    rrAzShellSidebar.__init__s
!
-T-A-AB	
LL  ::TYY&**DLL$4$4$;$;;JJ**DLL$4$4$;$;;**+;1*E
rctj|jdddd|_|j	|j|jS)NrF)rrrr)r%Canvasr9rupdate_sidebarrrEs rr;zShellSidebar.init_widgetssCii2,-!*/1	
		{{rct||jjt	j
rdnd|jy)Nz
<Button-2>z
<Button-3>)rr=r<rnrisAquaTkcontext_menu_event)r@rs rr=zShellSidebar.bind_eventss9
"OO-L<##	
rc`tjjd}tjjdd}fd}|j
d|d|rdnd	
|j
d|d|rdnd	
|j|j|jy
)Nr)tearoffryrzcfdS)Nc:jjSr)rrb	eventnamer@sr<lambda>z@ShellSidebar.context_menu_event.<locals>.mkcmd.<locals>.<lambda>s49933I>rrrs`rmkcmdz.ShellSidebar.context_menu_event.<locals>.mkcmds	>>rCopyz<<copy>>normaldisabled)labelcommandr.zCopy with promptsz<<copy-with-prompts>>rY)
r%Menur<boolr
tag_nextrangeadd_commandtk_popupx_rooty_root)r@r\rmenu
has_selectionrs`    rrzShellSidebar.context_menu_events((!4TYY44UEBC
	?
"'
"3,9z		K	 3"'(?"@,9z		K	u||U\\2rc`|jjddtjddy)Nr|rrr)rrrrr)rrr%rrEs rrzShellSidebar.grids#QqqqIrc>|jr|jyyr)r:rrEs rrzShellSidebar.change_callbacks==!rc	h|j}|j}|j}ix}|_|j	t
j|jd}|jddddk7r|j|d}|j|x}|d}||d}d|vrdnd	|vrd
nd}	|	rM|jd|t
j|	|j|jd
t||}
|	||
<|j|d}|j|x}yy)Nz@0,0.r|0z+1line linestartz linestart -1cconsolez>>>stdinz...rrr)anchorrrfillz+1line)r	tag_namesrrrr%ALLr	split	dlineinfocreate_textNWrrr)r@r
text_tagnamesrrr	lineinforaprev_newline_tagnamespromptrs           rrzShellSidebar.update_sidebars:yy
+--t(

bff

6";;sAq!S(JJ%(89:E>>%00x=A$1UG>2J$K!"&;; $99

""1aF(,		A#H#D%0'-V$JJ%/0E >>%00x=rc&	|jyrX)rrOs   rrRzShellSidebar.yscroll_events		
rc	tj|jdd}t|j|t	fddD}|j
j
|dzdz||_|jy)	Nrr)rc3@K|]}j|ywr)measure).0chartk_fonts  r	<genexpr>z+ShellSidebar.update_font.<locals>.<genexpr>sF4.Fs)rvr)rsrt)r)	rrrrmaxrr/rr)r@r
char_widthr?s   @rr>zShellSidebar.update_fontsoI		6>Btyyt,F:FF
JNQ$67	rc$	tjtjd}tjtjd}|d}|d}||f|_|jj||j
y)Nrr+rr)r)rrrrrr/r)r@linenumbers_colors
prompt_colorsrrs     rr?zShellSidebar.update_colorss}K%2283H3H3JLY --h.C.C.EyQ
"<0
'5
!:.4r)rrrrAr;r=rrrrrRr>r?rrs@rrrs9:$
J"14rrc
ddlm}tj|}tj|}|jtjtjd|jdd|jddtj|dd}tj|d	d
tj|}|jddtj||}tj ||_t%|}|j'|j)d
dj+dt-ddDy)Nr)
Dummy_editwinT)sider.expandr|)weightrrP)rheightrrrrzrc3&K|]	}d|zyw)rNr)r=is  rr@z._linenumbers_drag_scrolling.<locals>.<genexpr>s >1Q >se)idlelib.idle_test.test_sidebarrGr%ToplevelFramerLEFTBOTHrowconfigurecolumnconfigurerrrrrr	ScrollbarrTrrJr}rr)r9rGtoplevelr8rrr7linenumberss        r_linenumbers_drag_scrollingr[s<{{6"H(#JOOrwwtO<Aa(q+Hfn=D
77:RtLDII!AbggI.D!G<<
+GLg&KKKtyy >a
 >>?r__main__)rzidlelib.idle_test.test_sidebarrrF)	verbosityexit)run)
contextlibrlrtkinterr%tkinter.fontridlelib.configridlelib.delegatorridlelibrrrrr+contextmanagerr2r4rrrrr[runittestridlelib.idle_test.htestr_rrr<module>ris#':&
 4**C>C>LAyA$M+M`&y&Rm;m`@,z	)QUC+#$r