o =?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 iZdddZddZedkrwddlmZeddddddlmZeedSdS))Repr)TreeItemTreeNodeScrolledCanvasdc@sNeZdZdddZddZddZdd Zd d Zd d ZddZ ddZ dS)ObjectTreeItemNcCs||_||_||_dSN) labeltextobject setfunction)selfr r r r 7/opt/alt/python310/lib64/python3.10/idlelib/debugobj.py__init__s zObjectTreeItem.__init__cCs|jSr)r r r r r GetLabelTextszObjectTreeItem.GetLabelTextcCs t|jSr)myreprreprr rr r rGetText zObjectTreeItem.GetTextcCs|sdSdS)NZpython) IsExpandablerr r r GetIconNameszObjectTreeItem.GetIconNamecCs |jduSr)r rr r r IsEditables zObjectTreeItem.IsEditablecCs.z t|}||WnYdS||_dSr)evalr r )r textvaluer r rSetText!s  zObjectTreeItem.SetTextcCst|j Sr)dirr rr r rr)zObjectTreeItem.IsExpandablec Csjt|j}g}|D])}zt|j|}Wn tyYq wtt|d|||jfdd}||q |S)Nz =cSs t|||Sr)setattrrkeyr r r r6rz+ObjectTreeItem.GetSubList..)rr getattrAttributeErrormake_objecttreeitemstrappend)r keyssublistr!ritemr r r GetSubList+s    zObjectTreeItem.GetSubListr) __name__ __module__ __qualname__rrrrrrrr+r r r rrs  rc@seZdZddZddZdS) ClassTreeItemcCdS)NTr rr r rr<zClassTreeItem.IsExpandablecCsLt|}t|jjdkrtd|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/;s r/c@eZdZddZdS)AtomicObjectTreeItemcCr0)NFr rr r rrIr1z!AtomicObjectTreeItem.IsExpandableN)r,r-r.rr r r rr7H r7c@s$eZdZddZddZddZdS)SequenceTreeItemcCst|jdkS)Nr)r3r rr r rrMrzSequenceTreeItem.IsExpandablecCstt|jSr)ranger3r rr r rr(OrzSequenceTreeItem.keysc Csdg}|D])}z|j|}Wn tyYqw||jfdd}td|f||}||q|S)NcSs |||<dSrr r r r rr Xrz0SequenceTreeItem.GetSubList..setfunctionz%r:)r(r KeyErrorr%r')r r)r!rr r*r r rr+Qs   zSequenceTreeItem.GetSubListN)r,r-r.rr(r+r r r rr9Ls r9c@r6) DictTreeItemcCs*t|j}z|W|SY|Sr)listr r(sort)r r(r r rr(_s zDictTreeItem.keysN)r,r-r.r(r r r rr<^r8r<NcCs*t|}|tvr t|}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+r2z+%d+%drZyellow)ZbdbgZwhite)rFZhighlightthicknessZ takefocusZboth)expandZfillsys)rHZtkinterrCtitlemapintZgeometrysplitZ configureZ focus_setrframeZpackr%rZcanvasupdate) parentrHrCtopxyZscr*Znoder r r_object_browserzs     rS__main__)mainzidlelib.idle_test.test_debugobjF) verbosityexit)runr)reprlibrZ idlelib.treerrrr maxstringmaxotherrr/r7r9r<rKfloatr&tupler=dictr?r@r%rSr,ZunittestrUZidlelib.idle_test.htestrYr r r rs4 (