Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/tabbedpages.cpython-35.opt-2.pyc



]G@sddlTGdddeZGdddeZGdddeZGdd	d	eZd
dZedkrdd
l	m
Z
e
edS))*c@seZdZdS)InvalidNameErrorN)__name__
__module____qualname__rr0/opt/alt/python35/lib64/python3.5/tabbedpages.pyrsrc@seZdZdS)AlreadyExistsErrorN)rrrrrrrr	
sr	c@seZdZddddddZddZd	d
ZddZd
dZddZddZ	Gddde
ZdS)TabSetNFcKstj|||||_||_||_||_||_i|_i|_|rjt	||_
n	g|_
d|_g|_t|dddddt
d|jd|_|jjdtdtd	d
|jdS)Nheightborderwidthrrelief
backgroundsidefillexpandF)Frame__init__select_commandn_rowsmax_tabs_per_rowexpand_tabspage_set_tabs_tab2rowlist
_tab_names
_selected_tab	_tab_rowsFLATcgetZ
padding_framepackTOPX
_arrange_tabs)selfrrZtabsrrrkwrrrrs$										zTabSet.__init__cCsS|std|||jkr5td||jj||jdS)NzInvalid Tab name: '%s'zTab named '%s' already exists)rrr	appendr')r(tab_namerrradd_tabDszTabSet.add_tabcCs=||jkrtd||jj||jdS)NzNo such Tab: '%s)rKeyErrorremover')r(r+rrr
remove_tabNszTabSet.remove_tabcCs||jkrdS|dk	r>||jkr>td||jdk	ra|j|jjd|_|dk	r||_|j|}|j|j|}|j|jdtdt	dddS)NzNo such Tab: '%srrrr)
r rr-
set_normalset_selectedrpack_forgetr$r%r&)r(r+tabtab_rowrrrset_selected_tabVs		



zTabSet.set_selected_tabcCs|s
dSt|}|jdtdtdd|jj|xx|D]p}tj||j||}|r|jdt	dtddn|jdt	||j
|<||j|<qIWd|_dS)NrrrrT)
rr$r%r&r!r*r
	TabButtonrLEFTrris_last_in_row)r(	tab_namesrr4r+r3rrr_add_tab_rowls

zTabSet._add_tab_rowcCs6x&|jr(|jj}|jqWi|_dS)N)r!popdestroyr)r(r4rrr_reset_tab_rowsszTabSet._reset_tab_rowscCsBx$|jr&|jjdjqW|j|js>dS|jdk	rh|jdkrh|j}nt|jd|jd}|jp|dk}d}xht	|D]Z}t|j|d||d}|j|||}||7}|j
||qW|j}|jd||jkr>|j|dS)Nrr)
rpopitemr<r=rrlenrrranger:r r5)r(rriZ	row_indexZn_tabsr9selectedrrrr's&
	#
	
zTabSet._arrange_tabsc@saeZdZdZddZddZddZdd	Zd
dZdd
dZ	dS)zTabSet.TabButtonrcCstj||d|jdt||_||_||_d|_t|d|d|j	dddd	d
t
dt
dd
dddd
	|_|jjdt
