�
{fc @ s d Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z m
Z
m Z d d l m
Z
d a d d d � � YZ d e
f d
� � YZ d e
f d � � YZ d
e
f d � � YZ d � Z e d k rd d l m Z e e � n d S( s� Class browser.
XXX TO DO:
- reparse when source changed (maybe just a button would be OK?)
(or recheck on window popup)
- add popup menu with more options (e.g. doc strings, base classes, imports)
- show function argument list? (have to do pattern matching on source)
- should the classes and methods lists also be in the module's menu bar?
- add base classes to class browser tree
i����N( t PyShell( t ListedToplevel( t TreeNodet TreeItemt ScrolledCanvas( t idleConft ClassBrowserc B s; e Z e d � Z d d � Z d � Z d � Z d � Z RS( c C s[ | s t j j a n | | _ t j j | d | j d � | _ | | _ | j
| � d S( sH
_htest - bool, change box when location running htest.
i s .pyN( R t flistt opent file_opent namet ost patht joint filet _htestt init( t selfR R
R R ( ( s, /usr/lib64/python2.7/idlelib/ClassBrowser.pyt __init__ s # c C s | j j � | j j � d S( N( t topt destroyt node( R t event( ( s, /usr/lib64/python2.7/idlelib/ClassBrowser.pyt close) s
c C s8 | | _ t j j � t | j � | _ } | j d | j � | j d | j � | j
r� | j d | j j � | j j
� d f � n | j � | j � t j � } t j | d � d } t | d | d d d
d �} | j j d d d
d � | j � } t | j d | � | _ } | j � | j � d S( Nt WM_DELETE_WINDOWs