
    s@;j                         d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlm	Z	m
Z
 d                                Z G d d          Z G d d          Zd	 Zed
k    r e             dS dS )    N)unwrapwrap)shellshellconzmOnNavigationComplete OnNavigationFailed
                                    OnNavigationPending OnViewCreatedc                   :    e Zd Zej        gZeZd Zd Z	d Z
d ZdS )EventHandlerc                 &    t          d|           d S )NOnNavCompleteprintselfpidls     vC:\Users\Administrator\AppData\Local\Temp\2\pip-target-b0z114gj\lib\python\win32comext/shell/demos/explorer_browser.pyOnNavigationCompletez!EventHandler.OnNavigationComplete   s    ot$$$$$    c                 &    t          d|           d S )NOnNavigationFailedr   r   s     r   r   zEventHandler.OnNavigationFailed   s    "D)))))r   c                 &    t          d|           d S )NOnNavigationPendingr   r   s     r   r   z EventHandler.OnNavigationPending   s    #T*****r   c                     t          d|           	 t          |          }t          d|           d S # t          $ r Y d S w xY w)NOnViewCreatedz*and look - it's a Python implemented view!)r   r   
ValueError)r   viewpyviews      r   r   zEventHandler.OnViewCreated    s[    ot$$$	D\\F>GGGGG 	 	 	DD	s   3 
A AN)__name__
__module____qualname__r   IID_IExplorerBrowserEvents_com_interfaces_IExplorerBrowserEvents_Methods_public_methods_r   r   r   r    r   r   r   r      sb        895% % %* * *+ + +    r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )
MainWindowc                 2   t           j        | j        t           j        | j        t           j        | j        i}t          j                    }t          j
        d           x}|_        d|_        ||_        t          j        |          }t           j        t           j        z  }t          j        |d|ddt           j        t           j        dd|d           | _        t)          j        t,          j        d t(          j        t2          j                  }|                    t9          t;                                          | _        |                    t,          j                    t          j!        | j                  }t,          j"        t,          j#        t,          j$        z  f}|%                    | j        |dt,          j&        f           tO          tP          j)                  dk    r?t3          j*                    +                    dd tP          j)        d                   d         }	ng }	|,                    |	t,          j-                   |.                    t(          j/                  }
	 |
0                    t2          j1        t2          j1                  }t3          j2        |	t2          j3                  }|4                    |t,          j5        t,          j5                   n:# t(          j6        $ r(}to          d           to          |           Y d }~nd }~ww xY w|| _8        d S )Ntest_explorer_browserzPython IExplorerBrowser demor         zRStrange - failed to get the tree control even though we asked for a EBO_SHOWFRAMES)9win32con
WM_DESTROY	OnDestroy
WM_COMMAND	OnCommandWM_SIZEOnSizewin32guiWNDCLASSwin32apiGetModuleHandle	hInstancelpszClassNamelpfnWndProcRegisterClassWS_OVERLAPPEDWINDOW
WS_VISIBLECreateWindowCW_USEDEFAULThwnd	pythoncomCoCreateInstancer   CLSID_ExplorerBrowser
CLSCTX_ALLr   IID_IExplorerBrowserAdviser   r   event_cookie
SetOptionsEBO_SHOWFRAMESGetClientRectFVM_LISTFWF_AUTOARRANGEFWF_NOWEBVIEW
InitializeFVM_DETAILSlensysargvSHGetDesktopFolderParseDisplayNameBrowseToIDListSBSP_ABSOLUTEQueryInterfaceIID_IServiceProviderQueryServiceIID_INameSpaceTreeControlSHCreateItemFromIDListIID_IShellItemSetItemStateNSTCIS_SELECTED	com_errorr   eb)r   message_mapwchinst	classAtomstyler]   rectflagsr   sptreesiexcs                 r   __init__zMainWindow.__init__,   s   dk
   '7===2$*2..	,x/BB)*""
 
	 '* &	
 
 IId<>>&:&:;;
h-...%di00"H$<x?U$UV
di8+?'@AAAsx==A
 +-->>q$QRTTUVWDD D
$ 6777 y=>>	V??/1P D -dE4HIIBb(":H<TUUUU " 	 	 	0   #JJJJJJJJ	 s   !*K L%LLc                     d S Nr#   r   r=   msgwparamlparams        r   r.   zMainWindow.OnCommandx   s    r   c                     t          d           | j                            | j                   | j                                         d | _        t          d           t          j        d           d S )Nztearing down ExplorerBrowser...zshutting down app...r   )r   r]   UnadviserD   Destroyr1   PostQuitMessagerl   s        r   r,   zMainWindow.OnDestroy{   si    /000*+++$%%% #####r   c                     t          j        |          }t          j        |          }| j                            d dd||f           d S )Nr   )r3   LOWORDHIWORDr]   SetRect)r   r=   rm   rn   ro   xys          r   r0   zMainWindow.OnSize   sD    OF##OF##q!Ql+++++r   N)r   r   r   ri   r.   r,   r0   r#   r   r   r%   r%   +   sT        J J JX  $ $ $, , , , ,r   r%   c                  H    t                      } t          j                     d S rk   )r%   r1   PumpMessages)ws    r   mainr}      s     Ar   __main__)rN   r>   r3   r*   r1   win32com.server.utilr   r   win32com.shellr   r   splitr!   r   r%   r}   r   r#   r   r   <module>r      s  
 


        - - - - - - - - * * * * * * * *"IIN        0[, [, [, [, [, [, [, [,|  
 zDFFFFF r   