PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  mY-@sxddlZddlZddlTddlmZedkrJedddlZdZdZdZd Z d Z d Z d Z d Z dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!Gd!d"d"Z"Gd#d$d$ej#e"Z#Gd%d&d&Z$ej%j&e$fej%_&Gd'd(d(ej%Z'Gd)d*d*e'Z(Gd+d,d,Z)Gd-d.d.e'Z*Gd/d0d0e'Z+Gd1d2d2e'Z,Gd3d4d4e'Z-Gd5d6d6e'Z.Gd7d8d8e'Z/Gd9d:d:e'Z0Gd;d<d<e'Z1Gd=d>d>e'Z2Gd?d@d@e'Z3GdAdBdBe'Z4GdCdDdDe'Z5GdEdFdFe'Z6GdGdHdHe'e7e8Z9GdIdJdJe'Z:GdKdLdLe'Z;GdMdNdNe'Z<GdOdPdPe'Z=GdQdRdRe'Z>GdSdTdTe'Z?GdUdVdVe'Z@GdWdXdXe'ZAGdYdZdZe'ZBGd[d\d\e'ZCGd]d^d^e'ZDGd_d`d`e'ZEGdadbdbe'ZFGdcdddde'ZGGdedfdfe'ZHGdgdhdhe'ZIGdidjdje'ZJGdkdldle'ZKGdmdndne'ZLGdodpdpe'ZMGdqdrdre'e7e8ZNGdsdtdte'ZOGdudvdve'ZPGdwdxdxeQe(ZRGdydzdzeSe(ZTGd{d|d|eUe(ZVGd}d~d~eWe(ZXGdddeYe(ZZGddde[e(Z\Gddde]e(Z^Gddde_e(Z`Gdddeae(ZbGdddece(ZdGdddeFe(ZeGddde9e(ZfGdddeEe(ZgGdddeNe(ZhGddde,e(ZiGddde.e(ZjGddde0e(ZkGddde1e(ZlGddde4e(ZmGddde,e(ZnGdddeMe(ZoGddde@e(ZpGdddeBe(ZqddZrddZsGddde'ZtGddde'e7e8ZuGdddeuZvdS)N)*) _cnfmergegˡE@z0This version of Tix.py requires Tk 4.0 or higherwindowtextstatusZ immediateimageZ imagetextZballoonZautoZ acrosstopasciiZcellcolumnZ decreasingZ increasingZintegermainmaxrealrowzs-regionzx-regionzy-regionc@seZdZdZddZddZdddZdd d Zd d Zd dZ ddZ dddZ dS) tixCommandaThe tix commands provide access to miscellaneous elements of Tix's internal state and the Tix application context. Most of the information manipulated by these commands pertains to the application as a whole, or to a screen or display, rather than to a particular window. This is a mixin class, assumed to be mixed to Tkinter.Tk that supports the self.tk.call method. cCs|jjdd|S)aTix maintains a list of directories under which the tix_getimage and tix_getbitmap commands will search for image files. The standard bitmap directory is $TIX_LIBRARY/bitmaps. The addbitmapdir command adds directory into this list. By using this command, the image files of an applications can also be located using the tix_getimage or tix_getbitmap command. tixZ addbitmapdir)tkcall)selfZ directoryr"/opt/python35/lib/python3.5/tix.pytix_addbitmapdirVs ztixCommand.tix_addbitmapdircCs|jjdd|S)zReturns the current value of the configuration option given by option. Option may be any of the options described in the CONFIGURATION OPTIONS section. rcget)rr)roptionrrrtix_cgetbsztixCommand.tix_cgetNcKs|rt||f}n|r-t|}|dkrI|jddSt|tro|jddd|S|jjd|j|S)aQuery or modify the configuration options of the Tix application context. If no option is specified, returns a dictionary all of the available options. If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given option(s) to have the given value(s); in this case the command returns an empty string. Option may be any of the configuration options. Nr configure-)rr)r _getconfigure isinstancestrZ_getconfigure1rr_options)rcnfkwrrr tix_configureis   ztixCommand.tix_configurecCs9|dk r"|jjdd|S|jjddSdS)aReturns the file selection dialog that may be shared among different calls from this application. This command will create a file selection dialog widget when it is called the first time. This dialog will be returned by all subsequent calls to tix_filedialog. An optional dlgclass parameter can be passed to specified what type of file selection dialog widget is desired. Possible options are tix FileSelectDialog or tixExFileSelectDialog. NrZ filedialog)rr)rZdlgclassrrrtix_filedialogs ztixCommand.tix_filedialogcCs|jjdd|S)aLocates a bitmap file of the name name.xpm or name in one of the bitmap directories (see the tix_addbitmapdir command above). By using tix_getbitmap, you can avoid hard coding the pathnames of the bitmap files in your application. When successful, it returns the complete pathname of the bitmap file, prefixed with the character '@'. The returned value can be used to configure the -bitmap option of the TK and Tix widgets. rZ getbitmap)rr)rnamerrr tix_getbitmaps ztixCommand.tix_getbitmapcCs|jjdd|S)aLocates an image file of the name name.xpm, name.xbm or name.ppm in one of the bitmap directories (see the addbitmapdir command above). If more than one file with the same name (but different extensions) exist, then the image type is chosen according to the depth of the X display: xbm images are chosen on monochrome displays and color images are chosen on color displays. By using tix_ getimage, you can avoid hard coding the pathnames of the image files in your application. When successful, this command returns the name of the newly created image, which can be used to configure the -image option of the Tk and Tix widgets. rZgetimage)rr)rr(rrr tix_getimages ztixCommand.tix_getimagecCs|jjddd|S)a@Gets the options maintained by the Tix scheme mechanism. Available options include: active_bg active_fg bg bold_font dark1_bg dark1_fg dark2_bg dark2_fg disabled_fg fg fixed_font font inactive_bg inactive_fg input1_bg input2_bg italic_font light1_bg light1_fg light2_bg light2_fg menu_font output1_bg output2_bg select_bg select_fg selector rrget)rr)rr(rrrtix_option_getsztixCommand.tix_option_getcCsE|dk r(|jjdd|||S|jjdd||SdS)aResets the scheme and fontset of the Tix application to newScheme and newFontSet, respectively. This affects only those widgets created after this call. Therefore, it is best to call the resetoptions command before the creation of any widgets in a Tix application. The optional parameter newScmPrio can be given to reset the priority level of the Tk options set by the Tix schemes. Because of the way Tk handles the X option database, after Tix has been has imported and inited, it is not possible to reset the color schemes and font sets using the tix config command. Instead, the tix_resetoptions command must be used. NrZ resetoptions)rr)rZ newSchemeZ newFontSetZ newScmPriorrrtix_resetoptionss ztixCommand.tix_resetoptions) __name__ __module__ __qualname____doc__rrr&r'r)r*r,r-rrrrrKs    rc@s7eZdZdZdddddZddZdS)Tkz{Toplevel widget of Tix which represents mostly the main window of an application. It has an associated Tcl interpreter.NTixcCstjj||||tjjd}|jjd|dk ro|jjd||jjd||jjddS)NZ TIX_LIBRARYz)rrrrrDsz Form.checkcCs|jjdd|jdS)Nr=forget)rrr>)rrrrrEsz Form.forgetrcCs| ro| ro|jjdd|j}|jj|}f}x'|D]}||jj|f}qHW|S|jjdd|j||S)Nr=grid)rrr> splitlistZgetint)rZxsizeZysizexyzrrrrFs z Form.gridNcCsU|s|jjdd|jS|ddkr9d|}|jjdd|j|S)Nr=inforr)rrr>)rrrrrrKs  z Form.infocs8fddjjjjddjDS)Ncsg|]}j|qSr) _nametowidget).0rH)rrr s zForm.slaves..r=slaves)rrGrr>)rr)rrrOs  z Form.slaves) r.r/r0r1r?r@rCrDrErFrKrOrrrrr<s     r<c@seZdZdZdddiiddZddZddZd d Zd d Zd dZ ddZ ddZ idddZ ddZ dS) TixWidgetaQA TixWidget class is used to package all (or most) Tix widgets. Widget initialization is extended in two ways: 1) It is possible to give a list of options which must be part of the creation command (so called Tix 'static' options). These cannot be given as a 'config' command later. 2) It is possible to give the name of an existing TK widget. These are child widgets created automatically by a Tix mega-widget. The Tk call to create these widgets is therefore bypassed in TixWidget.__init__ Both options are for use by subclasses only. Nc Cs|rt||f}n t|}f}|rC|jdn dg}xGt|jD]3\}}||kr_|d||f}||=q_W||_tj||||r|jj||j ||rtj ||i|_ dS)Noptionsr) rappendlistitems widgetNameWidget_setuprrr>r?subwidget_list) rmasterrUZstatic_optionsr$r%extrakvrrrr5s$     zTixWidget.__init__cCs*||jkr|j|St|dS)N)rXAttributeError)rr(rrr __getattr__Ks zTixWidget.__getattr__cCs|jjd|j|dS)z1Set a variable without calling its action routineZ tixSetSilentN)rrr>)rrBrrr set_silentPszTixWidget.set_silentcCsZ|j|}|s0td|d|j|t|jdd}|j|S)zSReturn the named subwidget (which must have been created by the sub-class).z Subwidget z not child of rN)_subwidget_nameTclError_namelenr>rL)rr(nrrr subwidgetTs zTixWidget.subwidgetc Css|j}|sgSg}xP|D]H}|t|jdd}y|j|j|Wq#Yq#Xq#W|S)zReturn all subwidgets.rN)_subwidget_namesrcr>rRrL)rnamesZretlistr(rrrsubwidgets_all^s   zTixWidget.subwidgets_allc Cs:y|jj|jd|SWntk r5dSYnXdS)z7Get a subwidget name (returns a String, not a Widget !)reN)rrr>ra)rr(rrrr`ms zTixWidget._subwidget_namec CsLy/|jj|jdd}|jj|SWntk rGdSYnXdS)z"Return the name of all subwidgets.Z subwidgetsz-allN)rrr>rGra)rrHrrrrfts  zTixWidget._subwidget_namescCs|dkrdSt|ts+t|}t|tsFt|}|j}x+|D]#}|jj|dd||qYWdS)z8Set configuration options for all subwidgets (and self).r9Nrr)r!r"reprrfrr)rrrBrgr(rrr config_all|s     zTixWidget.config_allcKs|s!tj}|s!td|rB|rBt||f}n |rN|}f}xI|jD];\}}t|r|j|}|d||f}qaW|jjdd|f|S)NzToo early to create imagerrcreate) r4 _default_root RuntimeErrorrrTcallable _registerrr)rZimgtyper$rYr%rQr[r\rrr image_creates    zTixWidget.image_createc Cs3y|jjdd|Wntk r.YnXdS)Nrdelete)rrra)rZimgnamerrr image_deletes zTixWidget.image_delete)r.r/r0r1r5r^r_rerhr`rfrjrprrrrrrrPs ,       rPc@s4eZdZdZddddZddZdS) TixSubWidgetzSubwidget class. This is used to mirror child widgets automatically created by Tix/Tk as part of a mega-widget in Python (which is not informed of this)rc CsK|rV|j|}y0|t|jdd}|jd}Wng}YnX|s~tj||ddd|in|}xtt|dD]p}dj|d|d} y|j| } | }Wqt k r t |||dddd}YqXqW|r|d}tj||ddd|i||_ dS)Nr.r(destroy_physicallyrcheck_intermediate) r`rcr>splitrPr5rangejoinrLKeyErrorrsru) rrYr(rurvpathZplistparentirdwrrrr5s. "   zTixSubWidget.__init__cCsx't|jjD]}|jqW|j|jjkrO|jj|j=|j|jjkrt|jj|j=|jr|jj d|j dS)Nr;) rSchildrenvaluesr;rbrYrXrurrr>)rcrrrr;s zTixSubWidget.destroyN)r.r/r0r1r5r;rrrrrss rsc@speZdZdZiddZddZddZdd Zd d Zid d Z ddZ dS) DisplayStylezRDisplayStyle - handle configuration options shared by (multiple) Display ItemscKsd|kr|d}n4d|kr2|d}ntj}|sMtd|j|_|jjd||j|||_dS)NZ refwindowz1Too early to create display style: no root windowZtixDisplayStyle)r4rlrmrrr# stylename)ritemtyper$r%rYrrrr5s       zDisplayStyle.__init__cCs|jS)N)r)rrrr__str__szDisplayStyle.__str__cCsh|r!|r!t||f}n |r-|}f}x.|jD] \}}|d||f}q@W|S)Nr)rrT)rr$r%Zoptsr[r\rrrr#s zDisplayStyle._optionscCs|jj|jddS)Nrq)rrr)rrrrrqszDisplayStyle.deletecCs$|jj|jdd||dS)Nrz-%s)rrr)rrArBrrrrCszDisplayStyle.__setitem__cKs"|j|jd|j||S)Nr)r rr#)rr$r%rrrr?szDisplayStyle.configcCs|jj|jdd|S)Nrz-%s)rrr)rrArrr __getitem__szDisplayStyle.__getitem__N) r.r/r0r1r5rr#rqrCr?rrrrrrs    rc@sCeZdZdZdiddZiddZddZdS) BalloonzBalloon help widget. Subwidget Class --------- ----- label Label message MessageNcKsmdddddg}tj||d|||t|ddd |jdr#)rwidgetr$r%rrr bind_widgetszBalloon.bind_widgetcCs |jj|jd|jdS)Nunbind)rrr>)rrrrr unbind_widget szBalloon.unbind_widget)r.r/r0r1r5rrrrrrrs  rc@sCeZdZdZdiddZiddZddZdS) ButtonBoxzgButtonBox - A container for pushbuttons. Subwidgets are the buttons added with the add method. NcKs&tj||dddg||dS)NZ tixButtonBox orientationrQ)rPr5)rrYr$r%rrrr5'szButtonBox.__init__cKsD|jj|jd||j||}t|||j|<|S)z$Add a button with given name to box.add)rrr>r# _dummyButtonrX)rr(r$r%Zbtnrrrr+s*z ButtonBox.addcCs,||jkr(|jj|jd|dS)Ninvoke)rXrrr>)rr(rrrr2szButtonBox.invoke)r.r/r0r1r5rrrrrrr#s rc@sXeZdZdZdiddZddZddZd d Zd d ZdS) ComboBoxaComboBox - an Entry field with a dropdown menu. The user can select a choice by either typing in the entry subwidget or selecting from the listbox subwidget. Subwidget Class --------- ----- entry Entry arrow Button slistbox ScrolledListBox tick Button cross Button : present if created with the fancy optionNc Kstj||dddddg||t|d|jd)rr"rrr add_historyVszComboBox.add_historycCs|jj|jd|dS)NZ appendhistory)rrr>)rr"rrrappend_historyYszComboBox.append_historycCs |jj|jd||dS)Ninsert)rrr>)rindexr"rrrr\szComboBox.insertcCs|jj|jd|dS)Npick)rrr>)rrrrrr_sz ComboBox.pick) r.r/r0r1r5rrrrrrrrr6s    rc@sXeZdZdZdiddZddZddZd d Zd d ZdS) ControlaControl - An entry field with value change arrows. The user can adjust the value by pressing the two arrow buttons or by entering the value directly into the entry. The new value will be checked against the user-defined upper and lower limits. Subwidget Class --------- ----- incr Button decr Button entry Entry label LabelNcKs{tj||ddg||t|d|jd)rrrr decrementwszControl.decrementcCs|jj|jddS)Nr)rrr>)rrrr incrementzszControl.incrementcCs|jj|jddS)Nr)rrr>)rrrrr}szControl.invokecCs|jj|jddS)Nupdate)rrr>)rrrrrszControl.update) r.r/r0r1r5rrrrrrrrrbs    rc@s1eZdZdZiddZddZdS)DirListaRDirList - displays a list view of a directory, its previous directories and its sub-directories. The user can choose one of the directories displayed in the list or change to another directory. Subwidget Class --------- ----- hlist HList hsb Scrollbar vsb ScrollbarcKsetj||ddg||t|d|jd)rdirrrrrsz DirList.chdirN)r.r/r0r1r5rrrrrrs rc@s1eZdZdZiddZddZdS)DirTreeaDirTree - Directory Listing in a hierarchical view. Displays a tree view of a directory, its previous directories and its sub-directories. The user can choose one of the directories displayed in the list or change to another directory. Subwidget Class --------- ----- hlist HList hsb Scrollbar vsb ScrollbarcKsetj||ddg||t|d|jd)rrrrrrsz DirTree.chdirN)r.r/r0r1r5rrrrrrs rc@s%eZdZdZiddZdS) DirSelectBoxaDirSelectBox - Motif style file select box. It is generally used for the user to choose a file. FileSelectBox stores the files mostly recently selected into a ComboBox widget so that they can be quickly selected again. Subwidget Class --------- ----- selection ComboBox filter ComboBox dirlist ScrolledListBox filelist ScrolledListBoxcKsOtj||ddg||t|d|jd