� {fc@s�dZddlZddlZddlTddlZddlZdefd��YZedkrddl m Z e e�ndS(sKDialog to specify or edit the parameters for a user configured help source.i����N(t*tGetHelpSourceDialogcBsVeZdded�Zd�Zd�Zd�Zd�Zdd�Z dd�Z RS( tcCsOtj||�|jdd�|jdtdt�|j|�|j|�|j�|jd|j �||_ d |_ |j �|jj|�|jj|�|j�|j�|jd|j�|j�d|j�d|j�|s|j�d|j�dndf�|j�|jd |j�|j�d S( s2Get 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. _htest - bool, change box location when running htest t borderwidthitheighttwidthtWM_DELETE_WINDOWs+%d+%dii�sN(tToplevelt__init__t configuret resizabletFALSEttitlet transienttgrab_settprotocoltCanceltparenttNonetresultt CreateWidgetstmenutsettpathtwithdrawtupdate_idletaskstgeometryt winfo_rootxt winfo_widthtwinfo_reqwidtht winfo_rootyt winfo_heighttwinfo_reqheightt deiconifytbindtOkt wait_window(tselfRR tmenuItemtfilePatht_htest((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pyR s.           0 c Csmt|�|_t|�|_t|�|_t|dddt�|_|jjdtdt dt �t |jdt dt d d �}t|jd |jd d �|_|jj�t |jdt dt d d�}t|jd |jd d�|_|jj�|jdt dddd�|jjdt dddd�|jdt dddd�|jjdt dddd�t|jd dd dd|j�}|jdd�t|�}|jdtdt�t|d dd ddtd|j�|_|jjdddddddd�t|d dd dd|j�|_|jjdddddddd�dS(NRitrelieftsidetexpandtfilltanchortjustifyttexts Menu Item:t textvariableRis,Help File Path: Enter URL or browse for filei(tpadxitpadyitBrowseitcommandtOKtdefaulttrowitcolumnRi(t StringVarRRtfontSizetFrametGROOVEt frameMaintpacktTOPtTRUEtBOTHtLabeltWtLEFTtEntryt entryMenut focus_sett entryPathtButtont browseFiletBOTTOMtXtACTIVER#tbuttonOktgridRt buttonCancel(R%t labelMenut labelPatht browseButtont frameButtons((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pyR/s<        %cCs�dddddg}|jj�}|rEtjj|�\}}nmd}tjd d kr�tjjtjjtj �d�}tjj |�s�tj �}q�n tj �}t j d|d|�}|jd|d|�}|r�|jj|�ndS(Ns HTML Filess *.htm *.htmltTEXTs PDF Filess*.pdfsWindows Help Filess*.chms Text Filess*.txts All FilesRitwintDocRt filetypest initialdirt initialfile(s HTML Filess *.htm *.htmlRU(s PDF Filess*.pdfRU(sWindows Help Filess*.chm(s Text Filess*.txtRU(s All FilesR(RtgettostsplitRtsystplatformtjointdirnamet executabletisdirtgetcwdt tkFileDialogtOpentshowR(R%RXRtdirtbaset opendialogtfile((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pyRJOs$ $ cCs�t}|jj�}|j�|sWtjddddd|�|jj�t}nDt |�dkr�tjddddd|�|jj�t}n|S(s3Simple validity check for a sensible menu item nameR sMenu Item ErrortmessagesNo menu item specifiedRis(Menu item too long: Limit 30 characters.( tTrueRR[tstript tkMessageBoxt showerrorRFRGtFalsetlen(R%tmenuOkR((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pytMenuOkfs      cCs�t}|jj�}|j�|sWtjddddd|�|jj�t}ns|j d �rina|d d kr�|d}nt jj |�s�tjdddd d|�|jj�t}n|S( s(Simple validity check for menu file pathR sFile Path ErrorRlsNo help file path specified.Rswww.thttpisfile:sHelp file path does not exist.(swww.Ru( RmRR[RnRoRpRHRGRqt startswithR\texists(R%tpathOkR((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pytPathOkzs(      cCs�|j�r�|j�r�|jj�j�|jj�j�f|_tjdkr�|jd}|j d�rsq�t |j�|_d||jds     