3 2a0@sddlZddlZddlmZmZddlmZmZmZm Z m Z ddl m Z m Z mZmZddlmZddlmZGdddeZGd d d eZGd d d eZGd ddeZedkrddlmZeddddddlmZeeedS)N) executableplatform)Toplevel StringVarWES)FrameButtonEntryLabel) filedialog)Fontcs^eZdZdidddddZddZdd d Zd d Zdd dZdddZfddZ Z S)QueryF)text0 used_names_htest_utestc CsXtj|||j||_|j|||_||_||_|j||j |j j dd}|dkry|j j dd|j ddWn YnX|j d|j|j d |j|jd |j|j d |j|j d |j|jd d d|j|j|jd|j|jd|jd|j|s2|jd|jdndf|sT|j|jdS)NtkwindowingsystemZaquaz!::tk::unsupported::MacWindowStyleZstyleZ moveableModalrz z ZWM_DELETE_WINDOWz z F)Zheightwidthz+%d+%d)r__init__ZwithdrawparenttitlemessagerrZ transientZgrab_setrZcallZ_wZbindcancelZprotocolokZ resizablecreate_widgetsZupdate_idletasksZgeometryZ winfo_rootxZ winfo_widthZwinfo_reqwidthZ winfo_rootyZ winfo_heightZwinfo_reqheightZ deiconifyZ wait_window) selfrrrrrrrrr"*/opt/alt/python36/lib64/python3.6/query.pyr%sB    *zQuery.__init__cCs.t|dd|_}|jdddd|jdddt|dd |jd }t||j|_t |d |jd |_ |j j t d d|j d|_t|dd|jd|_t|dd|jd|_t|d|jd|_|jddddtd|j jddddttddgd|jjddddttd|jjdddd|jjdddddS)N )ZpaddingrZnews)columnrowsticky)Zweightwleft)anchorjustifytext)r textvariableZ TkCaptionFontT)nameexistsroot red)r- foregroundfontZOKZactive)r-defaultcommandZCancel)r-r8)r%r& columnspanpadxr')r%r&r;r<r'padyrc)r%r&r<)r framegridZgrid_columnconfigurer rrrZentryvarr entry focus_setrr error_font entry_errorr rZ button_okrZ button_cancelrr)r!r?Z entrylabelr"r"r#r Ws.     zQuery.create_widgetsNcCsd||p|jd<dS)NzERROR: r-)rD)r!rZwidgetr"r"r# showerrorsszQuery.showerrorcCs.d|jd<|jjj}|s*|jddS|S)Nrr-z blank line.)rDrAgetstriprE)r!rAr"r"r#entry_okws   zQuery.entry_okcCs.|j}|dk r ||_|jn |jjdS)N)rHresultdestroyrArB)r!eventrAr"r"r#rs  zQuery.okcCsd|_|jdS)N)rIrJ)r!rKr"r"r#rsz Query.cancelcs|jtjdS)N)Z grab_releasesuperrJ)r!) __class__r"r#rJsz Query.destroy)N)N)N) __name__ __module__ __qualname__rr rErHrrrJ __classcell__r"r")rMr#r s1  rcs,eZdZdddfdd ZddZZS) SectionNameF)rrcstj||||||ddS)N)rrr)rLr)r!rrrrrr)rMr"r#rszSectionName.__init__cCs`d|jd<|jjj}|s*|jddSt|dkrD|jddS||jkr\|jddS|S)Nrr-zno name specified.r.z"name is longer than 30 characters.zname is already in use.)rDrArFrGrElenr)r!r0r"r"r#rHs      zSectionName.entry_ok)rNrOrPrrHrQr"r")rMr#rRsrRcs,eZdZdddfdd ZddZZS) ModuleNameF)rrcstj||||||ddS)N)rrr)rLr)r!rrrrrr)rMr"r#rszModuleName.__init__cCsd|jd<|jjj}|s*|jddSytjj|}Wn2tt fk rl}z|jt |dSd}~XnX|dkr|jddSt |j tj js|jddSy|j j|}Wn"tk r|jd|ddSX|S)Nrr-zno name specified.zmodule not foundznot a source-based modulez$loader does not support get_filename)r)rDrArFrGrE importlibutil find_spec ValueError ImportErrorstr isinstanceloaderabc SourceLoader get_filenameAttributeError)r!r0specmsgZ file_pathr"r"r#rHs.    zModuleName.entry_ok)rNrOrPrrHrQr"r")rMr#rTsrTcs\eZdZddidddfdd ZfddZdd Zd d ZejZ d d Z ddZZ S) HelpSourcerF)menuitemfilepathrrrc s(||_d}tj|||||||ddS)NzName for item on Help menu:)rrrr)rerLr) r!rrrdrerrrr)rMr"r#rs zHelpSource.__init__cstj|j}t|dddd}t||j|_t||jdd|_t |dd|j d }t|d d |j d |_ |j d ddddd gtd|jj d dddttdd gd|j dddttd|j j d dddttddS)Nr)r*z,Help File Path: Enter URL or browse for file)r+r,r-()r/rZBrowse)r-rr8r3r4)r-r5r6rr$r9r:)r%r&r;r<r=r' r)r%r&r;r<r'r=)r%r&r<r' )r%r&r;r<r')rLr r?r rrepathvarr pathr browse_filerC path_errorr@rrr)r!r?Z pathlabelZbrowse)rMr"r#r s"    zHelpSource.create_widgetscCstj||dj||dS)N)r filetypes)Z initialdirZ initialfile)r ZOpenZshow)r!rnZinitdirZinitfiler"r"r# askfilenameszHelpSource.askfilenamecCsdddddg}|jj}|r.tjj|\}}nHd}tdd d krntjjtjjtd}tjj |svtj }ntj }|j |||}|r|jj |dS)N HTML Files *.htm *.htmlTEXT PDF Files*.pdfWindows Help Files*.chm Text Files*.txt All Files*r9winZDoc)rprqrr)rsrtrr)rurv)rwrxrr)ryrz) rjrFosrksplitrjoindirnamerisdirgetcwdroset)r!rnrkdirbasefiler"r"r#rls"   zHelpSource.browse_filecCs||jjj}|s$|jd|jdS|jd sx|dddkrJ|dd}tjj|sh|jd|jdStdkrxd|}|S) Nzno help file path specified.www.httpr:zfile:zhelp file path does not exist.darwinzfile://)rr) rkrFrGrErm startswithr|r1r)r!rkr"r"r#path_oks   zHelpSource.path_okcCs@d|jd<d|jd<|j}|j}|dks4|dkr8dS||fS)Nrr-)rDrmitem_okr)r!r0rkr"r"r#rH*s   zHelpSource.entry_ok) rNrOrPrr rorlrRrHrrrQr"r")rMr#rcs rc__main__)mainzidlelib.idle_test.test_queryrF) verbosityexit)run)rUr|sysrrZtkinterrrrrrZ tkinter.ttkr r r r r Z tkinter.fontrrrRrTrcrNZunittestrZidlelib.idle_test.htestrr"r"r"r#s  w%^