<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Yf                 @   s6  d  d l  Z  d  d l m Z m Z m Z d  d l m Z e   Z d e _ d e _	 Gd d   d e  Z
 Gd d   d e
  Z Gd	 d
   d
 e
  Z Gd d   d e
  Z Gd d   d e  Z e e e e e e e e e e e e e e i Z d d d  Z d d   Z e d k r2d  d l m Z e e  d S)    N)TreeItemTreeNodeScrolledCanvas)Reprd   c               @   ss   e  Z d  Z d d d  Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z d d   Z	 d d   Z
 d S)ObjectTreeItemNc             C   s   | |  _  | |  _ | |  _ d  S)N)	labeltextobjectsetfunction)selfr   r	   r
    r   :/opt/alt/python35/lib64/python3.5/idlelib/ObjectBrowser.py__init__   s    		zObjectTreeItem.__init__c             C   s   |  j  S)N)r   )r   r   r   r   GetLabelText   s    zObjectTreeItem.GetLabelTextc             C   s   t  j |  j  S)N)myreprreprr	   )r   r   r   r   GetText   s    zObjectTreeItem.GetTextc             C   s   |  j    s d Sd  S)Npython)IsExpandable)r   r   r   r   GetIconName   s    zObjectTreeItem.GetIconNamec             C   s   |  j  d  k	 S)N)r
   )r   r   r   r   
IsEditable"   s    zObjectTreeItem.IsEditablec          	   C   s5   y t  |  } |  j |  Wn Yn
 X| |  _ d  S)N)evalr
   r	   )r   textvaluer   r   r   SetText$   s    zObjectTreeItem.SetTextc             C   s   t  |  j  S)N)dirr	   )r   r   r   r   r   ,   s    zObjectTreeItem.IsExpandablec             C   s   t  |  j  } g  } xt | D]l } y t |  j |  } Wn t k
 rO w Yn Xt t |  d | | |  j d d   } | j |  q W| S)Nz =c             S   s   t  | | |   S)N)setattr)r   keyr	   r   r   r   <lambda>9   s    z+ObjectTreeItem.GetSubList.<locals>.<lambda>)r   r	   getattrAttributeErrormake_objecttreeitemstrappend)r   keyssublistr   r   itemr   r   r   
GetSubList.   s    zObjectTreeItem.GetSubList)__name__
__module____qualname__r   r   r   r   r   r   r   r'   r   r   r   r   r      s   r   c               @   s(   e  Z d  Z d d   Z d d   Z d S)ClassTreeItemc             C   s   d S)NTr   )r   r   r   r   r   ?   s    zClassTreeItem.IsExpandablec             C   sl   t  j |   } t |  j j  d k rC t d |  j j d  } n t d |  j j  } | j d |  | S)N   z__bases__[0] =r   z__bases__ =)r   r'   lenr	   	__bases__r!   insert)r   r%   r&   r   r   r   r'   A   s    zClassTreeItem.GetSubListN)r(   r)   r*   r   r'   r   r   r   r   r+   >   s   r+   c               @   s   e  Z d  Z d d   Z d S)AtomicObjectTreeItemc             C   s   d S)Nr   r   )r   r   r   r   r   L   s    z!AtomicObjectTreeItem.IsExpandableN)r(   r)   r*   r   r   r   r   r   r0   K   s   r0   c               @   s4   e  Z d  Z d d   Z d d   Z d d   Z d S)SequenceTreeItemc             C   s   t  |  j  d k S)Nr   )r-   r	   )r   r   r   r   r   P   s    zSequenceTreeItem.IsExpandablec             C   s   t  t |  j   S)N)ranger-   r	   )r   r   r   r   r$   R   s    zSequenceTreeItem.keysc             C   s   g  } xx |  j    D]j } y |  j | } Wn t k
 rA w Yn X| |  j d d  } t d | f | |  } | j |  q W| S)Nc             S   s   |  | | <d  S)Nr   )r   r   r	   r   r   r   r
   [   s    z0SequenceTreeItem.GetSubList.<locals>.setfunctionz%r:)r$   r	   KeyErrorr!   r#   )r   r%   r   r   r
   r&   r   r   r   r'   T   s    zSequenceTreeItem.GetSubListN)r(   r)   r*   r   r$   r'   r   r   r   r   r1   O   s   r1   c               @   s   e  Z d  Z d d   Z d S)DictTreeItemc          	   C   s2   t  |  j j    } y | j   Wn Yn X| S)N)listr	   r$   sort)r   r$   r   r   r   r$   b   s    zDictTreeItem.keysN)r(   r)   r*   r$   r   r   r   r   r4   a   s   r4   c             C   s;   t  |  } | t k r% t | } n t } | |  | |  S)N)typedispatchr   )r   r	   r
   tcr   r   r   r!   t   s
    r!   c             C   s  d d  l  } d d l m } |   } | j d  t t t t j d |  j	      \ } } } } | j	 d | | d f  | j
 d d d d	  | j   t | d d
 d d d d } | j j d d d d  t d |  }	 t | j d  |	  }
 |
 j   | j   d  S)Nr   )TkzTest ObjectBrowserz[x+]z+%d+%d   ZbdZbgZyellowZwhiteZhighlightthicknessZ	takefocusr,   expandZfillZbothsys)r>   Ztkinterr;   titler5   mapintresplitZgeometryZ	configureZ	focus_setr   frameZpackr!   r   ZcanvasupdateZmainloop)parentr>   r;   rootwidthZheightxyZscr&   Znoder   r   r   _object_browser}   s    	3

rK   __main__)run)rB   Zidlelib.TreeWidgetr   r   r   reprlibr   r   	maxstringmaxotherr   r+   r0   r1   r4   rA   floatr"   tupler5   dictr7   r8   r!   rK   r(   Zidlelib.idle_test.htestrM   r   r   r   r   <module>   s,   			(
	