dtdd|j|jdS)NrrFtextcommandpadxrpadyrZ	takefocusZindicatoronZhighlightthicknessrZselectcolorrrrT)rrbwRAISEDnamertab_setr8ZRadiobutton
_select_eventFALSEZbuttonr$r7r&_init_masksr0)r(rJrr4rKrrrrs					
zTabSet.TabButton.__init__cGs|j|jdS)N)rrJ)r(argsrrrrLszTabSet.TabButton._select_eventcCs|jdddS)NrBT)_place_masks)r(rrrr1szTabSet.TabButton.set_selectedcCs|jdddS)NrBF)rP)r(rrrr0szTabSet.TabButton.set_normalc
Cs|jj}|jjd}t|dddtd||_t|dddtd||_t|jd|jdt	|j_
|jj
jddd|jdd|jd	|jd
t|dddtd||_t|jd|jdt	|j_
dS)Nrrrrxywidthrr
)rKrpages_framer#rr"maskmsklrHrImlplacemskrmr)r(rrrrrrNszTabSet.TabButton._init_masksFcCs|j}|r||j7}|jjd|ddddddddd	dd
dddd|	|jjd|ddd|jddddd	dd
|jddd|	|jj}|r|js|j|j|j|jkr||j8}|j	jd|ddddddddd	dd
|jddd|	|j	j
jd|jd|jd
d
|jd||jd
|jjdS)NZin_ZrelxgrQrZrelyg?rRZrelwidthrSZ	relheightr
r)rHrVrYrWrKrr8Zwinfo_rootxZwinfo_widthrZr[lower)r(rBr
rrrrrPs4	




#zTabSet.TabButton._place_masksN)
rrrrHrrLr1r0rNrPrrrrr6sr6)rrrrr,r/r5r:r=r'rr6rrrrr
s	,
(r
c@seZdZGdddeZGdddeZGdddeZGdddeZd	ed
ddd
dZddZ	ddZ
ddZd	S)
TabbedPageSetc@s:eZdZdZddZddZddZdS)	zTabbedPageSet.PageFcCst|dddt|_dS)Nrrr)rrIframe)r(rrrrr9szTabbedPageSet.Page.__init__cCs
tdS)N)NotImplementedError)r(rrr_show<szTabbedPageSet.Page._showcCs
tdS)N)r_)r(rrr_hide?szTabbedPageSet.Page._hideN)rrr	uses_gridrr`rarrrrPage1srcc@s.eZdZdZddZddZdS)zTabbedPageSet.PageRemoveTcCs#|jjdddddtdS)Nrowrcolumnsticky)r^gridNSEW)r(rrrr`FszTabbedPageSet.PageRemove._showcCs|jjdS)N)r^Zgrid_remove)r(rrrraIszTabbedPageSet.PageRemove._hideN)rrrrbr`rarrrr
PageRemoveBsrics@eZdZdZfddZddZddZS)zTabbedPageSet.PageLiftTcsIttj|j||jjdddddt|jjdS)Nrdrrerf)superr]PageLiftrr^rgrhr\)r(r)	__class__rrrPszTabbedPageSet.PageLift.__init__cCs|jjdS)N)r^Zlift)r(rrrr`UszTabbedPageSet.PageLift._showcCs|jjdS)N)r^r\)r(rrrraXszTabbedPageSet.PageLift._hide)rrrrbrr`rarr)rlrrkLsrkc@s(eZdZddZddZdS)zTabbedPageSet.PagePackForgetcCs|jjdtdddS)NrrT)r^r$BOTH)r(rrrr`]sz"TabbedPageSet.PagePackForget._showcCs|jjdS)N)r^r2)r(rrrra`sz"TabbedPageSet.PagePackForget._hideN)rrrr`rarrrrPagePackForget[srnNrrFc		KsJtj|||||_i|_g|_d|_d|_|jddd|jdddt||_	|j	j
dddddt|jjr|j	jddd|j	jdddt
||jd|d|d	||_|rx|D]}|j|qW|jj
dddddt|j|jdS)
NrZweightrrdrerfrrr)rr
page_classpages_pages_order
_current_page
_default_pageZcolumnconfigureZrowconfigurerUrgrhrbr
change_page_tab_setadd_page)	r(parent
page_namesrorrrr)rJrrrrcs* 					
zTabbedPageSet.__init__cCs|std|||jkr5td||j|j|j|<|jj||jj|t	|jdkr||_
|j|dS)NzInvalid TabPage name: '%s'z!TabPage named '%s' already existsr)rrpr	rorUrqr*rur,r?rsrt)r(	page_namerrrrvs
	zTabbedPageSet.add_pagecCs||jkrtd||jj|t|jdkrf||jkro|jd|_n	d|_||jkr|j|j|jj	||jj
|}|jjdS)NzNo such TabPage: '%sr)
rpr-rqr.r?rsrrrtrur/r;r^r<)r(ryZpagerrrremove_pages	zTabbedPageSet.remove_pagecCs|j|krdS|dk	r>||jkr>td||jdk	ra|j|jjd|_|dk	r||_|j|j|jj|dS)NzNo such TabPage: '%s')rrrpr-rar`rur5)r(ryrrrrts		zTabbedPageSet.change_page)rrrobjectrcrirkrnrrvrzrtrrrrr] s
;r]c	st}ttttjd|j\}}}}|jd||df|jdt|dddgdd	d
dj	dt
d
tdtt
jdjddddj	t
jdjddddj	t
jdjddj	t|t|dddfdd}t|dddfdd}t
|dd}|j	dddd|j	dddd|j	ddj	dd|jdS)Nz[x+]z+%d+%dzTest tabbed pagesrxZFoobarZBazrrrFrrrrCZFoorFZBarzAdd PagerDcsjjS)N)rvgetr)entryPgNametabPagerr<lambda>sz_tabbed_pages.<locals>.<lambda>zRemove PagecsjjS)N)rzr~r)rrrrrszname of page to add/remove:rEr)ZTkrmapintresplitZgeometrytitler]r$r%TRUErmZLabelrpr^ZEntryZButtonZmainloop)	rwrootrSr
rQrRZ	buttonAddZbuttonRemoveZlabelPgNamer)rrr
_tabbed_pagess*	3
	&& r__main__)runN)tkinter	Exceptionrr	rr
r]rrZidlelib.idle_test.htestrrrrr<module>
s

Back to Directory File Manager