qfc@sdZddlZddlZddlTddlZddlZdefdYZedkre Z dZ e e dd d e j e jndS( sKDialog to specify or edit the parameters for a user configured help source.iN(t*tGetHelpSourceDialogcBsSeZdddZdZdZdZdZddZddZ RS( tcCsCtj|||jdd|jdtdt|j||j||j|jd|j ||_ d |_ |j |jj||jj||j|j|jd|j|jd|jd|j|jd|jdf|j|jd|j|jd S( sGet 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 borderwidthitheighttwidthtWM_DELETE_WINDOWs+%d+%disN(tToplevelt__init__t configuret resizabletFALSEttitlet transienttgrab_settprotocoltCanceltparenttNonetresultt CreateWidgetstmenutsettpathtwithdrawtupdate_idletaskstgeometryt winfo_rootxt winfo_widthtwinfo_reqwidtht winfo_rootyt winfo_heighttwinfo_reqheightt deiconifytbindtOkt wait_window(tselfRR tmenuItemtfilePath((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pyR s,          c Csmt||_t||_t||_t|dddt|_|jjdtdt dt t |jdt dt d d }t|jd |jd d |_|jjt |jdt dt d d}t|jd |jd d|_|jj|jdt dddd|jjdt dddd|jdt dddd|jjdt ddddt|jd dd dd|j}|jddt|}|jdtdtt|d dd ddtd|j|_|jjddddddddt|d dd dd|j|_|jjdddddddddS(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<        %cCsdddddg}|jj}|rEtjj|\}}nmd}tjd d krtjjtjjtj d}tjj |stj }qn 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 *.htmlRT(s PDF Filess*.pdfRT(sWindows Help Filess*.chm(s Text Filess*.txtRT(s All FilesR(RtgettostsplitRtsystplatformtjointdirnamet executabletisdirtgetcwdt tkFileDialogtOpentshowR(R%RWRtdirtbaset opendialogtfile((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pyRILs$ $ cCst}|jj}|j|sWtjddddd||jjt}nDt |dkrtjddddd||jjt}n|S(s3Simple validity check for a sensible menu item nameR sMenu Item ErrortmessagesNo menu item specifiedRis(Menu item too long: Limit 30 characters.( tTrueRRZtstript tkMessageBoxt showerrorRERFtFalsetlen(R%tmenuOkR((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pytMenuOkcs      cCst}|jj}|j|sWtjddddd||jjt}ns|j d rina|d d kr|d}nt jj |stjdddd d||jjt}n|S( s(Simple validity check for menu file pathR sFile Path ErrorRksNo help file path specified.Rswww.thttpisfile:sHelp file path does not exist.(swww.Rt( RlRRZRmRnRoRGRFRpt startswithR[texists(R%tpathOkR((s4/usr/lib64/python2.7/idlelib/configHelpSourceEdit.pytPathOkws(      cCs|jr|jr|jjj|jjjf|_tjdkr|jd}|j drsqt |j|_d||jds