a XC?h@sddlmZddlmZmZmZeZde_de_GdddeZ Gddde Z Gdd d e Z Gd d d e Z Gd d d e Z ee ee ee ee ee ee ee iZdddZddZedkrddlmZeddddddlmZeedS))Repr)TreeItemTreeNodeScrolledCanvasdc@sNeZdZdddZddZddZdd Zd d Zd d ZddZ ddZ dS)ObjectTreeItemNcCs||_||_||_dSN) labeltextobject setfunction)selfr r r r 5/opt/alt/python39/lib64/python3.9/idlelib/debugobj.py__init__szObjectTreeItem.__init__cCs|jSr)r r r r r GetLabelTextszObjectTreeItem.GetLabelTextcCs t|jSr)myreprreprr rr r rGetTextszObjectTreeItem.GetTextcCs|s dSdS)NZpython) IsExpandablerr r r GetIconNameszObjectTreeItem.GetIconNamecCs |jduSr)r rr r r IsEditableszObjectTreeItem.IsEditablecCs.zt|}||Wn Yn0||_dSr)evalr r )r textvaluer r rSetText!s zObjectTreeItem.SetTextcCst|j Sr)dirr rr r rr)szObjectTreeItem.IsExpandablec Csnt|j}g}|D]V}zt|j|}Wnty<YqYn0tt|d|||jfdd}||q|S)Nz =cSs t|||Sr)setattrrkeyr r r r6sz+ObjectTreeItem.GetSubList..)rr getattrAttributeErrormake_objecttreeitemstrappend)r keyssublistrritemr r r GetSubList+s     zObjectTreeItem.GetSubList)N) __name__ __module__ __qualname__rrrrrrrr)r r r rrs rc@seZdZddZddZdS) ClassTreeItemcCsdS)NTr rr r rr<szClassTreeItem.IsExpandablecCsLt|}t|jjdkr.td|jjd}ntd|jj}|d||S)Nz__bases__[0] =rz __bases__ =)rr)lenr __bases__r#insert)r r'r(r r rr)>s   zClassTreeItem.GetSubListN)r*r+r,rr)r r r rr-;sr-c@seZdZddZdS)AtomicObjectTreeItemcCsdS)NFr rr r rrIsz!AtomicObjectTreeItem.IsExpandableN)r*r+r,rr r r rr2Hsr2c@s$eZdZddZddZddZdS)SequenceTreeItemcCst|jdkS)Nr)r/r rr r rrMszSequenceTreeItem.IsExpandablecCstt|jSr)ranger/r rr r rr&OszSequenceTreeItem.keysc Cshg}|D]V}z|j|}Wnty4Yq Yn0||jfdd}td|f||}||q |S)NcSs |||<dSrr rr r rr Xsz0SequenceTreeItem.GetSubList..setfunctionz%r:)r&r KeyErrorr#r%)r r'rrr r(r r rr)Qs    zSequenceTreeItem.GetSubListN)r*r+r,rr&r)r r r rr3Lsr3c@seZdZddZdS) DictTreeItemcCs,t|j}z |Wn Yn0|Sr)listr r&sort)r r&r r rr&_s  zDictTreeItem.keysN)r*r+r,r&r r r rr6^sr6NcCs*t|}|tvrt|}nt}||||Sr)typedispatchr)r r r tcr r rr#qs  r#c Csddl}ddlm}||}|dtt|ddd\}}|d|d|df|jdd d | t |d ddd }|j j dd dt d|}t|jd|}|dS)Nr)ToplevelzTest debug object browser+r.z+%d+%drZyellow)ZbdbgZwhite)r@ZhighlightthicknessZ takefocusZboth)expandZfillsys)rBZtkinterr=titlemapintZgeometrysplitZ configureZ focus_setrframeZpackr#rZcanvasupdate) parentrBr=topxyZscr(Znoder r r_object_browserzs    rM__main__)mainzidlelib.idle_test.test_debugobjF) verbosityexit)run)N)reprlibrZ idlelib.treerrrr maxstringmaxotherrr-r2r3r6rEfloatr$tupler7dictr9r:r#rMr*ZunittestrOZidlelib.idle_test.htestrSr r r r s0 (