
   iJU=K                   6   S r SSKJr  SSKJrJrJr  \" 5       rS\l        S\l	         " S S\5      r
 " S S\
5      r " S	 S
\
5      r " S S\
5      r " S S\5      r\\\\\\\\\\\\\\0rSS jrS r\S:X  a  SSKJr  \" SSSS9  SSKJr  \" \5        gg)z=Define tree items for debug stackviewer, which is only user.
    )Repr)TreeItemTreeNodeScrolledCanvasd   c                   H    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rSrg)ObjectTreeItem   Nc                 (    Xl         X l        X0l        g N	labeltextobjectsetfunction)selfr   object_r   s       '/usr/lib/python3.13/idlelib/debugobj.py__init__ObjectTreeItem.__init__   s    "&    c                     U R                   $ r   )r   r   s    r   GetLabelTextObjectTreeItem.GetLabelText   s    ~~r   c                 @    [         R                  U R                  5      $ r   )myreprreprr   r   s    r   GetTextObjectTreeItem.GetText   s    {{4;;''r   c                 0    U R                  5       (       d  gg )Npython)IsExpandabler   s    r   GetIconNameObjectTreeItem.GetIconName   s      "" #r   c                     U R                   S L$ r   )r   r   s    r   
IsEditableObjectTreeItem.IsEditable!   s    t++r   c                 X     [        U5      nU R                  U5        X l        g !    g = fr   )evalr   r   )r   textvalues      r   SetTextObjectTreeItem.SetText#   s/    	 JEU#  K	s   % )c                 4    [        U R                  5      (       $ r   )dirr   r   s    r   r"   ObjectTreeItem.IsExpandable+   s    4;;'''r   c                    [        U R                  5      n/ nU HR  n [        U R                  U5      n[	        [        U5      S-   UX0R                  4S j5      nUR                  U5        MT     U$ ! [         a     Me  f = f)Nz =c                     [        X!U 5      $ r   )setattrr+   keyr   s      r   <lambda>+ObjectTreeItem.GetSubList.<locals>.<lambda>8   s    G%0r   )r/   r   getattrAttributeErrormake_objecttreeitemstrappend)r   keyssublistr5   r+   items         r   
GetSubListObjectTreeItem.GetSubList-   s    4;;CS1 'C4"%{{ 12D
 NN4    " s   A22
B ?B r   r   )__name__
__module____qualname____firstlineno__r   r   r   r#   r&   r,   r"   r@   __static_attributes__ r   r   r	   r	      s*    '(, (r   r	   c                        \ rS rSrS rS rSrg)ClassTreeItem=   c                     g)NTrG   r   s    r   r"   ClassTreeItem.IsExpandable>   s    r   c                 "   [         R                  U 5      n[        U R                  R                  5      S:X  a$  [        SU R                  R                  S   5      nO [        SU R                  R                  5      nUR                  SU5        U$ )N   z__bases__[0] =r   z__bases__ =)r	   r@   lenr   	__bases__r:   insert)r   r>   r?   s      r   r@   ClassTreeItem.GetSubList@   ss     ++D1t{{$$%*&'7%%a(*D '}dkk6K6KLDq$r   rG   N)rB   rC   rD   rE   r"   r@   rF   rG   r   r   rI   rI   =   s    r   rI   c                       \ rS rSrS rSrg)AtomicObjectTreeItemJ   c                     g)NFrG   r   s    r   r"   !AtomicObjectTreeItem.IsExpandableK   s    r   rG   N)rB   rC   rD   rE   r"   rF   rG   r   r   rT   rT   J   s    r   rT   c                   &    \ rS rSrS rS rS rSrg)SequenceTreeItemN   c                 2    [        U R                  5      S:  $ )Nr   )rO   r   r   s    r   r"   SequenceTreeItem.IsExpandableO   s    4;;!##r   c                 >    [        [        U R                  5      5      $ r   )rangerO   r   r   s    r   r=   SequenceTreeItem.keysQ   s    S%&&r   c                     / nU R                  5        HD  n U R                  U   nX R                  4S jn[        U< S3X45      nUR	                  U5        MF     U$ ! [         a     MW  f = f)Nc                     XU'   g r   rG   r4   s      r   r   0SequenceTreeItem.GetSubList.<locals>.setfunctionZ   s	    $r   :)r=   r   KeyErrorr:   r<   )r   r>   r5   r+   r   r?   s         r   r@   SequenceTreeItem.GetSubListS   sq    99;CC( (+KK %&#{EGDNN4     s   A
A+*A+rG   N)rB   rC   rD   rE   r"   r=   r@   rF   rG   r   r   rY   rY   N   s    $'r   rY   c                       \ rS rSrS rSrg)DictTreeItem`   c                 b    [        U R                  5      n UR                  5         U$ !    U$ = fr   )listr   sort)r   r=   s     r   r=   DictTreeItem.keysa   s4    DKK 	IIK 	s   ) .rG   N)rB   rC   rD   rE   r=   rF   rG   r   r   rg   rg   `   s    r   rg   Nc                 ^    [        U5      nU[        ;   a
  [        U   nO[        nU" XU5      $ r   )typedispatchr	   )r   r   r   tcs        r   r:   r:   t   s-    WAH}QKY--r   c                    SS K nSSKJn  U" U 5      nUR                  S5        [	        [
        U R                  5       R                  S5      SS  5      u  pEUR                  SUS-   US-   4-  5        UR                  SS	S
9  UR                  5         [        USSSS9nUR                  R                  SSS9  [        SU5      n[        UR                  S U5      nUR!                  5         g )Nr   )ToplevelzTest debug object browser+rN   z+%d+%dr      yellow)bdbgwhite)rx   highlightthickness	takefocusboth)expandfillsys)r   tkinterrs   titlemapintgeometrysplit	configure	focus_setr   framepackr:   r   canvasupdate)	parentr   rs   topxyscr?   nodes	            r   _debug_object_browserr   }   s     
6
CII)*sFOO%++C045DALLQWa#g../MMQ8M$MMO	A	KBHHMMM(uc*DBIItT*DKKMr   __main__)mainzidlelib.idle_test.test_debugobj   F)	verbosityexit)runr   )__doc__reprlibr   idlelib.treer   r   r   r   	maxstringmaxotherr	   rI   rT   rY   rg   r   floatr;   tuplerj   dictrn   ro   r:   r   rB   unittestr   idlelib.idle_test.htestr   rG   r   r   <module>r      s     ; ;	 &X &PN > ~ $#  				
,-.  z	*aeD+ r   