�`^c@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
tborderwidthitheighttwidthtWM_DELETE_WINDOWs+%d+%dii�s<Return>N(tToplevelt__init__t configuret resizabletFALSEttitlet transienttgrab_settprotocoltCanceltparenttNonetresultt
CreateWidgetstmenutsettpathtwithdrawtupdate_idletaskstgeometrytwinfo_rootxtwinfo_widthtwinfo_reqwidthtwinfo_rootytwinfo_heighttwinfo_reqheightt deiconifytbindtOktwait_window(tselfRRtmenuItemtfilePatht_htest((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pyRs.
0
c
Csmt|�|_t|�|_t|�|_t|dddt�|_|jjdtdt dt
�t|jdtdt
d d
�}t|jd|jdd
�|_|jj�t|jdtdt
d d�}t|jd|jdd�|_|jj�|jdtdddd�|jjdtdddd�|jdtdddd�|jjdtdddd�t|jd dddd|j�}|jdd�t|�}|jdtdt�t|d ddddtd|j�|_|jjdddddddd�t|d dddd|j�|_|jjdddddddd�dS(NRitrelieftsidetexpandtfilltanchortjustifyttexts
Menu Item:ttextvariableRis,Help File Path: Enter URL or browse for filei(tpadxitpadyitBrowseitcommandtOKtdefaulttrowitcolumnRi(t StringVarRRtfontSizetFrametGROOVEt frameMaintpacktTOPtTRUEtBOTHtLabeltWtLEFTtEntryt entryMenut focus_sett entryPathtButtont
browseFiletBOTTOMtXtACTIVER#tbuttonOktgridRtbuttonCancel(R%t labelMenut labelPathtbrowseButtontframeButtons((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pyR/s<
%cCs�dddddg}|jj�}|rEtjj|�\}}nmd}tjd d
kr�tjjtjjtj �d�}tjj
|�s�tj�}q�ntj�}tj
d|d|�}|jd|d|�}|r�jj|�ndS(Ns
HTML Filess*.htm *.htmltTEXTs PDF Filess*.pdfsWindows Help Filess*.chms
Text Filess*.txts All FilesRitwintDocRt filetypest
initialdirtinitialfile(s
HTML Filess*.htm *.htmlRU(s PDF Filess*.pdfRU(sWindows Help Filess*.chm(s
Text Filess*.txtRU(s All FilesR(RtgettostsplitRtsystplatformtjointdirnamet
executabletisdirtgetcwdttkFileDialogtOpentshowR(R%RXRtdirtbaset
opendialogtfile((s2/sys/lib/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 nameRsMenu Item ErrortmessagesNo menu item specifiedRis(Menu item too long:
Limit 30 characters.(
tTrueRR[tstripttkMessageBoxt showerrorRFRGtFalsetlen(R%tmenuOkR((s2/sys/lib/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 pathRsFile Path ErrorRlsNo help file path specified.Rswww.thttpisfile:sHelp file path does not exist.(swww.Ru(RmRR[RnRoRpRHRGRqt
startswithR\texists(R%tpathOkR((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pytPathOkzs(
cCs�|j�r�|j�r�|jj�j�|jj�j�f|_tjdkr�|jd}|j d�rsq�t
|j�|_d||jd<n|j�ndS(Ntdarwinitwwwsfile:shttp:sfile://(R{sfile:shttp:(RtRyRR[RnRRR^R_Rvtlisttdestroy(R%teventR((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pyR#�s
cCsd|_|j�dS(N(RRR}(R%R~((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pyR�s N(t__name__t
__module__RqRRRJRtRyRR#R(((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pyR
s$ t__main__(trun(t__doc__R\R^tTkinterRoReRRRtidlelib.idle_test.htestR�(((s2/sys/lib/python2.7/idlelib/configHelpSourceEdit.pyt<module>s
�
|