mς
­fIc           @   s   d  Z  d k Z d k Z d k Td k Z d k Z d e f d     YZ e d j o< e	   Z
 d   Z e e
 d d d	 e i   e
 i   n d S(
   sK   Dialog to specify or edit the parameters for a user configured help source.N(   t   *t   GetHelpSourceDialogc           B   sS   t  Z d d d  Z d   Z d   Z d   Z d   Z d  d  Z d  d  Z	 RS(	   Nt    c         C   sC  t  i |  |  |  i d d  |  i d t d t  |  i |  |  i |  |  i	   |  i
 d |  i  | |  _ d	 |  _ |  i   |  i i |  |  i i |  |  i   |  i   |  i d | i   | i   d |  i   d | i   | i   d |  i   d f  |  i   |  i d |  i  |  i    d	 S(
   sτ   Get menu entry and url/ local file location for Additional Help

        User selects a name for the Help resource and provides a web url
        or a local file as its source.  The user can enter a url or browse
        for the file.

        t   borderwidthi   t   heightt   widtht   WM_DELETE_WINDOWs   +%d+%di   s   <Return>N(!   t   Toplevelt   __init__t   selft   parentt	   configuret	   resizablet   FALSEt   titlet	   transientt   grab_sett   protocolt   Cancelt   Nonet   resultt   CreateWidgetst   menut   sett   menuItemt   patht   filePatht   withdrawt   update_idletaskst   geometryt   winfo_rootxt   winfo_widtht   winfo_reqwidtht   winfo_rootyt   winfo_heightt   winfo_reqheightt	   deiconifyt   bindt   Okt   wait_window(   R	   R
   R   R   R   (    (    t9   /mit/python/lib/python2.4/idlelib/configHelpSourceEdit.pyR      s&     
		


[
c      
   C   sm  t  |   |  _ t  |   |  _ t  |   |  _ t |  d d d t |  _ |  i i d t	 d t
 d t  t |  i d t d t d	 d
 } t |  i d |  i d d |  _ |  i i   t |  i d t d t d	 d } t |  i d |  i d d |  _ |  i i   | i d t d d d d  |  i i d t d d d d  | i d t d d d d  |  i i d t d d d d  t |  i d	 d d d d |  i } | i d d  t |   } | i d t d t  t | d	 d d d d t d |  i |  _ |  i i d d d d d d d d  t | d	 d d d d |  i |  _  |  i  i d d d d d d d d  d  S(   NR   i   t   relieft   sidet   expandt   fillt   anchort   justifyt   texts
   Menu Item:t   textvariableR   i   s,   Help File Path: Enter URL or browse for filei(   t   padxi   t   padyi   t   Browsei   t   commandt   OKt   defaultt   rowi    t   columnR   i   (!   t	   StringVarR	   R   R   t   fontSizet   Framet   GROOVEt	   frameMaint   packt   TOPt   TRUEt   BOTHt   Labelt   Wt   LEFTt	   labelMenut   Entryt	   entryMenut	   focus_sett	   labelPatht	   entryPatht   Buttont
   browseFilet   browseButtont   frameButtonst   BOTTOMt   Xt   ACTIVER&   t   buttonOkt   gridR   t   buttonCancel(   R	   RN   RE   RI   RM   (    (    R(   R   ,   s<    %c         C   s  d d d d d g } |  i i   } | o t i i |  \ } } nr d  } t	 i
 d  d j oK t i i t i i t	 i  d  } t i i |  p t i   } qΈ n t i   } t i d |  d |  } | i d | d |  } | o |  i i |  n d  S(   Ns
   HTML Filess   *.htm *.htmlt   TEXTs	   PDF Filess   *.pdfs   Windows Help Filess   *.chms
   Text Filess   *.txts	   All FilesR    i   t   wint   DocR
   t	   filetypest
   initialdirt   initialfile(   s
   HTML Filess   *.htm *.htmlRU   (   s	   PDF Filess   *.pdfRU   (   s   Windows Help Filess   *.chm(   s
   Text Filess   *.txtRU   (   s	   All FilesR    (   RX   R	   R   t   gett   ost   splitt   dirt   baseR   t   syst   platformt   joint   dirnamet
   executablet   isdirt   getcwdt   tkFileDialogt   Opent
   opendialogt   showt   fileR   (   R	   Ri   R_   Rk   R   RX   R^   (    (    R(   RL   L   s    $c         C   s£   t  } |  i i   } | i   | p3 t i d d d d d |   |  i i	   t
 } nG t |  d j o3 t i d d d d d |   |  i i	   t
 } n | S(	   s3   Simple validity check for a sensible menu item nameR   s   Menu Item Errort   messages   No menu item specifiedR
   i   s(   Menu item too long:
Limit 30 characters.N(   t   Truet   menuOkR	   R   R[   t   stript   tkMessageBoxt	   showerrorRG   RH   t   Falset   len(   R	   R   Rn   (    (    R(   t   MenuOkc   s"     




c         C   sζ   t  } |  i i   } | i   | p3 t i d d d d d |   |  i i	   t
 } n | i d  p | i d  o nf | d  d	 j o | d } n t i i |  p3 t i d d d d
 d |   |  i i	   t
 } n | S(   s(   Simple validity check for menu file pathR   s   File Path ErrorRl   s   No help file path specified.R
   s   www.t   httpi   s   file:s   Help file path does not exist.N(   Rm   t   pathOkR	   R   R[   Ro   Rp   Rq   RJ   RH   Rr   t
   startswithR\   t   exists(   R	   Rv   R   (    (    R(   t   PathOkw   s*     


 

c         C   sΡ   |  i   oΐ |  i   o³ |  i i   i   |  i i   i   f |  _ t i	 d j oh |  i d } | i
 d  p  | i
 d  p | i
 d  o qΏ t |  i  |  _ d | |  i d <n |  i   n d  S(   Nt   darwini   t   wwws   file:s   http:s   file://(   R	   Rt   Ry   R   R[   Ro   R   R   R`   Ra   Rw   t   listt   destroy(   R	   t   eventR   (    (    R(   R&      s    -0c         C   s   d  |  _ |  i   d  S(   N(   R   R	   R   R}   (   R	   R~   (    (    R(   R      s    	(
   t   __name__t
   __module__R   R   RL   Rt   Ry   R   R&   R   (    (    (    R(   R   
   s   !	 			t   __main__c          C   s!   d } t t d  }  |  i GHd  S(   NR   s   Get Help Source(   t   keySeqR   t   roott   dlgR   (   R   R   (    (    R(   t   run₯   s    R/   t   DialogR4   (   t   __doc__R\   R`   t   TkinterRp   Rg   R   R   R   t   TkR   R   RK   R>   t   mainloop(   R   Rg   R   R`   Rp   R\   R   (    (    R(   t   ?   s   						