mς
­fIc           @   sT  d  k  l Z l Z l Z d k l Z e   Z d e _ d e _ d e f d     YZ	 d e	 f d     YZ
 d e	 f d     YZ d	 e	 f d
     YZ d e	 f d     YZ d e f d     YZ d k Th  e e <e e <e e <e e <e e <e e <e e <e e
 <e e <Z d d  Z d   Z e d j o e   n d S(   (   s   TreeItems   TreeNodes   ScrolledCanvas(   s   Reprid   t   ObjectTreeItemc           B   sS   t  Z d  d  Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   Nc         C   s   | |  _  | |  _ | |  _ d  S(   N(   t	   labeltextt   selft   objectt   setfunction(   R   R   R   R   (    (    t2   /mit/python/lib/python2.4/idlelib/ObjectBrowser.pyt   __init__   s    		c         C   s   |  i S(   N(   R   R   (   R   (    (    R   t   GetLabelText   s    c         C   s   t  i |  i  S(   N(   t   myreprt   reprR   R   (   R   (    (    R   t   GetText   s    c         C   s   |  i   p d Sn d  S(   Nt   python(   R   t   IsExpandable(   R   (    (    R   t   GetIconName   s    c         C   s   |  i d  j	 S(   N(   R   R   t   None(   R   (    (    R   t
   IsEditable    s    c         C   s4   y t  |  } |  i |  Wn n
 X| |  _ d  S(   N(   t   evalt   textt   valueR   R   R   (   R   R   R   (    (    R   t   SetText"   s    c         C   s   t  |  i  S(   N(   t   dirR   R   (   R   (    (    R   R   *   s    c         C   s   t  |  i  } g  } xr | D]j } y t |  i |  } Wn t j
 o
 q n Xt	 t
 |  d | | |  i d   } | i |  q W| S(   Ns    =c         C   s   t  | | |   S(   N(   t   setattrR   t   keyR   (   R   R   R   (    (    R   t   <lambda>7   s    (   R   R   R   t   keyst   sublistR   t   getattrR   t   AttributeErrort   make_objecttreeitemt   strt   itemt   append(   R   R   R   R   R   R   (    (    R   t
   GetSubList,   s     (   t   __name__t
   __module__R   R   R   R
   R   R   R   R   R    (    (    (    R   R       s   						t   InstanceTreeItemc           B   s   t  Z d   Z d   Z RS(   Nc         C   s   t  S(   N(   t   True(   R   (    (    R   R   =   s    c         C   s2   t  i |   } | i d t d |  i i   | S(   Ni    s   __class__ =(   R    R    R   R   t   insertR   R   t	   __class__(   R   R   (    (    R   R    ?   s    	(   R!   R"   R   R    (    (    (    R   R#   <   s   	t   ClassTreeItemc           B   s   t  Z d   Z d   Z RS(   Nc         C   s   t  S(   N(   R$   (   R   (    (    R   R   F   s    c         C   sn   t  i |   } t |  i i  d j o t d |  i i d  } n t d |  i i  } | i	 d |  | S(   Ni   s   __bases__[0] =i    s   __bases__ =(
   R    R    R   R   t   lenR   t	   __bases__R   R   R%   (   R   R   R   (    (    R   R    H   s    (   R!   R"   R   R    (    (    (    R   R'   E   s   	t   AtomicObjectTreeItemc           B   s   t  Z d   Z RS(   Nc         C   s   d S(   Ni    (    (   R   (    (    R   R   S   s    (   R!   R"   R   (    (    (    R   R*   R   s   t   SequenceTreeItemc           B   s#   t  Z d   Z d   Z d   Z RS(   Nc         C   s   t  |  i  d j S(   Ni    (   R(   R   R   (   R   (    (    R   R   W   s    c         C   s   t  t |  i   S(   N(   t   rangeR(   R   R   (   R   (    (    R   R   Y   s    c         C   s   g  } xv |  i   D]h } y |  i | } Wn t j
 o
 q n X| |  i d  } t d | f | |  } | i
 |  q W| S(   Nc         C   s   |  | | <d  S(   N(   R   R   R   (   R   R   R   (    (    R   R   b   s    s   %r:(   R   R   R   R   R   R   t   KeyErrorR   R   R   R   (   R   R   R   R   R   R   (    (    R   R    [   s     (   R!   R"   R   R   R    (    (    (    R   R+   V   s   		t   DictTreeItemc           B   s   t  Z d   Z RS(   Nc         C   s+   |  i i   } y | i   Wn n X| S(   N(   R   R   R   t   sort(   R   R   (    (    R   R   i   s    (   R!   R"   R   (    (    (    R   R.   h   s   (   t   *c         C   s@   t  |  } t i |  o t | } n t } | |  | |  S(   N(	   t   typeR   t   tt   dispatcht   has_keyt   cR    R   R   (   R   R   R   R5   R2   (    (    R   R      s
    c          C   s²   d  k  } d k l } |   } | i d d d d  | i   t | d d d d d d	 } | i i	 d
 d	 d d  t
 d |  } t | i d  |  }  |  i   | i   d  S(   N(   s   Tkt   bdi    t   bgt   yellowt   whitet   highlightthicknesst	   takefocusi   t   expandt   fillt   botht   sys(   R?   t   Tkintert   Tkt   roott	   configuret	   focus_sett   ScrolledCanvast   sct   framet   packR   R   t   TreeNodet   canvasR   t   nodet   updatet   mainloop(   RK   R?   R   RA   RF   RB   (    (    R   t   _test   s    		

t   __main__N(   t
   TreeWidgett   TreeItemRI   RE   R	   t   ReprR   t	   maxstringt   maxotherR    R#   R'   R*   R+   R.   t   typest   IntTypet   LongTypet	   FloatTypet
   StringTypet	   TupleTypet   ListTypet   DictTypet   InstanceTypet	   ClassTypeR3   R   R   RN   R!   (   RN   R3   R'   R.   RR   R#   R*   RI   R   R   RE   R    RQ   R+   (    (    R   t   ?   s    			(		W
	