2s.ijddlZddlZddlZddlmZmZddlmZm Z m Z ddZ Gdde Z Gdde Z Gd d eZd Zed kr'dd lmZedddddlmZeedSdS)N)ObjectTreeItemmake_objecttreeitem)TreeNodeTreeItemScrolledCanvasc*|tj|}t|ddatjddt ||attj dta t dS)Nwhiter)bghighlightthicknessboth)expandfill) tkToplevelrscframepack StackTreeItemitemrcanvasnoder)rootexcflisttops :/opt/alt/python311/lib64/python3.11/idlelib/stackviewer.py StackBrowserr su {k$ A > > >BHMMM((( e $ $D BItT * *DKKMMMMMc(eZdZddZdZdZdZdS)rNc||_||dn|j|_t |jdt ||_dS)Nz: )r get_stack __traceback__stacktype__name__strtext)selfrrs r__init__zStackTreeItem.__init__sO ^^CKDDS=NOO Cyy)77SXX77 rcg}|r|j|j}|*||j|jf|j}|*|SN)tb_frametb_nextappend tb_lineno)r)tbr$s rr"zStackTreeItem.get_stacksR  "+%Bn LL"+r|4 5 5 5Bn rc|jSr,)r(r)s rGetTextzStackTreeItem.GetText&s yrcrg}|jD],}t||j}||-|Sr,)r$ FrameTreeItemrr/)r)sublistinfors r GetSubListzStackTreeItem.GetSubList)sCJ ! !D tz22D NN4 rr,)r& __module__ __qualname__r*r"r4r9rrrrsU8888 rrc&eZdZdZdZdZdZdS)r6c"||_||_dSr,)r8r)r)r8rs rr*zFrameTreeItem.__init__3s  rc|j\}} |jd}n #d}YnxYw|j}|j}|j}t j||}|}|dvr d|||fz}n d||||fz}|S)Nr&?)r@Nz%s, line %d: %sz%s.%s(...), line %d: %s)r8 f_globalsf_code co_filenameco_name linecachegetlinestrip) r)rlinenomodnamecodefilenamefuncname sourceliners rr4zFrameTreeItem.GetText7s v oj1GG GGG|#<&x88 %%''  & &$'DDDD,-3Z0AAD s  c|j\}}g}|j|jur0td|j|j}||td|j|j}|||S)Nzz )r8rBf_localsVariablesTreeItemrr/)r)rrIr7rs rr9zFrameTreeItem.GetSubListIst v ?%. 0 0$ZLLD NN4  eotzJJtrc|jrR|j\}}|jj}tj|r|j||dSdSdSr,)rr8rCrDospathisfile gotofileline)r)rrIrLs r OnDoubleClickzFrameTreeItem.OnDoubleClickSsi : : IME6|/Hw~~h'' : ''&99999  : : : :rN)r&r:r;r*r4r9rWr<rrr6r61sP$:::::rr6c&eZdZdZdZdZdZdS)rQc|jSr,) labeltextr3s rr4zVariablesTreeItem.GetText]s ~rcdSr,r<r3s r GetLabelTextzVariablesTreeItem.GetLabelText`strc2t|jdkS)Nr)lenobjectr3s r IsExpandablezVariablesTreeItem.IsExpandablecs4;!##rcg}|jD]U} |j|}n#t$rYwxYw||jfd}t|dz||}||V|S)Nc|||<dSr,r<)valuekeyobject_s r setfunctionz1VariablesTreeItem.GetSubList..setfunctionms$ rz =)r_keysKeyErrorrr/)r)r7rdrcrfrs rr9zVariablesTreeItem.GetSubListfs;##%% ! !C  C(    '*DK % % % %&sTz5+FFD NN4 s - ::N)r&r:r;r4r\r`r9r<rrrQrQ[sP$$$     rrQcddlm}tj|}|dt t |ddd\}}|d|dz|dzfz||} tdS#t$r}t|||| Yd}~dSd}~wwxYw) Nr)PyShellFileListzTest StackViewer+r z+%d+%d2)rr) idlelib.pyshellrjrrtitlemapintgeometrysplitintentional_name_error NameErrorr)parentrjrxyres r _stackbrowserrzts////// +f  CII !!! sFOO%%++C004 5 5DAqLLQVQW--... OC E3 333S!5c22222222223s!B** C4C  C__main__)mainz"idlelib.idle_test.test_stackviewerF) verbosityexit)run)NN)rFrStkinterridlelib.debugobjrr idlelib.treerrrrrr6rQrzr&unittestr|idlelib.idle_test.htestrr<rrrsg @@@@@@@@;;;;;;;;;;H6':':':':':H':':':T2 3 3 3 zD -GGGG++++++C  r