B A*@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||_||_||_dS)N) labeltextobject setfunction)selfrr r r 3/opt/alt/python37/lib/python3.7/idlelib/debugobj.py__init__szObjectTreeItem.__init__cCs|jS)N)r)r r r r GetLabelTextszObjectTreeItem.GetLabelTextcCs t|jS)N)myreprreprr )r r r r GetTextszObjectTreeItem.GetTextcCs|s dSdS)NZpython) IsExpandable)r r r r GetIconNameszObjectTreeItem.GetIconNamecCs |jdk S)N)r )r r r r IsEditableszObjectTreeItem.IsEditablecCs.yt|}||Wn YnX||_dS)N)evalr r )r textvaluer r r SetText!s zObjectTreeItem.SetTextcCst|j S)N)dirr )r r r r r)szObjectTreeItem.IsExpandablec Csrt|j}g}x^|D]V}yt|j|}Wntk r>wYnXtt|d|||jfdd}||qW|S)Nz =cSs t|||S)N)setattr)rkeyr r r r 6sz+ObjectTreeItem.GetSubList..)rr getattrAttributeErrormake_objecttreeitemstrappend)r keyssublistrritemr r r GetSubList+s   zObjectTreeItem.GetSubList)N) __name__ __module__ __qualname__rrrrrrrr&r r r r rs rc@seZdZddZddZdS) ClassTreeItemcCsdS)NTr )r r r r r<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 r r&>s  zClassTreeItem.GetSubListN)r'r(r)rr&r r r r r*;sr*c@seZdZddZdS)AtomicObjectTreeItemcCsdS)NFr )r r r r rIsz!AtomicObjectTreeItem.IsExpandableN)r'r(r)rr r r r r/Hsr/c@s$eZdZddZddZddZdS)SequenceTreeItemcCst|jdkS)Nr)r,r )r r r r rMszSequenceTreeItem.IsExpandablecCstt|jS)N)ranger,r )r r r r r#OszSequenceTreeItem.keysc Cslg}xb|D]V}y|j|}Wntk r6wYnX||jfdd}td|f||}||qW|S)NcSs |||<dS)Nr )rrr r r r r Xsz0SequenceTreeItem.GetSubList..setfunctionz%r:)r#r KeyErrorr r")r r$rrr r%r r r r&QszSequenceTreeItem.GetSubListN)r'r(r)rr#r&r r r r r0Lsr0c@seZdZddZdS) DictTreeItemcCs,t|j}y |Wn YnX|S)N)listr r#sort)r r#r r r r#_s  zDictTreeItem.keysN)r'r(r)r#r r r r r3^sr3NcCs*t|}|tkrt|}nt}||||S)N)typedispatchr)rr r tcr r r r 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)expandfillsys)r@Ztkinterr:titlemapintZgeometrysplitZ configureZ focus_setrframepackr rZcanvasupdate) parentr@r:topxyZscr%Znoder r r _object_browserzs    rL__main__)mainzidlelib.idle_test.test_debugobjF) verbosityexit)run)N)reprlibrZ idlelib.treerrrr maxstringmaxotherrr*r/r0r3rCfloatr!tupler4dictr6r7r rLr'ZunittestrNZidlelib.idle_test.htestrRr r r r  s. (