&2_ZSrSSKrSSKrSSKrSSKrSSKr\R rSSK7 SSKrSr Sr \ "\R5r \ "\R5r\R r\R"r\R$r\R&"S5r\R&"S\R*5rSrS rS r\R2rS r\R6rSuS jr"SS\R:"SS55rSr\R@"\RB5"SS55r""SS5r#S q$Sq%Sr&SvSjr'Sr(Sr)Sr*SwSjr+Sq,"SS5r-"SS\-5r."S S!\-5r/"S"S#\-5r0"S$S%\-5r1SwS&jr2\3r4\ r5S'r6"S(S)5r7"S*S+5r8"S,S-5r9"S.S/5r:"S0S15r;"S2S3\7\;5r<\RzS4.S5jr>SxS6jr?"S7S85r@"S9S:5rA"S;S<5rB"S=S>\75rC"S?S@\C\@\A\B5rD"SASB\C\;5rE"SCSD\D5rF"SESF\D\9\:5rGSqH"SGSH\D5rI"SISJ\D\95rJ"SKSL\D5rK"SMSN\D5rL"SOSP\D\9\:5rM"SQSR\D5rN"SSST\D5rO"SUSV\D5rP"SWSX\D5rQ"SYSZ\D5rR"S[S\\D5rS"S]S^\D\9\:5rT"S_S`5rU"SaSb\O5rV"ScSd5rW"SeSf\W5rX"SgSh\W5rYSirZSjr["SkSl\D\95r\"SmSn\D5r]"SoSp\D5r^Sqr_\`"5R5VVs/sHAupURSr5(aM\c"U\R5(aM7USs;dM?UPMC snnre\fSt:Xa\_"5 gg!\a GNf=f!\a GNf=fs snnf)ya8Wrapper functions for Tcl/Tk. Tkinter provides classes which allow the display, positioning and control of widgets. Toplevel widgets are Tk and Toplevel. Other widgets are Frame, Label, Entry, Text, Canvas, Button, Radiobutton, Checkbutton, Scale, Listbox, Scrollbar, OptionMenu, Spinbox LabelFrame and PanedWindow. Properties of the widgets are specified with keyword arguments. Keyword arguments have the same name as the corresponding resource under Tk. Widgets are positioned with one of the geometry managers Place, Pack or Grid. These managers can be called with methods place, pack, grid available in every Widget. Actions are bound to events by resources (e.g. keyword argument command) or with the method bind. Example (Hello, World): import tkinter from tkinter.constants import * tk = tkinter.Tk() frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2) frame.pack(fill=BOTH,expand=1) label = tkinter.Label(frame, text="Hello, World") label.pack(fill=X, expand=1) button = tkinter.Button(frame,text="Exit",command=tk.destroy) button.pack(side=BOTTOM) tk.mainloop() N)*Fz([\\{}])z([\s])c@SR[[U55$)Internal function. )joinmap _stringifyvalues 7/opt/alt/python313/lib64/python3.13/tkinter/__init__.py_joinr:s 88C E* ++cj[U[[45(aO[U5S:Xa/[ US5n[ R U5(aSU-nU$S[U5-nU$[U[5(a [US5nO [U5nU(dSnU$[ R U5(aN[ RSU5nURSS5n[RSU5nUSS :XaS U-nU$USS :Xd[R U5(aSU-nU$) rrrz{%s}latin1z{}z\\\1 z\n"\) isinstancelisttuplelenr _magic_researchrbytesstrsubreplace _space_rer s r r r ?s %$'' u:?uQx(E&&& L#U5\)E" L eU # #x(EJEE L  e $ $MM'51EMM$.EMM'51EQx3u  L1X_ 0 0 7 7UNE LrcSnUH8n[U[[45(aU[U5-nM.UcM3X4-nM: U$)r)rrr_flatten)seqresitems r r"r"[sF C dUDM * *&C  -C  JrcR[U[5(aU$[U[S5[45(aU$0n[ U5HnUR U5 M U$![ [4a4n[SU5 UR5H upEXQU'M SnAMZSnAff=f)rNz_cnfmerge: fallback due to:) rdicttyperr"updateAttributeError TypeErrorprintitems)cnfscnfcmsgkvs r _cnfmerger4js$ D4:s+ , , $A  1   #I. 3S9GGIDAF& s A""B&2)B!!B&Tc URU5n[U5S-(a [S5e[U5n0n[ XU5H8upx[ U5nU(aUSS:XaUSSnU(aU"U5nXU'M: U$)zReturn a properly formatted dict built from Tcl list pairs. If cut_minus is True, the supposed '-' prefix will be removed from keys. If conv is specified, it is used to convert values. Tcl list is expected to contain an even number of elements. zNTcl list representing a dict is expected to contain an even number of elementsr-rN) splitlistr RuntimeErroriterzipr) tkr3 cut_minusconvtitr'keyr s r _splitdictrBs QA 1vzCD D aB D"k #h Q3ab'C KES " Krc\rSrSrSrSrg)_VersionInfoTypecURS:Xa(URSURSUR3$URSURURSUR3$)Nfinal.r) releaselevelmajorminormicroserialselfs r __str___VersionInfoType.__str__sd    'jj\4::,a |< <jj\4::,t/@/@/C.DT[[MR Rrr!N)__name__ __module__ __qualname____firstlineno__rP__static_attributes__r!rr rDrDsSrrD)rJrKrLrIrMcSSKnUR"SU5nUR5up4pV[U5[U5[U5pdnUS:XaUnSnSnO SnSSS.Un[ X4XuU5$)Nrz(\d+)\.(\d+)([ab.])(\d+)rHrGalphabeta)ab)re fullmatchgroupsintrD)versionr\mrJrKrIrMrLs r _parse_versionrbsw  0':A)*&E,u:s5z3v;&Es $62<@ E%v FFrc\rSrSrSr\rSrSr\rSr Sr Sr Sr S r S rS rS rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#S r$S!r%S"r&S#r'S$r(S%r)S&r*S'r+g()) EventType234567891011121314151617181920212223242526272829303132333435363738r!N),rRrSrTrUKeyPressKey KeyRelease ButtonPressButton ButtonReleaseMotionEnterLeaveFocusInFocusOutKeymapExposeGraphicsExposeNoExpose VisibilityCreateDestroyUnmapMap MapRequestReparent ConfigureConfigureRequestGravity ResizeRequest CirculateCirculateRequestPropertySelectionClearSelectionRequest SelectionColormap ClientMessageMapping VirtualEventActivate Deactivate MouseWheelrVr!rr rdrdsH CJK FM F E EGH F FNHJ FG E CJHIGMIHNIHMGLHJJrrdc\rSrSrSrSrSrg)Eventa:Container for the properties of an event. Instances of this type are generated if one of the following events occurs: KeyPress, KeyRelease - for keyboard events ButtonPress, ButtonRelease, Motion, Enter, Leave, MouseWheel - for mouse events Visibility, Unmap, Map, Expose, FocusIn, FocusOut, Circulate, Colormap, Gravity, Reparent, Property, Destroy, Activate, Deactivate - for window events. If a callback function for one of these events is registered using bind, bind_all, bind_class, or tag_bind, the callback is called with an Event as first argument. It will have the following attributes (in braces are the event types for which the attribute is valid): serial - serial number of event num - mouse button pressed (ButtonPress, ButtonRelease) focus - whether the window has the focus (Enter, Leave) height - height of the exposed window (Configure, Expose) width - width of the exposed window (Configure, Expose) keycode - keycode of the pressed key (KeyPress, KeyRelease) state - state of the event as a number (ButtonPress, ButtonRelease, Enter, KeyPress, KeyRelease, Leave, Motion) state - state as a string (Visibility) time - when the event occurred x - x-position of the mouse y - y-position of the mouse x_root - x-position of the mouse on the screen (ButtonPress, ButtonRelease, KeyPress, KeyRelease, Motion) y_root - y-position of the mouse on the screen (ButtonPress, ButtonRelease, KeyPress, KeyRelease, Motion) char - pressed character (KeyPress, KeyRelease) send_event - see X/Windows documentation keysym - keysym of the event as a string (KeyPress, KeyRelease) keysym_num - keysym of the event as a number (KeyPress, KeyRelease) type - type of the event as a number widget - widget in which the event occurred delta - delta of wheel movement (MouseWheel) cb^ URR5VVs0sHupUS:wdM X_M snnm UR(dT S O(URS:wa[UR5T S'[ USS5(dT S UR S:XaT S O[ UR [5(aUR nSn/n[U5H%upgUSU--(dMURU5 M' US[U5-S- )-nU(dU(dUR[U55 S RU5T S'URS:XaT S S nS [ URS UR5<SSRU 4SjU55<S3$s snnf)Nz??char send_eventTrstate) ShiftLockControlMod1Mod2Mod3Mod4Mod5Button1Button2Button3Button4Button5r|delta) rrkeysymkeycodernumrfocusxywidthheight<namez eventc3L># UHoT;dM SU<STU<3v M g7f)r=Nr!).0r2attrss r !Event.__repr__..'s#Id5j,j58,ds $$>)__dict__r-rreprgetattrrrr_ enumerateappendrhexrrr() rOr2r3rmodssinkeysrs @r __repr__Event.__repr__sm"&--"5"5"7E"7$!19"7Eyyf YY$  OE&Mt\400l# ::?g  C ( (JJEKDA!$AF##HHQK(q3t9}122EAU$ XXa[E'N ::?g - DIIvtyy 1 GGIdI I  AFs F+F+r!N)rRrSrTrU__doc__rrVr!rr rrs (T$ rrcSqSqBg)zInhibit setting of default root window. Call this function to inhibit that the first instance of Tk is used for windows without an explicit parent window. FN)_support_default_root _default_rootr!rr NoDefaultRootr/s"Mrc[(d [S5e[c U(a[SUS35e[5n[$)NINo master specified and tkinter is configured to not support default rootz Too early to z: no default root window)rr9rTk)whatroots r _get_default_rootr=sH DE E tf4LMN Nt rc[(d [S5e[nUc%Sq[5nSqUR 5 SUlU$)NrFT)rr9rrwithdraw _temporaryrs r _get_temp_rootrIsO DE E D | %t $  Krcl[USS5(aUR5 gg![a gf=f)NrF)rdestroyTclErrormasters r _destroy_temp_rootrZs9v|U++  NN ,   s & 33cgrNr!)errs r _tkerrorrbsrcP[U5n[U5e![a Nf=f)zBInternal function. Calling it will raise the exception SystemExit.)r_ ValueError SystemExit)codes r _exitrgs1 4y T     s  %%c~\rSrSrSrSrSrSrSSjrSr Sr Sr \ r S r S rS rS rS rSr\rSrSrSrSrg)VariableiszClass to define value holders for e.g. buttons. Subclasses StringVar, IntVar, DoubleVar, BooleanVar are specializations that constrain the type of the value returned from get().rNcUb [U[5(d [S5eUc [S5nUR 5UlUR UlU(aX0lO S[[5-Ul[S- q UbURU5 gUR RUR RSSUR55(dURUR5 gg)zConstruct a variable MASTER can be given as master widget. VALUE is an optional value (defaults to "") NAME is an optional Tcl name (defaults to PY_VARnum). If NAME matches an existing variable and VALUE is omitted then the existing value is retained. Nzname must be a stringzcreate variablePY_VARrinfoexists)rrr+r_rootr<_tk_namer_varnum initialize getbooleancall_defaultrOrr rs r __init__Variable.__init__|s  JtS$9$934 4 >&'89F\\^ 99 J!DM1DJ qLG   OOE "$$TXX]]68TZZ%PQQ OODMM *RrczURcgURRURRSSUR55(a%URR UR5 UR b6UR HnURR U5 M SUlgg)zUnset the variable in Tcl.Nr r )r rrrglobalunsetvar _tclCommands deletecommandrOrs r __del__Variable.__del__s 88   88  txx}}VXtzzJ K K HH # #DJJ /    ())&&t,* $D  )rcUR$)z'Return the name of the variable in Tcl.)rrNs r rPVariable.__str__s zzrcNURRURU5$zSet the variable to VALUE.)r  globalsetvarrrOr s r set Variable.setsxx$$TZZ77rcLURRUR5$)zReturn value of variable.)r  globalgetvarrrNs r get Variable.getsxx$$TZZ00rc|[USUR5Rn[[ U55nUR nX1R-nURRX25 URc/Ul URRU5 U$![ a Ngf=f![ a Nhf=fN) CallWrapperr __call__rid__func__r*rRr  createcommandrr)rOcallbackfcbnames r _registerVariable._registers $ 3 < <be ((H ///F v)    $ "D    (       s# BB. B+*B+. B;:B;c|URU5nURRSSSURX45 U$)zDefine a trace callback for the variable. Mode is one of "read", "write", "unset", or a list or tuple of such strings. Callback must be a function which is called when the variable is read, written or unset. Return the name of the callback. traceaddvariabler4r rrrOmoder1r3s r trace_addVariable.trace_adds8)  gujjj$  3 rc^URRSSSURX5 UR5H)up4URR U5SU:XdM) g URR U5 UR RU5 g![a gf=f)zDelete the trace callback for a variable. Mode is one of "read", "write", "unset" or a list or tuple of such strings. Must be same as were specified in trace_add(). cbname is the name of the callback returned from trace_add(). r7remover9rN) r rr trace_infor8rrr@rrOr<r3racas r trace_removeVariable.trace_removes  gxjj$ 0__&EAxx!!"%a(F2' HH " "6 * !!((0  sB B,+B,c URRn[UU"URRSSSUR555VVs/sHup#U"U5U4PM snn$s snnf)z&Return all trace callback information.r7r r9)r r8r rr)rOr8r2r3s r rAVariable.trace_infosoHH&& .1) dhhmmGVZL M/OP/Oda1q!/OP PPsA,cxURU5nURRSSURX5 U$)a]Define a trace callback for the variable. MODE is one of "r", "w", "u" for read, write, undefine. CALLBACK must be a function which is called when the variable is read, written or undefined. Return the name of the callback. This deprecated method wraps a deprecated Tcl method that will likely be removed in the future. Use trace_add() instead. r7r9r:r;s r trace_variableVariable.trace_variables1)  gz4::tD rcURRSSURX5 URRU5SnUR 5H)up4URRU5SU:XdM) g URR U5 UR RU5 g![a gf=f)a+Delete the trace callback for a variable. MODE is one of "r", "w", "u" for read, write, undefine. CBNAME is the name of the callback returned from trace_variable or trace. This deprecated method wraps a deprecated Tcl method that will likely be removed in the future. Use trace_remove() instead. r7vdeleterN) r rrr8rArrr@rrBs r trace_vdeleteVariable.trace_vdeletes  gy$**dC##F+A.__&EAxx!!"%a(F2' HH " "6 * !!((0  s B<< C C cURRURRSSUR55Vs/sHoRRU5PM sn$s snf)zReturn all trace callback information. This deprecated method wraps a deprecated Tcl method that will likely be removed in the future. Use trace_info() instead. r7vinfo)r r8rrrOrs r trace_vinfoVariable.trace_vinfos^04xx/A/A HHMM'7DJJ 709:09!""1%09: ::s$A*c[U[5(d[$URUR:H=(aM URR URR :H=(a UR UR :H$r+)rrNotImplementedr __class__rRr )rOothers r __eq__Variable.__eq__s`%**! ! ekk)*NN++u/G/GG*HH ) +r)rr rr NNN)rRrSrTrUrrr rrrrPr$rr(r4r=rDrArIr7rMrRrXrVr!rr rrssiAH CL+< %8J1" &P " E,:+rrc,\rSrSrSrSrSSjrSrSrg) StringVari'z#Value holder for strings variables.rNc0[RXX#5 g)aConstruct a string variable. MASTER can be given as master widget. VALUE is an optional value (defaults to "") NAME is an optional Tcl name (defaults to PY_VARnum). If NAME matches an existing variable and VALUE is omitted then the existing value is retained. Nrrrs r rStringVar.__init__+ $4rcURRUR5n[U[5(aU$[ U5$)z#Return value of variable as string.)r r'rrrr#s r r( StringVar.get7s6%%djj1 eS ! !L5zrr!rZ rRrSrTrUrrrr(rVr!rr r\r\'s-H 5rr\c,\rSrSrSrSrSSjrSrSrg) IntVari?z#Value holder for integer variables.rNc0[RXX#5 g)aConstruct an integer variable. MASTER can be given as master widget. VALUE is an optional value (defaults to 0) NAME is an optional Tcl name (defaults to PY_VARnum). If NAME matches an existing variable and VALUE is omitted then the existing value is retained. Nr^rs r rIntVar.__init__Cr`rcURRUR5nURRU5$![[ 4a' [ URRU55s$f=f)z/Return the value of the variable as an integer.)r r'rgetintr+rr_ getdoubler#s r r( IntVar.getOs`%%djj1 288??5) )8$ 2txx))%01 1 2sA4A98A9r!rZrcr!rr rere?s-H 52rrec,\rSrSrSrSrSSjrSrSrg) DoubleVariXz!Value holder for float variables.gNc0[RXX#5 g)aConstruct a float variable. MASTER can be given as master widget. VALUE is an optional value (defaults to 0.0) NAME is an optional Tcl name (defaults to PY_VARnum). If NAME matches an existing variable and VALUE is omitted then the existing value is retained. Nr^rs r rDoubleVar.__init__\r`rc~URRURRUR55$)z,Return the value of the variable as a float.)r rjr'rrNs r r( DoubleVar.geths*xx!!$(("7"7 "CDDrr!rZrcr!rr rmrmXs+H 5Errmc6\rSrSrSrSrS SjrSr\rSr Sr g) BooleanVarimz#Value holder for boolean variables.FNc0[RXX#5 g)a Construct a boolean variable. MASTER can be given as master widget. VALUE is an optional value (defaults to False) NAME is an optional Tcl name (defaults to PY_VARnum). If NAME matches an existing variable and VALUE is omitted then the existing value is retained. Nr^rs r rBooleanVar.__init__qr`rcURRURURRU55$r!)r r"rrr#s r r$BooleanVar.set}s,xx$$TZZ1D1DU1KLLrcURRURRUR55$![a [ S5ef=f)z+Return the value of the variable as a bool. invalid literal for getboolean())r rr'rrrrNs r r(BooleanVar.getsM A88&&txx'<'S0r?S1r@S2rAS3rBS4rCS5rDSS6jrESS7jrF\FrGS8rHSS9jrISS:jrJS;rKS<rLS=rMS>rNSS?jrOS@rPSArQSBrRSCrSSDrTSErUSSFjrVSGrWSHrXSIrYSJrZSSKjr[SLr\SMr]SNr^SOr_SPr`SQraSRrbSSrcSTrdSUreSVrfSWrgSXrhSYriSZrjS[rkS\rlS]rmS^rnS_roS`rpSarqSSbjrrScrsSdrtSeruSfrvSgrwShrxSirySjrzSkr{Slr|Smr}SSnjr~SSojrSSpjrSSqjrSSrjrSSsjrStrSSujrSvrSSwjrSxrSyrSzrS{rS|r\S}5rSS~jrSr\rSSjr\rSrSrSGR-\5rSrSrSrSrSrSSjr\rSr\rSrSrSrSrS/r\4Sjr\rSr\rSrSSjr\rSSjr\rSrSr04Sjr\rSr\4Sjr04Sjr\rSr\rSSjrSrSrSrSSjrSrSrSrg)MiscizNInternal class. Base class which defines methods common for interior widgets.NcURb6URHnURRU5 M SUlgg)z[Internal function. Delete all Tcl commands created for this widget in the Tcl interpreter.N)rr<rrs r r Misc.destroys?    ())%%d+* $D  )rcURRU5 URRU5 g![a gf=f)zURRSSU5 g)zsWait until the variable is modified. A parameter of type IntVar, StringVar, DoubleVar or BooleanVar must be given.tkwaitr9Nrrs r wait_variableMisc.wait_variables  Xz40rc\UcUnURRSSUR5 g)zIWait until a WIDGET is destroyed. If no parameter is given self is used.Nrwindowr<r_wrOrs r wait_windowMisc.wait_windows& >F  Xx3rc\UcUnURRSSUR5 g)zhWait until the visibility of a WIDGET changes (e.g. it appears). If no parameter is given self is used.Nr visibilityrrs r wait_visibilityMisc.wait_visibilitys& >F  X|VYY7rc:URRX5 g)zSet Tcl variable NAME to VALUE.N)r<setvar)rOrr s r r Misc.setvars t#rc8URRU5$)z"Return value of Tcl variable NAME.)r<getvarrs r r Misc.getvarsww~~d##rcURRU5$![an[[ U55eSnAff=fr+)r<rirrrrOrexcs r ri Misc.getints9 '77>>!$ $ 'SX& & ' A;AcURRU5$![an[[ U55eSnAff=fr+)r<rjrrrrs r rjMisc.getdoubles; '77$$Q' ' 'SX& & 'rclURRU5$![a [S5ef=f)zPReturn a boolean value for Tcl boolean values true and false given as parameter.ry)r<rrr)rOrs r rMisc.getbooleans: A77%%a( ( A?@ @ As3cPURRSUR5 g)zDirect input focus to this widget. If the application currently does not have the focus this widget will get the focus if the application gets the focus through the window manager.rNrrNs r focus_setMisc.focus_sets  Wdgg&rcRURRSSUR5 g)zdDirect input focus to this widget even if the application does not have the focus. Use with caution!rz-forceNrrNs r focus_forceMisc.focus_forces  Wh0rcvURRS5nUS:XdU(dgURU5$)zReturn the widget which has currently the focus in the application. Use focus_displayof to allow working with several displays. Return None if application does not have the focus.rnoneN)r<r _nametowidgetrs r focus_getMisc.focus_gets2ww||G$ 6>d!!$''rcURRSSUR5nUS:XdU(dgURU5$)zReturn the widget which has currently the focus on the display where this widget is located. Return None if the application does not have the focus.r -displayofrNr<rrrrs r focus_displayofMisc.focus_displayof(s: ww||G\477; 6>d!!$''rcURRSSUR5nUS:XdU(dgURU5$)zqReturn the widget which would have the focus if top level for this widget gets the focus from the window manager.rz-lastforrNrrs r focus_lastforMisc.focus_lastfor1s:ww||GZ9 6>d!!$''rc:URRS5 g)zPThe widget under mouse will get automatically focus. Can not be disabled easily.tk_focusFollowsMouseNrrNs r rMisc.tk_focusFollowsMouse8s  +,rcURRSUR5nU(dgURU5$)a>Return the next widget in the focus order which follows widget which has currently the focus. The focus order first goes to the next child, then to the children of the child recursively and then to the next sibling which is higher in the stacking order. A widget is omitted if it has the takefocus resource set to 0. tk_focusNextNrrs r rMisc.tk_focusNext=s2ww||NDGG4D!!$''rcURRSUR5nU(dgURU5$)zHReturn previous widget in the focus order. See tk_focusNext for details. tk_focusPrevNrrs r rMisc.tk_focusPrevJs0ww||NDGG4D!!$''rc0^^^^TcTRRSU5 gUUUU4SjnTRUlTR U5mTRRSUT5$![a [ T5RUlNTf=f)zCall function once after given time. MS specifies the time in milliseconds. FUNC gives the function which shall be called. Additional parameters are given as parameters to the function call. Return identifier to cancel scheduling with after_cancel.Nafterc>T"T6 TRT5 g![a gf=f!TRT5 f![a ff=f=fr+)rr)rfuncrrOsr callitMisc.after..callit\sY$K**40#**40#s5+ ((A?A A  A A  A)r<rrRr*r(r4)rOmsrrrrs` `` @r r Misc.afterPs < GGLL" %   6"&-->>&)D77<<T2 2 " 6"&t*"5"5 6sA..$BBc*UR"SU/UQ76$)z~Call FUNC once if the Tcl main loop has no event to process. Return an identifier to cancel the scheduling with after_cancel.idle)r)rOrrs r after_idleMisc.after_idlels zz&$...rcU(d [S5eURRSSU5nURRU5SnUR U5 URRSSU5 g![ a N*f=f)zCancel scheduling of function identified with ID. Identifier returned by after or after_idle must be given as first parameter. z?id must be a valid identifier returned from after or after_idlerr rcancelN)rr<rr8rr)rOr.datascripts r after_cancelMisc.after_cancelts 34 4 77<<4DWW&&t,Q/F   v &  Wh+   sA A>> B  B cnURRURRSSU55$)aReturn information about existing event handlers. With no argument, return a tuple of the identifiers for all existing event handlers created by the after and after_idle commands for this interpreter. If id is supplied, it specifies an existing handler; id must have been the return value from some previous call to after or after_idle and it must not have triggered yet or been canceled. If the id doesn't exist, a TclError is raised. Otherwise, the return value is a tuple containing (script, type) where script is a reference to the function to be called by the event handler and type is either 'idle' or 'timer' to indicate what kind of event handler it is. rr r<r8r)rOr.s r after_infoMisc.after_infos*ww  gvr!BCCrc^URRSURU5-5 g)zRing a display's bell.)bellN)r<r _displayofrO displayofs r r Misc.bells   Y!;; *6 ww||$84==;L$LMMww||04==3DDEE vJ s1A77 BBc SU;aURUS'URRSURU5-5 g)zClear the data in the Tk clipboard. A widget specified for the optional displayof keyword argument specifies the target display.r)rclearNrr<rrrs r clipboard_clearMisc.clipboard_clears7 b DGG"[/  +dmmB.??@rc SU;aURUS'URRSURU5-SU4-5 g)zAppend STRING to the Tk clipboard. A widget specified at the optional displayof keyword argument specifies the target display. The clipboard can be retrieved with selection_get.r)rr--Nr)rOstringrs r clipboard_appendMisc.clipboard_appendsE b DGG"[/  ,t}}R/@@v rcURRSSUR5nU(dgURU5$)zGReturn widget which has currently the grab in this application or None.grabrNrrs r grab_currentMisc.grab_currents4ww||FItww7D!!$''rcRURRSSUR5 g)z.Release grab for this widget if currently set.rreleaseNrrNs r grab_releaseMisc.grab_releases  VY0rcRURRSSUR5 g)zgSet grab for this widget. A grab directs all events to this and descendant widgets in the application.rr$NrrNs r grab_set Misc.grab_sets  VUDGG,rcTURRSSSUR5 g)zSet global grab for this widget. A global grab directs all events to this and descendant widgets on the display. Use with caution - other applications do not get events anymore.rr$z-globalNrrNs r grab_set_globalMisc.grab_set_global$s  VUItww7rcdURRSSUR5nUS:XaSnU$)zQReturn None, "local" or "global" if this widget has no, a local or a global grab.rrrNr)rOrs r grab_statusMisc.grab_status,s/fh8 V dV rc@URRSSXU5 g)zSet a VALUE (second parameter) for an option PATTERN (first parameter). An optional third parameter gives the numeric priority (defaults to 80).rr8Nr)rOrr prioritys r option_addMisc.option_add3s  Xugh?rc<URRSS5 g)zHClear the option database. It will be reloaded if option_add is called.rrNrrNs r option_clearMisc.option_clear;s  Xw'rcRURRSSURX5$)zwReturn the value for an option NAME for this widget with CLASSNAME. Values with higher priority override lower values.rr(r)rOr classNames r option_getMisc.option_getAs! ww||HeTWWdFFrc>URRSSX5 g)zfRead file FILENAME into the option database. An optional second parameter gives the numeric priority.rreadfileNr)rOfileNamer/s r option_readfileMisc.option_readfileHs  Xz8>rc SU;aURUS'URRSURU5-5 g)zClear the current X selection.r) selectionrNrrs r selection_clearMisc.selection_clearOs5 b DGG"[/  +dmmB.??@rc >SU;aURUS'SU;aCURS:Xa3SUS'URRSUR U5-5$URRSUR U5-5$![ a US N *6 ww||$84==;L$LMMww||04==3DDEE vJ s1B BBc URU5nURRSURU5-URU4-5 g)aSpecify a function COMMAND to call if the X selection owned by this widget is queried by another application. This function must return the contents of the selection. The function will be called with the arguments OFFSET and LENGTH which allows the chunking of very long selections. The following keyword parameters can be provided: selection - name of the selection (default PRIMARY), type - type of the selection (e.g. STRING, FILE_NAME).)r?handleN)r4r<rrr)rOcommandrrs r selection_handleMisc.selection_handlefsC~~g&  ,t}}R/@@$  !rc zURRSURU5-UR4-5 g)zrBecome owner of X selection. A keyword parameter selection specifies the name of the selection (default PRIMARY).r?ownN)r<rrrrs r selection_ownMisc.selection_ownvs6  )r"#&*ggZ0 1rc SU;aURUS'URRSURU5-5nU(dgUR U5$)zReturn owner of X selection. The following keyword parameter can be provided: selection - name of the selection (default PRIMARY), type - type of the selection (e.g. STRING, FILE_NAME).rrKN)rr<rrr)rOrrs r selection_own_getMisc.selection_own_get~sO b DGG"[/ww||04==3DDED!!$''rcBURRSX4U-5$)zDSend Tcl command CMD to different interpreter INTERP to be executed.sendr)rOinterpcmdrs r rS Misc.sendsww||VV1D899rcRURRSURU5 g)z(Lower this widget in the stacking order.lowerNr)rO belowThiss r rX Misc.lower  Wdggy1rcRURRSURU5 g)z(Raise this widget in the stacking order.raiseNr)rO aboveThiss r tkraise Misc.tkraiser[rcPURRSS5n[U5$)z-Returns the exact version of the Tcl library.r  patchlevel)r<rrb)rOrbs r info_patchlevelMisc.info_patchlevels!WW\\&,7 j))rcSURU5-U4-nURRURRU55$)z*Return integer which represents atom NAME.)winfoatom)rr<rir)rOrrrs r winfo_atomMisc.winfo_atoms< 4??9#==Gww~~dggll4011rchSURU5-U4-nURRU5$)z'Return name of atom with identifier ID.)rfatomname)rr<rrOr.rrs r winfo_atomnameMisc.winfo_atomnames5$+,/1e4ww||D!!rcURRURRSSUR55$)z7Return number of cells in the colormap for this widget.rfcellsr<rirrrNs r winfo_cellsMisc.winfo_cells/ww~~ GGLL'477 35 5rc/nURRURRSSUR55H$nUR UR U55 M& U$![ a M7f=f)z?Return a list of all widgets which are children of this widget.rfchildren)r<r8rrrrKeyError)rOresultchilds r winfo_childrenMisc.winfo_childrensqWW&& GGLL*dgg 68E  d0078 8   s A-- A;:A;cPURRSSUR5$)z(Return window class name of this widget.rfclassrrNs r winfo_classMisc.winfo_classsww||GWdgg66rcURRURRSSUR55$)z?Return True if at the last color request the colormap was full.rf colormapfullr rNs r winfo_colormapfullMisc.winfo_colormapfulls1ww!! GGLL.$'' :<  >rcURRURRSSUR55$)z:Return the x coordinate of the pointer on the root window.rfpointerxrqrNs r winfo_pointerxMisc.winfo_pointerx rrcnURURRSSUR55$)zHReturn a tuple of x and y coordinates of the pointer on the root window.rf pointerxy_getintsr<rrrNs r winfo_pointerxyMisc.winfo_pointerxys+}} GGLL+tww 79 9rcURRURRSSUR55$)z:Return the y coordinate of the pointer on the root window.rfpointeryrqrNs r winfo_pointeryMisc.winfo_pointeryrrcURRURRSSUR55$)z'Return requested height of this widget.rf reqheightrqrNs r winfo_reqheightMisc.winfo_reqheights/ww~~ GGLL+tww 79 9rcURRURRSSUR55$)z&Return requested width of this widget.rfreqwidthrqrNs r winfo_reqwidthMisc.winfo_reqwidthrrcpURURRSSURU55$)zNReturn a tuple of integer RGB values in range(65536) for color in this widget.rfrgbr)rOcolors r winfo_rgbMisc.winfo_rgb#s-}} GGLL%% 8: :rcURRURRSSUR55$)zKReturn x coordinate of upper left corner of this widget on the root window.rfrootxrqrNs r winfo_rootxMisc.winfo_rootx(1ww~~ GGLL'477 35 5rcURRURRSSUR55$)zKReturn y coordinate of upper left corner of this widget on the root window.rfrootyrqrNs r winfo_rootyMisc.winfo_rooty.rrcPURRSSUR5$)z&Return the screen name of this widget.rfscreenrrNs r winfo_screenMisc.winfo_screen4rrcURRURRSSUR55$)zLReturn the number of the cells in the colormap of the screen of this widget.rf screencellsrqrNs r winfo_screencellsMisc.winfo_screencells81ww~~ GGLL- 9; ;rcURRURRSSUR55$)zTReturn the number of bits per pixel of the root window of the screen of this widget.rf screendepthrqrNs r winfo_screendepthMisc.winfo_screendepth>rrcURRURRSSUR55$)zPReturn the number of pixels of the height of the screen of this widget in pixel.rf screenheightrqrNs r winfo_screenheightMisc.winfo_screenheightDs1ww~~ GGLL.$'' :<  >rcURRURRSSUR55$)zLReturn the number of pixels of the width of the screen of this widget in mm.rf screenmmwidthrqrNs r winfo_screenmmwidthMisc.winfo_screenmmwidthPs1ww~~ GGLL/477 ;= =rcPURRSSUR5$)zReturn one of the strings directcolor, grayscale, pseudocolor, staticcolor, staticgray, or truecolor for the default colormodel of this screen.rf screenvisualrrNs r winfo_screenvisualMisc.winfo_screenvisualVsww||G^TWW==rcURRURRSSUR55$)zOReturn the number of pixels of the width of the screen of this widget in pixel.rf screenwidthrqrNs r winfo_screenwidthMisc.winfo_screenwidth\rrcPURRSSUR5$)zpReturn information of the X-Server of the screen of this widget in the form "XmajorRminor vendor vendorVersion".rfserverrrNs r winfo_serverMisc.winfo_serverbsww||GXtww77rcnURURRSSUR55$)z*Return the toplevel widget of this widget.rftoplevel)rr<rrrNs r winfo_toplevelMisc.winfo_toplevelgs/!!$'',, Z#*+ +rcURRURRSSUR55$)zBReturn true if the widget and all its higher ancestors are mapped.rfviewablerqrNs r winfo_viewableMisc.winfo_viewablelrrcPURRSSUR5$)zReturn one of the strings directcolor, grayscale, pseudocolor, staticcolor, staticgray, or truecolor for the colormodel of this widget.rfvisualrrNs r winfo_visualMisc.winfo_visualqsww||GXtww77rcPURRSSUR5$)z7Return the X identifier for the visual for this widget.rfvisualidrrNs r winfo_visualidMisc.winfo_visualidwrrc@URRSSURU(aSOS5nURRU5Vs/sHo0RRU5PM nnUVs/sHo0R U5PM sn$s snfs snf)zReturn a list of all visuals available for the screen of this widget. Each item in the list consists of a visual name (see winfo_visual), a depth and if includeids is true is given also the X identifier.rfvisualsavailable includeidsN)r<rrr8_Misc__winfo_parseitem)rOrrrs r winfo_visualsavailableMisc.winfo_visualsavailable{s ww||G%7,6LDB.2gg.?.?.EF.E!!!$.EF3784a&&q)488G8s $B9Bc RUSS[[URUSS55-$)rNr)rr _Misc__winfo_getint)rOr?s r __winfo_parseitemMisc.__winfo_parseitems+!uuS!4!4ae<===rc[US5$)rr)r_rQs r __winfo_getintMisc.__winfo_getints1ayrcURRURRSSUR55$)zReturn the height of the virtual root window associated with this widget in pixels. If there is no virtual root window return the height of the screen.rf vrootheightrqrNs r winfo_vrootheightMisc.winfo_vrootheights1ww~~ GGLL- 9; ;rcURRURRSSUR55$)zReturn the width of the virtual root window associated with this widget in pixel. If there is no virtual root window return the width of the screen.rf vrootwidthrqrNs r winfo_vrootwidthMisc.winfo_vrootwidths1ww~~ GGLL, 8: :rcURRURRSSUR55$)zaReturn the x offset of the virtual root relative to the root window of the screen of this widget.rfvrootxrqrNs r winfo_vrootxMisc.winfo_vrootx1ww~~ GGLL(DGG 46 6rcURRURRSSUR55$)zaReturn the y offset of the virtual root relative to the root window of the screen of this widget.rfvrootyrqrNs r winfo_vrootyMisc.winfo_vrootyr3rcURRURRSSUR55$)z Return the width of this widget.rfrrqrNs r winfo_widthMisc.winfo_widthrtrcURRURRSSUR55$)zNReturn the x coordinate of the upper left corner of this widget in the parent.rfrrqrNs r winfo_x Misc.winfo_x1ww~~ GGLL#tww /1 1rcURRURRSSUR55$)zNReturn the y coordinate of the upper left corner of this widget in the parent.rfrrqrNs r winfo_y Misc.winfo_yr>rc:URRS5 g)zEEnter event loop until all pending events have been processed by Tcl.r)NrrNs r r) Misc.updates  Xrc<URRSS5 g)zEnter event loop until all idle callbacks have been called. This will update the display of windows but not process events caused by the user.r) idletasksNrrNs r update_idletasksMisc.update_idletaskss  X{+rcUc?URRURRSUR55$URRSURU5 g)a Set or get the list of bindtags for this widget. With no argument return the list of all bindtags associated with this widget. With a list of strings as argument the bindtags are set to this list. The bindtags determine in which order events are processed (see bind).Nbindtagsr<r8rr)rOtagLists r rI Misc.bindtagssP ?77$$ Z13 3 GGLLTWWg 6rc[U[5(a URRXU4-5 gU(agUR X0R U5nU=(a S=(d S<SU<SUR <S3nURRXU4-5 U$U(aURRX4-5$URRURRU55$)r+rif {"[rz]" == "break"} break N)rrr<rr4 _substitute_subst_format_strr8)rOrsequencerr8 needcleanupfuncidrUs r _bind Misc._binds dC GGLL4 00 1 ^^D*:*:#%FKC%2%..0C GGLL3/ 0M 77<<{ 23 377$$TWW\\$%78 8rc@URSUR4XU5$)aWBind to this widget at event SEQUENCE a call to function FUNC. SEQUENCE is a string of concatenated event patterns. An event pattern is of the form where MODIFIER is one of Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4, Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3, B3, Alt, Button4, B4, Double, Button5, B5 Triple, Mod1, M1. TYPE is one of Activate, Enter, Map, ButtonPress, Button, Expose, Motion, ButtonRelease FocusIn, MouseWheel, Circulate, FocusOut, Property, Colormap, Gravity Reparent, Configure, KeyPress, Key, Unmap, Deactivate, KeyRelease Visibility, Destroy, Leave and DETAIL is the button number for ButtonPress, ButtonRelease and DETAIL is the Keysym for KeyPress and KeyRelease. Examples are for pressing Control and mouse button 1 or for pressing A and the Alt key (KeyPress can be omitted). An event pattern can also be a virtual event of the form <> where AString can be arbitrary. This event can be generated by event_generate. If events are concatenated they must appear shortly after each other. FUNC will be called if the event sequence occurs with an instance of Event as argument. If the return value of FUNC is "break" no further bound function is invoked. An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function. Bind will return an identifier to allow deletion of the bound function with unbind without memory leak. If FUNC or SEQUENCE is omitted the bound function or list of bound events are returned.bindrUrrOrRrr8s r rX Misc.binds!Nzz6477+XSAArcBURSURU4U5 g)zUnbind for this widget the event SEQUENCE. If FUNCID is given, only unbind the function identified with FUNCID and also delete the corresponding Tcl command. Otherwise destroy the current binding for SEQUENCE, leaving SEQUENCE unbound. rXN_unbindr)rOrRrTs r unbind Misc.unbind s fdggx0&9rcl^UcURR"/UQSP76 gURRU5RS5nSUS3mSRU4SjU55nUR 5(dSnURR"/UQUP76 UR U5 g)NrrrOrc3X># UHnURT5(aMUv M! g7fr+) startswith)rlineprefixs r rMisc._unbind..s$=ed$(OOF$;"Tes* *)r<rsplitrstripr)rOrrTlineskeepres @r r^ Misc._unbinds > GGLL #$ # #GGLL&,,T2Evha(F99=e==D::<< GGLL %$ % %   v &rcFUR5RSXUS5$)aBind to all widgets at an event SEQUENCE a call to function FUNC. An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function. See bind for the return value.)rXallTr rUrZs r bind_all Misc.bind_all#s! zz|!!/83MMrcHUR5RSSU45 g)z8Unbind for all widgets for event SEQUENCE all functions.rXrmNr r^)rOrRs r unbind_allMisc.unbind_all*s feX67rcJUR5RSU4X#US5$)aBind to widgets with bindtag CLASSNAME at event SEQUENCE a call of function FUNC. An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function. See bind for the return value.rXTrn)rOr6rRrr8s r bind_classMisc.bind_class.s&zz|!!69"5xsDQQrcFUR5RSX45 g)zOUnbind for all widgets with bindtag CLASSNAME for event SEQUENCE all functions.rXNrr)rOr6rRs r unbind_classMisc.unbind_class8s fi:;rc:URRU5 g)zCall the mainloop of Tk.N)r<r|)rOrs r r| Misc.mainloop=s rc8URR5 g)z8Quit the Tcl interpreter. All widgets will be destroyed.N)r<quitrNs r r~ Misc.quitAs  rcU(aB[[URRURR U555$gr)rr r<rir8rOrs r r Misc._getintsEs3 TWW^^TWW->->v-FGH H rcU(aB[[URRURR U555$gr)rr r<rjr8rs r _getdoublesMisc._getdoublesJs5 TWW..0A0A&0IJK K rcHU(aURRU5$gr)r<rrs r _getbooleanMisc._getbooleanOs 77%%f- - rc<U(aSU4$UcSUR4$g)rrr!rrs r rMisc._displayofTs(  ), ,   $''* *rcUR5R$![a5 URR SS5=oR5lUs$f=f)rr<windowingsystem)r _windowingsystem_cachedr*r<r)rOwss r rMisc._windowingsystem\sP ::<77 7  T+<= >B5I sT"U5$![[4a Us$f=f)z?Tk changed behavior in 8.4.2, returning "??" rather more often.)rr)rris r getint_event&Misc._substitute..getint_events+ ay )  s    c3B# UHn[U[5v M g7fr+)rr)rrs r r#Misc._substitute..s2Tz!U##Tsrr)"r _subst_formatr<rrianyrrrrMrrrrrrtimerrrrrr keysym_numrdr(rrrwidgetrwx_rooty_rootr)rOrrrrnsignr[r2hr2r?rrrAEKNWTXYDeris @r rPMisc._substitutes< t9D../ /WW''   2T2 2 2!#!'q%00SVq[AaDaG! #FJC!aA!1aAq! G%=Q!!}QW? O q/aq/1o1o&qMQ\#A  q\AF  ))!,AH ?? QiAGt g#*   "3q6*    AH  H% AGt  sx35G G G/G&H(1 H? GG G#"G#& H%1H  H!H% H!!H%(H<;H<?IIcx[R"5upnUR5nURXU5 gr)sysexc_infor report_callback_exception)rOrvaltbrs r _report_exceptionMisc._report_exceptions,||~ "zz| &&s4rc0nURRURR"U65H5nURRU5nUSSS4USS-X#SSS'M7 U$)z;Call Tcl configure command and return the result as a dict.rrNr)rOrr/rs r rMisc._getconfiguresp""477<<#67A!!!$AqT!"XK!AB%/C!QRM8 rcURRURR"U65nUSSS4USS-$)NrrrrOrrs r rMisc._getconfigure1s@ GG  dggllD1 2!QR{QqrU""rcU(a [X#45nOU(a [U5nUc&UR[URU455$[ U[ 5(a*UR [URUSU-455$URR[URU45URU5-5 g)rNr7) r4rr"rrrrr<rr)rOrUr/rs r _configureMisc._configure s SI&C C.C ;%%h~&>? ? c3  &&x#s3w0G'HI I  Xtwwn- c0BBCrc &URSX5$)zConfigure resources of a widget. The values for resources are specified as keyword arguments. To get an overview about the allowed keyword arguments call the method keys. rrrs r rMisc.configures{C44rcVURRURSSU-5$)z4Return the resource value for a KEY given as string.rr7rrOrAs r r Misc.cget"s!ww||DGGVS3Y77rc(URX05 gr+)rrOrAr s r __setitem__Misc.__setitem__(s |$rcURRnU"URRURS55Vs/sHo!"U5SSSPM sn$s snf)z3Return a list of all resource names of this widget.rrrNrJ)rOr8rs r r Misc.keys+s]GG%% $'',,tww <=?=)* ! Q#=? ??sAcUR$)z+Return the window path name of this widget.rrNs r rP Misc.__str__1s wwrcSURR<SURR<SUR<S3$)NrrHz object r)rVrSrTrrNs r r Misc.__repr__5s- NN % %t~~'B'BDGGM Mr_noarg_cU[RLa6URURR SSUR 55$URR SSUR U5 g)zSet or get the status for propagation of geometry information. A boolean argument specifies whether the geometry information of the slaves will determine the size of this widget. If no argument is given the current setting will be returned. pack propagateNrrrr<rrrOflags r pack_propagateMisc.pack_propagate<Y 4<< ##DGGLL TWW%./ / GGLLdggt >&11 )   sA8 A8A88B  B c [U[5(a'U(d USSS:XaUSSnUSSS:waSU-nU4nOURX45nU(dD[URURR SXR U5URS9$URR SXR U4U-5n[U5S:XaURU5$g)rrNrrr7r)r>) rrrrBr<rrrr)rOrGindexr/roptionsr$s r _grid_configureMisc._grid_configures c3  23x3#2h2Aw#~#gfGmmC,G VWggu=((* *ggll7GGU3 w<1 &&s+ + rc (URSXU5$)zConfigure column INDEX of a grid. Valid resources are minsize (minimum size of the column), weight (how much does additional space propagate to this column) and pad (how much space to let additionally).columnconfigurerrOrr/rs r grid_columnconfigureMisc.grid_columnconfigures ##$5u2FFrc URURRSSURX55=(d S$)zReturn a tuple of column and row which identify the cell at which the pixel at position X and Y inside the master widget is located.rlocationNrrOrrs r grid_locationMisc.grid_locations:}} GGLL DGGQ 34<7; >) to an event SEQUENCE such that the virtual event is triggered whenever SEQUENCE occurs.eventr8NrrOvirtual sequencesrs r event_addMisc.event_adds%(94  TrcJSSU4U-nURRU5 g)z-Unbind a virtual event VIRTUAL from SEQUENCE.r!deleteNrr"s r event_deleteMisc.event_deletes#7+i7  Trc SSURU4nUR5HupEUSU-[U54-nM URR U5 g)zrGenerate an event SEQUENCE. Additional keyword arguments specify parameter of the event (e.g. x, y, rootx, rooty).r!generate-%sN)rr-rr<r)rOrRrrr2r3s r event_generateMisc.event_generatesOTWWh7HHJDA519c!f--D  TrcnURRURRSSU55$)zmReturn a list of all virtual events or the information about the SEQUENCE bound to the virtual event VIRTUAL.r!r r)rOr#s r event_infoMisc.event_infos/ww  GGLL&' 24 4rclURRURRSS55$)z*Return a list of all existing image names.imagenamesrrNs r image_namesMisc.image_names&ww  gw!?@@rclURRURRSS55$)z?Return a list of all available image types (e.g. photo bitmap).r4typesrrNs r image_typesMisc.image_typesr8r)rr+)r )r 1rF)rrZ)NrNNNNNN)rRrSrTrUr_last_child_idsrrrrrrrwaitvarrrrrrirjrrrrrrrrrrrrrrrr busy_cgetr busy_configbusy_configuretk_busy_configr busy_currentr busy_forgetrr busy_holdtk_busyr  busy_statusrrrrr#r&r)r,r0r3r7r<r@rCrHrMrPrSrXr_liftrcrhrmrrrzr~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrr!r)r-r1r6r9r<r@r)rFrIrUrXr_r^rorsrvryr|r~rrrrpropertyrrrrr4registerr rrrQrPrrrrrconfigr __getitem__rrrPrrrrrrrrrrrrrr rrrrrrrrr%r)r.r1r6r;rVr!rr rrs E OL%/" =1 G48$$' ' A' E1 (((- (( 38/," D=GIN45FEKE.>7#L6 !K H".-D-9w2!KF.A (1-8@( G?A F$! 1 (:22 D* 2 " 5 7< (G6 2 :6 <5 8 968"> 8 9 8 9 8 : 5 5 8; ; < > = > ; 8 + 8 8 : 9>;:6 6 5 1 1 , 79$'BR : 'N8R< I L . 4"!M,H CM/AF5 # D5F8K%? M kG") =I=F58F:& D ,*/1G+O<#* =,.D%L; D 9 4AArrc$\rSrSrSrSrSrSrg)r,izsInternal class. Stores function to call when some user defined Tcl function is called e.g. after an event occurred.c(XlX lX0lg)z(Store FUNC, SUBST and WIDGET as members.Nrrr)rOrrrs r rCallWrapper.__init__ s   rcUR(aUR"U6nUR"U6$![a e URR 5 g=f)z3Apply first function SUBST to arguments, than FUNC.N)rrrrrrOrs r r-CallWrapper.__call__sM ,zzzz4(99d# #   , KK ) ) +s .1&ArTNrRrSrTrUrrr-rVr!rr r,r,sD ,rr,c*\rSrSrSrSrSrSrSrg)XViewizTMix-in class for querying and changing the horizontal position of a widget's window.cURR"URS/UQ76nU(dURU5$g)z5Query and change the horizontal position of the view.xviewNr<rrrrOrr$s r r] XView.xview8ggll477G3d3##C( (rcTURRURSSU5 g)zkAdjusts the view in the window so that FRACTION of the total width of the canvas is off-screen to the left.r]movetoNrrOfractions r xview_movetoXView.xview_moveto%  TWWgx:rcTURRURSSX5 g)zTShift the x-view according to NUMBER which is measured in "units" or "pages" (WHAT).r]scrollNrrOrrs r xview_scrollXView.xview_scroll*  TWWgx>rr!N) rRrSrTrUrr]rfrlrVr!rr r[r[) ; ?rr[c*\rSrSrSrSrSrSrSrg)YViewi0zRMix-in class for querying and changing the vertical position of a widget's window.cURR"URS/UQ76nU(dURU5$g)z3Query and change the vertical position of the view.yviewNr^r_s r rs YView.yview4rarcTURRURSSU5 g)zkAdjusts the view in the window so that FRACTION of the total height of the canvas is off-screen to the top.rsrcNrrds r yview_movetoYView.yview_moveto:rhrcTURRURSSX5 g)zTShift the y-view according to NUMBER which is measured in "units" or "pages" (WHAT).rsrjNrrks r yview_scrollYView.yview_scroll?rnrr!N) rRrSrTrUrrsrvryrVr!rr rqrq0rorrqc\rSrSrSrS&Sjr\rSS.Sjr\rS'Sjr \ r S r \ r S'S jr \ rS r\rS'S jr\rS r\rSr\rS'Sjr\rS&Sjr\rS'Sjr\rS(Sjr\rSr\r S'Sjr!\!r"S'Sjr#\#r$S)Sjr%\%r&S(Sjr'\'r(S'Sjr)\)r*Sr+\+r,S(Sjr-\-r.S(Sjr/\/r0S'Sjr1\1r2S'Sjr3\3r4S(Sjr5\5r6S(Sjr7\7r8S'S jr9\9r:S'S!jr;\;rS'S#jr?\?r@S$rA\ArBS%rCg)*WmiEzAProvides functions for the communication with the window manager.Nc rURURRSSURXX455$)zInstruct the window manager to set the aspect ratio (width/height) of this widget to be between MINNUMER/MINDENOM and MAXNUMER/MAXDENOM. Return a tuple of the actual values if no argument is given.wmaspectr)rOminNumerminDenommaxNumermaxDenoms r wm_aspect Wm.wm_aspectHs5 }} GGLLx )* *rF)return_python_dictcjU(dU(d_URRSSUR5nU(a[URU5$URR U5$[ U5S:XaDUSb>USnUSS:XaUSSnURRSSURSU-5$URR"SSUR/UQ76$U(a [ S5eURR"SSUR/URU5Q76 g)aReturn or sets platform specific attributes. When called with a single argument return_python_dict=True, return a dict of the platform specific attributes and their values. When called without arguments or with a single argument return_python_dict=False, return a tuple containing intermixed attribute names with the minus prefix and their values. When called with a single string value, return the value for the specific option. When called with keyword arguments, set the corresponding attributes. r~ attributesrrNr7zNwm_attribute() options have been specified as positional and keyword arguments)r<rrrBr8rr+r)rOrrkwargsr$rs r wm_attributesWm.wm_attributesUsggll4tww?%%dggs3377,,S114yA~$q'"5a!9##ABZFww||D,vNN77<<lDGGCdC C ?@ @ GGLL|TWW Mt}}V7L MrcRURRSSURU5$)zNStore NAME in WM_CLIENT_MACHINE property of this widget. Return current value.r~clientrrs r wm_client Wm.wm_clientys!ww||D(DGGT::rcB[U5S:aU4nSSUR4U-nU(aURRU5 gURR URRU55Vs/sHnUR U5PM sn$s snf)zStore list of window names (WLIST) into WM_COLORMAPWINDOWS property of this widget. This list contains windows whose colormaps differ from their parents. Return current list of widgets if WLIST is empty.rr~colormapwindowsN)rrr<rr8r)rOwlistrrs r wm_colormapwindowsWm.wm_colormapwindowss u:>HE'1E9  GGLL "WW..tww||D/ABDB&&q)BD DDs>BcRURRSSURU5$)zStore VALUE in WM_COMMAND property. It is the command which shall be used to invoke the application. Return current command if VALUE is None.r~rGrr#s r wm_command Wm.wm_commands!ww||D)TWWe<URRSSU5 g)a!The window will be unmapped from the screen and will no longer be managed by wm. toplevel windows will be treated like frame windows once they are no longer managed by wm, however, the menu option configuration will be remembered and the menus will return once the widget is managed again.r~rNrrs r wm_forget Wm.wm_forgets  T8V,rcPURRSSUR5$)zAReturn identifier for decorative frame of this widget if present.r~framerrNs r wm_frame Wm.wm_framesww||D'47733rcRURRSSURU5$)zaSet geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return current value if None is given.r~rr)rO newGeometrys r wm_geometryWm.wm_geometrys!ww||D*dgg{CCrc rURURRSSURXX455$)zInstruct the window manager that this widget shall only be resized on grid boundaries. WIDTHINC and HEIGHTINC are the width and height of a grid unit in pixels. BASEWIDTH and BASEHEIGHT are the number of grid units requested in Tk_GeometryRequest.r~rr)rO baseWidth baseHeightwidthInc heightIncs r wm_grid Wm.wm_grids4}}TWW\\ &$'' 889 9rcRURRSSURU5$)zvSet the group leader widgets for related widgets to PATHNAME. Return the group leader of this widget if None is given.r~grouprrOpathNames r wm_group Wm.wm_group!ww||D'477H==rcUb)URRSSURSU5$URRSSURU5$)aoSet bitmap for the iconified widget to BITMAP. Return the bitmap if None is given. Under Windows, the DEFAULT parameter can be used to set the icon for the widget and any descendants that don't have an icon set explicitly. DEFAULT can be the relative path to a .ico file (example: root.iconbitmap(default='myicon.ico') ). See Tk documentation for more information.r~ iconbitmap-defaultr)rObitmapdefaults r wm_iconbitmapWm.wm_iconbitmapsF  77<<lDGGZQ Q77<<lDGGVD DrcPURRSSUR5$)zDisplay widget as icon.r~iconifyrrNs r wm_iconify Wm.wm_iconifysww||D)TWW55rcRURRSSURU5$)zNSet mask for the icon bitmap of this widget. Return the mask if None is given.r~iconmaskr)rOrs r wm_iconmaskWm.wm_iconmasks!ww||D*dggv>>rcRURRSSURU5$)zKSet the name of the icon for this widget. Return the name if None is given.r~iconnamer)rOnewNames r wm_iconnameWm.wm_iconnames!ww||D*dggw??rcU(a+URR"SSURS/UQ76 gURR"SSUR/UQ76 g)a/Sets the titlebar icon for this window based on the named photo images passed through args. If default is True, this is applied to all future created toplevels as well. The data in the images is taken as a snapshot at the time of invocation. If the images are later changed, this is not reflected to the titlebar icons. Multiple images are accepted to allow different images sizes to be provided. The window manager may scale provided icons to an appropriate size. On Windows, the images are packed into a Windows icon structure. This will override an icon specified to wm_iconbitmap, and vice versa. On X, the images are arranged into the _NET_WM_ICON X property, which most modern window managers support. An icon specified by wm_iconbitmap may exist simultaneously. On Macintosh, this currently does nothing.r~ iconphotorNr)rOrrs r wm_iconphotoWm.wm_iconphotosC(  GGLL{DGGZ G$ G GGLL{DGG ;d ;rc pURURRSSURX55$)zySet the position of the icon of this widget to X and Y. Return a tuple of the current values of X and X if None is given.r~ iconpositionrrs r wm_iconpositionWm.wm_iconposition s1}}TWW\\ .$''112 2rcRURRSSURU5$)z_Set widget PATHNAME to be displayed instead of icon. Return the current value if None is given.r~ iconwindowrrs r wm_iconwindowWm.wm_iconwindow s!ww||D,BBrc>URRSSU5 g)zThe widget specified will become a stand alone top-level window. The window will be decorated with the window managers title bar, etc.r~manageNr)rOrs r wm_manage Wm.wm_manage s  T8V,rc pURURRSSURX55$)zSet max WIDTH and HEIGHT for this widget. If the window is gridded the values are given in grid units. Return the current values if None is given.r~maxsizerrOrrs r wm_maxsize Wm.wm_maxsize' 1}}TWW\\ )TWWe56 6rc pURURRSSURX55$)zSet min WIDTH and HEIGHT for this widget. If the window is gridded the values are given in grid units. Return the current values if None is given.r~minsizerrs r wm_minsize Wm.wm_minsize0 rrcpURURRSSURU55$)zxInstruct the window manager to ignore this widget if BOOLEAN is given with 1. Return the current value if None is given.r~overrideredirect)rr<rrrs r wm_overrideredirectWm.wm_overrideredirect9 s4 $dggw!89 9rcRURRSSURU5$)zInstruct the window manager that the position of this widget shall be defined by the user if WHO is "user", and by its own policy if WHO is "program".r~ positionfromrrOwhos r wm_positionfromWm.wm_positionfromB s!ww||D.$''3??rc[U5(aURU5nOUnURRSSURX5$)zBind function FUNC to command NAME for this widget. Return the function bound to NAME if None is given. NAME could be e.g. "WM_SAVE_YOURSELF" or "WM_DELETE_WINDOW".r~protocol)rr4r<rr)rOrrrGs r wm_protocolWm.wm_protocolJ sB D>>nnT*GGww|| *dggt6 6rcRURRSSURX5$)zqInstruct the window manager whether this width can be resized in WIDTH or HEIGHT. Both values are boolean values.r~ resizablerrs r wm_resizableWm.wm_resizableW s!ww||D+twwFFrcRURRSSURU5$)zInstruct the window manager that the size of this widget shall be defined by the user if WHO is "user", and by its own policy if WHO is "program".r~sizefromrrs r wm_sizefromWm.wm_sizefrom^ s!ww||D*dggs;;rcRURRSSURU5$)z~Query or set the state of this widget as one of normal, icon, iconic (see wm_iconwindow), withdrawn, or zoomed (Windows only).r~rr)rOnewstates r wm_state Wm.wm_statef rrcRURRSSURU5$)zSet the title of this widget.r~titlerrs r wm_title Wm.wm_titlem sww||D'477F;;rcRURRSSURU5$)zWInstruct the window manager that this widget is transient with regard to widget MASTER.r~ transientr)rOrs r wm_transientWm.wm_transients s!ww||D+tww??rcPURRSSUR5$)zWithdraw this widget from the screen such that it is unmapped and forgotten by the window manager. Re-draw it with wm_deiconify.r~rrrNs r wm_withdrawWm.wm_withdrawz sww||D*dgg66rr!r@r+rAr?)DrRrSrTrUrrrrrrrrrrrGrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrVr!rr r|r|EsK'+&* *F6; NDJ; F D)O= G8 I@ J-F4 ED H%)"& 9 D> E EJ6G? H@ H<2I2 #LC J- F6G6G9+@ #L 6HG I< H> E< E@ I7 Hrr|cN\rSrSrSrSrS SjrSrSrSr S r S r S r S r g)ri zvToplevel widget of Tk which represents mostly the main window of an application. It has an associated Tcl interpreter.rHNc SUl0UlSUlSUlUcWSSKnUR R [RS5nUR RU5up(US;aX(-nSn [R"XX9[XEU5Ul[(aURR[5 U(aUR!5 [R"R$(dUR'X#5 gg)a!Return a new top level widget on screen SCREENNAME. A new Tcl interpreter will be created. BASENAME will be used for the identification of the profile file (see readprofile). It is constructed from sys.argv[0] without extensions if None is given. CLASSNAME is the name of the widget class.NFr)z.pyz.pyc)rrv _tkloadedr<ospathbasenamerargvsplitextrcreate wantobjects_debugsettrace_print_command_loadtkflagsignore_environment readprofile) rO screenNamebaseNamer6useTksyncuserext interactives r r Tk.__init__ s     ww'' 4HGG,,X6MH/)#> //* P[]bjmn 6 GG  ^ ,  LLNyy++   X 1,rc|UR(d+URR5 UR5 ggr+)rr<loadtkrrNs r r' Tk.loadtk s%~~ GGNN  LLNrcSUlURRS5nU[R:wa"[ S[R<SU<S35e[ URRS55nU[R:wa"[ S[R<SU<S35eURc/UlURRS [5 URRS [5 URRS 5 URRS 5 [(a [cUqURS UR 5 g) NT tk_versionztk.h version (z!) doesn't match libtk.a version () tcl_versionztcl.h version (z") doesn't match libtcl.a version (tkerrorexitWM_DELETE_WINDOW)rr<rr TK_VERSIONr9r TCL_VERSIONrr0rrrrrrr)rOr*r,s r r Tk._loadtk sWW^^L1 ,, ,"*"5"5z CD D$''..78 (.. ."*"6"6  EF F    $ "D  i2 fe,   +   ( ]%: M ($,,7rc[URR55HoR5 M URR SUR 5 [RU5 [(a [ULaSq ggg)z`Destroy this and all descendants widgets. This will end the application of this Tcl interpreter.rN) rrvvaluesrr<rrrrrrOr0s r r Tk.destroy s`dmm**,-Ayy{-  Y( T ]d%: M&; rczSSKnSUR;aURSnO URnURR USU-5nURR USU-5nURR USU-5nURR USU-5nSU0n [ SU 5 URR U5(aURRSU5 URR U5(a#[ [U5R5U 5 URR U5(aURRSU5 URR U5(a$[ [U5R5U 5 gg) zInternal function. It reads .BASENAME.tcl and .CLASSNAME.tcl into the Tcl Interpreter and calls exec on the contents of .BASENAME.py and .CLASSNAME.py if such a file exists in the home directory.rNHOMEz.%s.tclz.%s.pyrOzfrom tkinter import *source) renvironcurdirrrexecisfiler<ropenread) rOrr6rhome class_tclclass_pybase_tclbase_pydirs r rTk.readprofile sD  RZZ  6(:YYdGGLLy9'<= 77<<h&:;77<<i(&:;'',,tX%89tn $c* 77>>) $ $ GGLL9 - 77>>( # # h$$& , 77>>( # # GGLL8 , 77>>' " " g##%s + #rcSSKn[S[RS9 U[lU[lU[lU[lURXU5 g)zReport callback exception on sys.stderr. Applications may want to override this internal function, and should when sys.stderr is None.rNzException in Tkinter callbackfile) tracebackr,rstderrlast_exc last_type last_valuelast_tracebackprint_exception)rOrrrrJs r rTk.report_callback_exception sC  -CJJ?  !!#B/rc.[URU5$)z3Delegate attribute access to the interpreter object)rr<)rOattrs r __getattr__Tk.__getattr__ stww%%r)rrrvrr<)NNrTFN)rRrSrTrUrrrr'rrrrrTrVr!rr rr s6@ BAE-12: 84!,, 0&rrrHc,[U5n[XS9 g)NrH)rr,)rUrIs r rr s *C #rc[XX#5$r+)r)rrr6r s r TclrX s jI 55rc|\rSrSrSr04Sjr\=r=rrSr \ r Sr \ r \ R=rr\ R =rrSrg)Packi zMGeometry manager Pack. Base class to use the methods pack_* in every widget.c xURRSSUR4URX5-5 g)aPack a widget in the parent widget. Use as options: after=widget - pack it after you have packed widget anchor=NSEW (or subset) - position widget according to given direction before=widget - pack it before you will pack widget expand=bool - expand widget if parent size grows fill=NONE or X or Y or BOTH - fill widget if widget grows in=master - use master to contain this widget in_=master - see 'in' option description ipadx=amount - add internal padding in x direction ipady=amount - add internal padding in y direction padx=amount - add padding in x direction pady=amount - add padding in y direction side=TOP or BOTTOM or LEFT or RIGHT - where to add this widget. rrNrrs r pack_configurePack.pack_configure s3  {DGG, c&' (rcRURRSSUR5 g)z:Unmap this widget and do not use it for the packing order.rrNrrNs r pack_forgetPack.pack_forget*   VXtww/rc[URURRSSUR55nSU;aUR US5US'U$)z=Return information about the packing options for this widget.rr inrBr<rrrrOds r pack_infoPack.pack_info0 M tww VVTWW E F 19''$0AdGrr!N)rRrSrTrUrr\rrrPr_rrgr rrrrrrVr!rr rZrZ sZ="$((!/.D.9v0F D!%!4!44I+++F[rrZc`\rSrSrSr04Sjr\=r=rrSr \ r Sr \ r \ R=rrSrg)Placei= zOGeometry manager Place. Base class to use the methods place_* in every widget.c xURRSSUR4URX5-5 g)aPlace a widget in the parent widget. Use as options: in=master - master relative to which the widget is placed in_=master - see 'in' option description x=amount - locate anchor of this widget at position x of master y=amount - locate anchor of this widget at position y of master relx=amount - locate anchor of this widget between 0.0 and 1.0 relative to width of master (1.0 is right edge) rely=amount - locate anchor of this widget between 0.0 and 1.0 relative to height of master (1.0 is bottom edge) anchor=NSEW (or subset) - position anchor according to given direction width=amount - width of this widget in pixel height=amount - height of this widget in pixel relwidth=amount - width of this widget between 0.0 and 1.0 relative to width of master (1.0 is the same width as the master) relheight=amount - height of this widget between 0.0 and 1.0 relative to height of master (1.0 is the same height as the master) bordermode="inside" or "outside" - whether to take border width of master widget into account rrNrrs r place_configurePlace.place_configureB s3,   TWW- c&' (rcRURRSSUR5 g)Unmap this widget.rrNrrNs r place_forgetPlace.place_forget^ s  Wh0rc[URURRSSUR55nSU;aUR US5US'U$)z=Return information about the placing options for this widget.rr rcrdres r place_infoPlace.place_infod sM tww Wfdgg F G 19''$0AdGrr!N)rRrSrTrUrrmrrrPrqrrtr rrrrVr!rr rkrk= sJ>#%(4"10E0I1F D ---F\rrkc\rSrSrSr04Sjr\=r=rr\ R=r r \ R=r r Sr\rSrSr\r\ R&=rr\ R*=rr\ R.=rr\ R2=rr\ R6=rrSrg) Gridip zMGeometry manager Grid. Base class to use the methods grid_* in every widget.c xURRSSUR4URX5-5 g)aPosition a widget in the parent widget in a grid. Use as options: column=number - use cell identified with given column (starting with 0) columnspan=number - this widget will span several columns in=master - use master to contain this widget in_=master - see 'in' option description ipadx=amount - add internal padding in x direction ipady=amount - add internal padding in y direction padx=amount - add padding in x direction pady=amount - add padding in y direction row=number - use cell identified with given row (starting with 0) rowspan=number - this widget will span several rows sticky=NSEW - if cell is larger on which sides will this widget stick to the cell boundary rrNrrs r grid_configureGrid.grid_configurev s3  {DGG, c&' (rcRURRSSUR5 g)rprrNrrNs r grid_forgetGrid.grid_forget rarcRURRSSUR5 g)z0Unmap this widget but remember the grid options.rr@NrrNs r grid_removeGrid.grid_remove rarc[URURRSSUR55nSU;aUR US5US'U$)zKReturn information about the options for positioning this widget in a grid.rr rcrdres r grid_infoGrid.grid_info rirr!N)rRrSrTrUrryrrrPrrrr rr|rrrr rrrrrrrrrrrVr!rr rwrwp s= "$(&!/.D.9v~~%D9-1-F-FFO*0F0 D#111H}!%!4!44I'+'='==L$~~%D9+++F[rrwc>\rSrSrSrSr00S4SjrSrS SjrSr g ) BaseWidgeti zInternal class.cUc [5nXlURUlSnSU;aUSnUS U(dURRR 5nUSR 5(aUS- nURc0UlURRUS5S-nXARU'US:XaSU<3nOSX44-nX0l URS:Xa SU-Ul OURS-U-Ul 0Ul URURR;a1URRURR5 XRRUR'g) z6Internal function. Sets up information about children.Nrr!rrz!%s%drH) rrr<rVrRrXisdigitrBr(rrrvr)rOrr/rcounts r _setupBaseWidget._setup sL >&(F )) S=v;DF >>**002DBx!! %%-)+&**..tQ7!;E+0 " "4 (z $$. 99c>DjDGii#o,DG ::-- - KK  , 4 4 6+/ TZZ(rr!cU(a [X445nX lURX5 URc/UlUR 5VVs/sHupg[ U[ 5(dMXg4PM! nnnUHupgX6 M URRX R4U-URU5-5 UHupgURX5 M gs snnf)z\Construct a widget with the parent widget MASTER, a name WIDGETNAME and appropriate options.N) r4 widgetNamerrr-rr(r<rrrr) rOrrr/rextrar2r3classess r rBaseWidget.__init__ s SI&C$ F    $ "D &)iikIkdaZ45H6A6kIDA   !E )DMM#,> > @DA KK  Js C 1C cv[URR55HoR5 M URR SUR 5 URURR;a!URRUR [RU5 g)z)Destroy this and all descendants widgets.rN) rrvr4rr<rrrrrr5s r rBaseWidget.destroy spdmm**,-Ayy{-  Y( ::-- - $$TZZ0 TrcVURRURU4U-5$r+r)rOrrs r _doBaseWidget._do s"ww||TWWdOd233r)rrrrvrr<rN)r!) rRrSrTrUrrrrrrVr!rr rr s#0@02b!"4rrc\rSrSrSrSrg)Widgeti zpInternal class. Base class for a widget which can be positioned with the geometry managers Pack, Place or Grid.r!N)rRrSrTrUrrVr!rr rr s  rrc&\rSrSrSrS04SjrSrg)Topleveli z"Toplevel widget, e.g. for dialogs.Nc U(a [X#45nSnSH-nXR;dM X%nUSS:Xa SUSS-nOSU-nXGU4-nX% M/ [RXSU0U5 UR5nUR UR 55 UR UR 55 UR SUR5 g) aConstruct a toplevel widget with the parent MASTER. Valid resource names: background, bd, bg, borderwidth, class, colormap, container, cursor, height, highlightbackground, highlightcolor, highlightthickness, menu, relief, screen, takefocus, use, visual, width.r!)rclass_r}rcolormaprrr7Nr r/)r4rrr rrrr) rOrr/rrwmkeyroptrs r rToplevel.__init__ s SI&CE|j9#3uSbz>SIcc *J D*c2uEzz| dmmo& 4::<  ($,,7rr!rRrSrTrUrrrVr!rr rr s,"8rrc2\rSrSrSrS04SjrSrSrSrg)ri zButton widget.Nc 2[RXSX#5 g)aConstruct a button widget with the parent MASTER. STANDARD OPTIONS activebackground, activeforeground, anchor, background, bitmap, borderwidth, cursor, disabledforeground, font, foreground highlightbackground, highlightcolor, highlightthickness, image, justify, padx, pady, relief, repeatdelay, repeatinterval, takefocus, text, textvariable, underline, wraplength WIDGET-SPECIFIC OPTIONS command, compound, default, height, overrelief, state, width buttonNrrrOrr/rs r rButton.__init__ s& h8rcPURRURS5 g)a'Flash the button. This is accomplished by redisplaying the button several times, alternating between active and normal colors. At the end of the flash the button is left in the same normal/active state as when the command was invoked. This command is ignored if the button's state is disabled. flashNrrNs r r Button.flash& s  TWWg&rcNURRURS5$)zInvoke the command associated with the button. The return value is the return value from the command, or an empty string if there is no command associated with the button. This command is ignored if the button's state is disabled. invokerrNs r r Button.invoke2 sww||DGGX..rr!) rRrSrTrUrrrrrVr!rr rr s"9* '/rrc\rSrSrSrS04SjrSrSrSrSr S>S jr S r S r S r S rS?SjrS@SjrS?SjrS?SjrSrSrSrSrSrSrSrSrSrSrSrSrSrSr S r!S!r"S"r#S#r$S>S$jr%S%r&S&r'S'r(S(r)S)r*S*r+S+r,S,r-S-r.S?S.jr/\/r0S/r1\1r2S0r3SAS1jr404S2jr5S3r6\6=r7r8S4r9S5r:SBS6jr;S7rS:r?S;r@S<rAS=rBg)CCanvasi= z?Canvas widget to display graphical elements like lines or text.Nc 2[RXSX#5 g)aConstruct a canvas widget with the parent MASTER. Valid resource names: background, bd, bg, borderwidth, closeenough, confine, cursor, height, highlightbackground, highlightcolor, highlightthickness, insertbackground, insertborderwidth, insertofftime, insertontime, insertwidth, offset, relief, scrollregion, selectbackground, selectborderwidth, selectforeground, state, takefocus, width, xscrollcommand, xscrollincrement, yscrollcommand, yscrollincrement.canvasNrrs r rCanvas.__init__@ s h8rcXURRURS4U-5 g)raddtagNrrWs r r Canvas.addtagL   dggx(4/0rc*URUSU5 g)z*Add tag NEWTAG to all items above TAGORID.aboveNrrOnewtagtagOrIds r addtag_aboveCanvas.addtag_aboveP  FGW-rc(URUS5 g)zAdd tag NEWTAG to all items.rmNr)rOrs r addtag_allCanvas.addtag_allT s FE"rc*URUSU5 g)z*Add tag NEWTAG to all items below TAGORID.belowNrrs r addtag_belowCanvas.addtag_belowX rrc,URUSX#XE5 g)zAdd tag NEWTAG to item which is closest to pixel at X, Y. If several match take the top-most. All items closer than HALO are considered overlapping (all are closest). If START is specified the next below this tag is taken.closestNr)rOrrrhalostarts r addtag_closestCanvas.addtag_closest\ s FIqT9rc,URUSX#XE5 g)zDAdd tag NEWTAG to all items in the rectangle defined by X1,Y1,X2,Y2.enclosedNrrOrx1y1x2y2s r addtag_enclosedCanvas.addtag_enclosedc s FJ7rc,URUSX#XE5 g)zOAdd tag NEWTAG to all items which overlap the rectangle defined by X1,Y1,X2,Y2. overlappingNrrs r addtag_overlappingCanvas.addtag_overlappingh s FM22:rc*URUSU5 g)z)Add tag NEWTAG to all items with TAGORID.withtagNrrs r addtag_withtagCanvas.addtag_withtagm s FIw/rcURURRURS4U-55=(d S$)ztReturn a tuple of X1,Y1,X2,Y2 coordinates for a rectangle which encloses all items with tags specified as arguments.rNrrWs r r Canvas.bboxq s;}} GGLL$''6*T1 24<7; =*+!!!$=> >>s$A8c [U5nUSn[U[[45(aUSSnO0nURR URR "URSU/X RXC5-Q765$)rrNr) r"rr'rr<rirrr)rOitemTyperrr/s r _createCanvas._create sx~2h cD%= ) )9DCww~~dggll GGXx.]]3++./ /rc&URSX5$)z6Create arc shaped region with coordinates x1,y1,x2,y2.arcrrs r create_arcCanvas.create_arc s||E4,,rc&URSX5$)z%Create bitmap with coordinates x1,y1.rrrs r create_bitmapCanvas.create_bitmap ||Hd//rc&URSX5$)z)Create image item with coordinates x1,y1.r4rrs r create_imageCanvas.create_image s||GT..rc&URSX5$)z-Create line with coordinates x1,y1,...,xn,yn.rdrrs r create_lineCanvas.create_line ||FD--rc&URSX5$)z)Create oval with coordinates x1,y1,x2,y2.ovalrrs r create_ovalCanvas.create_oval rrc&URSX5$)z0Create polygon with coordinates x1,y1,...,xn,yn.polygonrrs r create_polygonCanvas.create_polygon s||It00rc&URSX5$)z.Create rectangle with coordinates x1,y1,x2,y2. rectanglerrs r create_rectangleCanvas.create_rectangle s||K22rc&URSX5$)z#Create text with coordinates x1,y1.textrrs r create_textCanvas.create_text rrc&URSX5$)z+Create window with coordinates x1,y1,x2,y2.rrrs r create_windowCanvas.create_window rrcXURRURS4U-5 g)zDelete characters of text items identified by tag or id in ARGS (possibly several times) from FIRST to LAST character (including).dcharsNrrWs r r Canvas.dchars "  dggx(4/0rcXURRURS4U-5 g)z$>rcTURRURSSX5 g)z=Set the variable end of a selection in item TAGORID to INDEX.rrtoNrrts r select_toCanvas.select_toh s  TWWhg=rcbURRURSU5=(d S$)z$Return the type of the item TAGORID.r(Nrr(s r r( Canvas.typel s"ww||DGGVW5==rr!rAr+rZ)rr) )CrRrSrTrUrrrrrrrrrrrrrrrrrrrrrrr rrrrr(r r#r)r-r0r3r7r:r=rrBrErrJrMrP itemconfigrTrXrXrcr]r`rMr_rcriroruryr}rrr(rVr!rr rr= sKI" 91.#.:8 ; 0< C '7 7 > /-0/..13.01 1/ : + +75 8 -77 2 G1 ; DJ 0 E/7 ,0 D704< B1@?>>rrcX^\rSrSrSrS04SjrU4SjrSrSrSr S r S r S r U=r $) Checkbuttonis z7Checkbutton widget which is either in on- or off-state.Nc 2[RXSX#5 g)aConstruct a checkbutton widget with the parent MASTER. Valid resource names: activebackground, activeforeground, anchor, background, bd, bg, bitmap, borderwidth, command, cursor, disabledforeground, fg, font, foreground, height, highlightbackground, highlightcolor, highlightthickness, image, indicatoron, justify, offvalue, onvalue, padx, pady, relief, selectcolor, selectimage, state, takefocus, text, textvariable, underline, variable, width, wraplength. checkbuttonNrrs r rCheckbutton.__init__v  mS=rc>URS5(d<URRR5n[S- qSUS[3US'[ TU]X5 g)Nrrrr7)r(rVrRrX_checkbutton_countsuperr)rOrr/rrVs r rCheckbutton._setup s[wwv>>**002D ! # dV1%7$89CK v#rcPURRURS5 gzPut the button in off-state.deselectNrrNs r rCheckbutton.deselect s  TWWj)rcPURRURS5 gzFlash the button.rNrrNs r rCheckbutton.flash   TWWg&rcNURRURS5$z $*'/(((rrc\rSrSrSrS04SjrSSjrSrSrSr S r S r S r S r \ rS r\rSr\rSr\rSr\rSr\rSrg)Entryi z1Entry widget which allows displaying simple text.Nc 2[RXSX#5 g)aConstruct an entry widget with the parent MASTER. Valid resource names: background, bd, bg, borderwidth, cursor, exportselection, fg, font, foreground, highlightbackground, highlightcolor, highlightthickness, insertbackground, insertborderwidth, insertofftime, insertontime, insertwidth, invalidcommand, invcmd, justify, relief, selectbackground, selectborderwidth, selectforeground, show, state, takefocus, textvariable, validate, validatecommand, vcmd, width, xscrollcommand.entryNrrs r rEntry.__init__ s gs7rcRURRURSX5 g)z.Delete text from FIRST to LAST (not included).r(NrrOfirstlasts r r( Entry.delete   TWWh4rcNURRURS5$)zReturn the text.r(rrNs r r( Entry.get ww||DGGU++rcRURRURSU5 g)zInsert cursor at INDEX.rENrrOrs r rE Entry.icursor s  TWWi/rcURRURRURSU55$)zReturn position of cursor.rrqrs r r Entry.index s1ww~~dggll GGWe%& &rcRURRURSX5 g)zInsert STRING at INDEX.rJNr)rOrrs r rJ Entry.insert s  TWWh6rcTURRURSSU5 grfrrQs r riEntry.scan_mark s  TWWffa0rcTURRURSSU5 g)zpAdjust the view of the canvas to 10 times the difference between X and Y and the coordinates given in scan_mark.rgrmNrrQs r roEntry.scan_dragto s  TWWfh2rcTURRURSSU5 g)z9Adjust the end of the selection near the cursor to INDEX.r?rsNrrs r selection_adjustEntry.selection_adjust   TWWk8U;rcRURRURSS5 g)rxr?rNrrNs r r@Entry.selection_clear s  TWWk73rcTURRURSSU5 g)*Set the fixed end of a selection to INDEX.r?r|Nrrs r selection_fromEntry.selection_from s  TWWk659rcURRURRURSS55$)zKReturn True if there are characters selected in the entry, False otherwise.r?presentr rNs r selection_presentEntry.selection_present 3ww!! GGLL+y 9; ;rcTURRURSSX5 g)3Set the selection from START to END (not included).r?rangeNrrOrends r selection_rangeEntry.selection_range s  TWWk7E?rcTURRURSSU5 g)-Set the variable end of a selection to INDEX.r?rNrrs r selection_toEntry.selection_to s  TWWk47rr!r+)rRrSrTrUrrr(r(rErrJrirorrur@ryrr}rselect_presentr select_rangerrrVr!rr rr s{;" 85,0& 713 <%M4#L:!K; 'N@#L8Irrc&\rSrSrSrS04SjrSrg)Framei zFFrame widget which may contain other widgets and can have a 3D border.Nc [X#45nSnSU;a SUS4nUS OSU;a SUS4nUS [RXSU0U5 g)zConstruct a frame widget with the parent MASTER. Valid resource names: background, bd, bg, borderwidth, class, colormap, container, cursor, height, highlightbackground, highlightcolor, highlightthickness, relief, takefocus, visual, width.r!rz-classr}rN)r4rr)rOrr/rrs r rFrame.__init__ sa  " s?s8}-EH ^s7|,EG gsB>rr!rr!rr rr sP"?rrc&\rSrSrSrS04SjrSrg)Labeli z0Label widget which can display text and bitmaps.Nc 2[RXSX#5 g)aConstruct a label widget with the parent MASTER. STANDARD OPTIONS activebackground, activeforeground, anchor, background, bitmap, borderwidth, cursor, disabledforeground, font, foreground, highlightbackground, highlightcolor, highlightthickness, image, justify, padx, pady, relief, takefocus, text, textvariable, underline, wraplength WIDGET-SPECIFIC OPTIONS height, state, width labelNrrs r rLabel.__init__ s$ gs7rr!rr!rr rr s:"8rrc\rSrSrSrS04SjrSrSrSrSSjr SS jr S r S r S r S rSrSrSr\rSSjr\rSr\rSSjr\rSrSrSSjr\rSrg)Listboxi& z3Listbox widget which can display a list of strings.Nc 2[RXSX#5 g)anConstruct a listbox widget with the parent MASTER. Valid resource names: background, bd, bg, borderwidth, cursor, exportselection, fg, font, foreground, height, highlightbackground, highlightcolor, highlightthickness, relief, selectbackground, selectborderwidth, selectforeground, selectmode, setgrid, takefocus, width, xscrollcommand, yscrollcommand, listvariable.listboxNrrs r rListbox.__init__) s i9rcRURRURSU5 g)z"Activate item identified by INDEX.activateNrrs r rListbox.activate3   TWWj%0rcURURRURSU55=(d S$)zpReturn a tuple of X1,Y1,X2,Y2 coordinates for a rectangle which encloses the item identified by the given index.rNrrs r r Listbox.bbox7 s-}}TWW\\$''65ABJdJrc~URURRURS55=(d S$)z.Return the indices of currently selected item. curselectionr!rrNs r rListbox.curselection< s)}}TWW\\$''>BCIrIrcRURRURSX5 g)z+Delete items from FIRST to LAST (included).r(Nrrs r r(Listbox.delete@ rrcUb@URRURRURSX55$URRURSU5$)z0Get list of items from FIRST to LAST (included).r(rJrs r r( Listbox.getD sV  77$$TWW\\&-. .77<<6 6rcURRURSU5nUS:XagURRU5$)z+Return index of item identified with INDEX.rrNr<rrrirOrrs r r Listbox.indexL s8 GGLL'5 1 ;tww~~a  rcZURRURSU4U-5 g)zInsert ELEMENTS at INDEX.rJNr)rOrelementss r rJListbox.insertR s"  dggx/(:;rcURRURRURSU55$)z5Get index of item which is nearest to y coordinate Y.nearestrq)rOrs r rListbox.nearestV s1ww~~dggll GGY#$ $rcTURRURSSX5 grfrrs r riListbox.scan_mark[ rkrcTURRURSSX5 g)zqAdjust the view of the listbox to 10 times the difference between X and Y and the coordinates given in scan_mark.rgrmNrrs r roListbox.scan_dragto_   TWWfh5rcRURRURSU5 g)z"Scroll such that INDEX is visible.seeNrrs r r Listbox.seee   TWWeU+rcTURRURSSU5 g)z-Set the fixed end oft the selection to INDEX.r?rNrrs r selection_anchorListbox.selection_anchori rrcTURRURSSX5 g)z2Clear the selection from FIRST to LAST (included).r?rNrrs r r@Listbox.selection_clearo s  TWWgu 4rcURRURRURSSU55$)z.Return True if INDEX is part of the selection.r?includesr rs r selection_includesListbox.selection_includesv s5ww!!$'',, GG[*e#56 6rcTURRURSSX5 g)zaSet the selection from FIRST to LAST (included) without changing the currently selected elements.r?r$Nrrs r selection_setListbox.selection_set} s  TWWk5%>rcURRURRURS55$)z-Return the number of elements in the listbox.rrqrNs r r Listbox.size s(ww~~dggll477F;<UR U5 MQ UR RURSX5 g)z7Delete menu items between INDEX1 and INDEX2 (included).N)rrrrGr() rr entryconfigr entrycgetrr<rr)rOindex1index2 num_index1 num_index2rr0s r r( Menu.delete s >F!%F!3TZZ5GJ  J$6%* "Jz>2AD,,Q//q)451&&q) 3  TWWh7rcXURRURSUSU-5$)z=Return the resource value of a menu item for OPTION at INDEX.rXr7rrs r rXMenu.entrycget s#ww||DGG[%vFFrc *URSU4X#5$)zConfigure a menu item at INDEX.entryconfigurerr s r raMenu.entryconfigure s 0%8#BBrcURRURSU5nUS;aS$URRU5$)z4Return the index of a menu item identified by INDEX.r)rrNrrs r r Menu.index s; GGLL'5 1L(t?dggnnQ.??rcPURRURSU5$)zJInvoke a menu item identified by INDEX and execute the associated command.rrrs r r Menu.invoke sww||DGGXu55rcRURRURSX5 g)zDisplay a menu at position X,Y.postNrrs r rh Menu.posts  TWWfa+rcPURRURSU5$)z*Return the type of the menu item at INDEX.r(rrs r r( Menu.typesww||DGGVU33rcPURRURS5 g)z Unmap a menu.unpostNrrNs r rm Menu.unpost rrcURRURRURSU55$)zFReturn the x-position of the leftmost pixel of the menu item at INDEX. xpositionrqrs r rpMenu.xpositions,ww~~dggll477KGHHrcURRURRURSU55$)zEReturn the y-position of the topmost pixel of the menu item at INDEX. ypositionrqrs r rsMenu.ypositions1ww~~dggll GG[%)* *rr!rr+) rRrSrTrUrrr'rr8r0r4r8r<r@rJrFrJrNrQrTr(rXrarWrrrhr(rmrprsrVr!rr r"r" sZ"771!#) !'#%+!'#%+!#)+-) )+1-/5)+1-/5+-38 GC!K@ 6 ,4(I *rr"c&\rSrSrSrS04SjrSrg) Menubuttoniz(Menubutton widget, obsolete since Tk8.0.Nc 2[RXSX#5 g)N menubuttonrrs r rMenubutton.__init__slC\rSrSrSrS04SjrSrSrSrSr S r g) Radiobuttoni)zGRadiobutton widget which shows only one of several buttons in on-state.Nc 2[RXSX#5 g)aConstruct a radiobutton widget with the parent MASTER. Valid resource names: activebackground, activeforeground, anchor, background, bd, bg, bitmap, borderwidth, command, cursor, disabledforeground, fg, font, foreground, height, highlightbackground, highlightcolor, highlightthickness, image, indicatoron, justify, padx, pady, relief, selectcolor, selectimage, state, takefocus, text, textvariable, underline, value, variable, width, wraplength.r;Nrrs r rRadiobutton.__init__,rrcPURRURS5 grrrNs r rRadiobutton.deselect8s  TWWj)rcPURRURS5 grrrNs r rRadiobutton.flash=rrcNURRURS5$rrrNs r rRadiobutton.invokeArrcPURRURS5 grrrNs r rrRadiobutton.selectErrr!) rRrSrTrUrrrrrrrrVr!rr rr)s#Q" >* '/(rrcB\rSrSrSrS04SjrSrSrS SjrSr S r g) ScaleiJz1Scale widget which can display a numerical scale.Nc 2[RXSX#5 g)aConstruct a scale widget with the parent MASTER. Valid resource names: activebackground, background, bigincrement, bd, bg, borderwidth, command, cursor, digits, fg, font, foreground, from, highlightbackground, highlightcolor, highlightthickness, label, length, orient, relief, repeatdelay, repeatinterval, resolution, showvalue, sliderlength, sliderrelief, state, takefocus, tickinterval, to, troughcolor, variable, width.rcNrrs r rScale.__init__Ms gs7rcURRURS5nURRU5$![[ [ 4a URRU5s$f=f)z*Get the current value as integer or float.r()r<rrrirr+rrjr#s r r( Scale.getXs] TWWe, ,77>>%( (Ix0 ,77$$U+ + ,sA0A65A6cRURRURSU5 g)zSet the value to VALUE.r$Nrr#s r r$ Scale.set`r rcnURURRURSU55$)zReturn a tuple (X,Y) of the point along the centerline of the trough that corresponds to VALUE or the current value if None is given.rrr#s r r Scale.coordsds( }}TWW\\$''8UCDDrcPURRURSX5$)z[Return where the point X,Y lies. Valid return values are "slider", "though1" and "though2".identifyrrs r rScale.identifykww||DGGZ66rr!r+) rRrSrTrUrrr(r$rrrVr!rr rrJs$;" 8,,E7rrcN\rSrSrSrS04SjrS SjrSrSrSr S r S r S r g) Scrollbariqz?Scrollbar widget which displays a slider at a certain position.Nc 2[RXSX#5 g)a<Construct a scrollbar widget with the parent MASTER. Valid resource names: activebackground, activerelief, background, bd, bg, borderwidth, command, cursor, elementborderwidth, highlightbackground, highlightcolor, highlightthickness, jump, orient, relief, repeatdelay, repeatinterval, takefocus, troughcolor, width. scrollbarNrrs r rScrollbar.__init__ts k3;rcbURRURSU5=(d S$)aXMarks the element indicated by index as active. The only index values understood by this method are "arrow1", "slider", or "arrow2". If any other value is specified then no element of the scrollbar will be active. If index is not specified, the method returns the name of the element that is currently active, or None if no element is active.rNrrs r rScrollbar.activates$ww||DGGZ7?4?rcURRURRURSX55$)zfReturn the fractional change of the scrollbar setting if it would be moved by DELTAX or DELTAY pixels.rr)rOdeltaxdeltays r rScrollbar.deltas3ww  GGLL'6 :< 2rrc\rSrSrSrS04SjrSrSrSS.S jrSS&jr%S'r&S(r'S9= >rc URRURRURSXU55$)zxReturn whether between index INDEX1 and index INDEX2 the relation OP is satisfied. OP is one of <, <=, ==, >=, >, or !=.comparer )rOrYoprZs r r Text.compares7ww!!$'',, GGYF#45 5rF) return_intscLUVs/sHnSU-PM nnURR"URS/UQUPUP76n[U[5(d$UR U5n[ U5S:XaUunU(dU(dSnU$[ U5S::aU4nU$s snf)a Counts the number of relevant things between the two indices. If INDEX1 is after INDEX2, the result will be a negative number (and this holds for each of the possible options). The actual items which are counted depends on the options given. The result is a tuple of integers, one for the result of each counting option given, if more than one option is specified or return_ints is false (default), otherwise it is an integer. Valid counting options are "chars", "displaychars", "displayindices", "displaylines", "indices", "lines", "xpixels" and "ypixels". The default value, if no option is specified, is "indices". There is an additional possible option "update", which if given then all subsequent options ensure that any possible out of date information is recalculated. r-rrN)r<rrrr_rr)rOrYrZrrargr$s r r Text.counts"+22'353;'2ggll477GFgFvFvF#s##--$C3x1} W"f 3sB!cUc?URRURRURS55$URRURSU5 g)zbTurn on the internal consistency checks of the B-Tree inside the text widget according to BOOLEAN.Ndebugr rs r r Text.debugsI ?77%%dggll477G&DE E  TWWgw/rcRURRURSX5 g)z?Delete the characters between INDEX1 and INDEX2 (not included).r(NrrOrYrZs r r( Text.deletes  TWWh7rcnURURRURSU55$)zReturn tuple (x,y,width,height,baseline) giving the bounding box and baseline position of the visible part of the line containing the character at INDEX. dlineinforrs r rText.dlineinfos(}}TWW\\$'';FGGrc /nSnSnU(d /nU4SjnUn[U[5(dURU5=pcUSU/- nUH"n XI(dMURSU -5 M$ URU5 U(aURU5 URR "UR S/UQ76 UU(aURU5 $$!U(aURU5 ff=f)aNReturn the contents of the widget between index1 and index2. The type of contents returned in filtered based on the keyword parameters; if 'all', 'image', 'mark', 'tag', 'text', or 'window' are given and true, then the corresponding items are returned. The result is a list of triples of the form (key, value, index). If none of the keywords are true then 'all' is used by default. If the 'command' argument is given, it is called once for each element of the list of triples, with the values of each triple serving as the arguments to the function. In this case the list is not returned.Nc*URXU45 gr+)r)rAr rrxs r append_triple Text.dump..append_triples s512rz-commandr7dump)rrr4rr<rrr) rOrYrZrGrr func_namerxrrAs r r Text.dumps  F8> 3#G .gs++&*nnW&== Z) )D77DKKc 2 KK  F# GGLL& 04 0""9-y""9-s:CA*CC6cRURR"URS/UQ76$)a2Internal method This method controls the undo mechanism and the modified flag. The exact behavior of the command depends on the option argument that follows the edit argument. The following forms of the command are currently supported: edit_modified, edit_redo, edit_reset, edit_separator and edit_undo editrrWs r r Text.edit"s"ww||DGGV3d33rc&URSU5$)a Get or Set the modified flag If arg is not specified, returns the modified flag of the widget. The insert, delete, edit undo and edit redo commands or the user can set or clear the modified flag. If boolean is specified, sets the modified flag of the widget to arg. modifiedr)rOrs r edit_modifiedText.edit_modified1syyS))rc$URS5$)zRedo the last undone edit When the undo option is true, reapplies the last undone edits provided no other edits were done since then. Generates an error when the redo stack is empty. Does nothing when the undo option is false. redorrNs r edit_redoText.edit_redo<syy  rc$URS5$)z(Clears the undo and redo stacks resetrrNs r edit_resetText.edit_resetFsyy!!rc$URS5$)z^Inserts a separator (boundary) on the undo stack. Does nothing when the undo option is false r?rrNs r edit_separatorText.edit_separatorKs yy%%rc$URS5$)aUndoes the last edit action If the undo option is true. An edit action is defined as all the insert and delete commands that are recorded on the undo stack in between two separators. Generates an error when the undo stack is empty. Does nothing when the undo option is false undorrNs r edit_undoText.edit_undoRsyy  rcPURRURSX5$)z5Return the text from INDEX1 to INDEX2 (not included).r(rrs r r(Text.get]sww||DGGUF;;rcUSSS:waSU-nUSSS:XaUSSnURRURSSX5$)z9Return the value of OPTION of an embedded image at INDEX.Nrr7rrr4rrrs r image_cgetText.image_cgetbsO "1: 6\F "#;# CR[Fww||DGGWfeDDrc ,URSSU4X#5$)z%Configure an embedded image at INDEX.r4rrr s r image_configureText.image_configurejsercTURRURSSX45$)z|Change the gravity of a mark MARKNAME to DIRECTION (LEFT or RIGHT). Return the current value if None is given for DIRECTION.rhgravityr)rOmarkName directions r mark_gravityText.mark_gravitys)ww|| WWfi =? ?rcURRURRURSS55$)zReturn all mark names.rhr5rJrNs r mark_namesText.mark_namess3ww   GGVW"&' 'rcTURRURSSX5 g)z0Set mark MARKNAME before the character at INDEX.rhr$Nr)rOrrs r mark_set Text.mark_sets  TWWfeX=rcZURRURSS4U-5 g)zDelete all marks in MARKNAMES.rhunsetNr)rO markNamess r mark_unsetText.mark_unsets"  dggvw/);"72> 5 ;@<08H %.P 4 *!" & !< EG')* 7:? ? ' >=DH,.%I G46 04047;.(,= Q '' EGJ<B : CC9 0 ? FH%M')( 6 >rrc(\rSrSrSrSSjrSrSrg)_setitiDz>Internal class. It wraps the command in the widget OptionMenu.Nc(X lXlX0lgr+) _setit__value _setit__var_setit__callback)rOvarr r1s r r_setit.__init__Gs  "rcURRUR5 URbUR"UR/UQ76 ggr+)rjr$rirkrWs r r-_setit.__call__Ls: t||$ ?? & OODLL 04 0 'r) __callback__value__varr+rYr!rr rgrgDsH# 1rrgc*\rSrSrSrSrSrSrSrg) OptionMenuiRz?OptionMenu which allows the user to select a value from a menu.c SUS[SSS.n[RXSU5 SUl[ USSS 9=oplUR UlURS 5nS U;aUS U(a [S [[U55-5eURU[X#U5S 9 UHn URU [X)U5S 9 M XpS'g )zConstruct an optionmenu widget with the parent MASTER, with the resource textvariable set to VARIABLE, the initially selected value VALUE, the other menu values VALUES and an additional keyword argument command.r6rr0) borderwidth textvariable indicatoronreliefrhighlightthicknessry tk_optionMenur$r)rtearoffrGzunknown option -)rrGN)RAISEDrrrr"_OptionMenu__menurmenunamer(rrr:r8rg) rOrr9r r4rrr$r1r3s r rOptionMenu.__init__Us &C$%' lB7)!$VQ??{ ::i(  y! -d4<.@@A A u:  <A   1#H:  <V rcPUS:Xa UR$[RX5$)Nr$)r~rrQrs r rQOptionMenu.__getitem__ns$ 6>;; !!$--rc<[RU5 SUlg)z,Destroy this widget and the associated menu.N)rwrr~rNs r rOptionMenu.destroyss4  r)__menurrN) rRrSrTrUrrrQrrVr!rr rtrtRsI2. rrtc`\rSrSrSrSrS0S4SjrSrSrSr S r S r \ r S r S rS rSrg)ImageiyzBase class for images.rNc SUlUc [S5n[USU5UlU(d-[=R S- slS[R <3nU(aU(a [ X545nO U(aUnSnUR5HupxUSU-U4-nM URRSSX4U-5 X lg) Nz create imager<rpyimager!r7r4r) rrrr<r_last_idr4r-r) rOimgtyperr/rrrr2r3s r rImage.__init__}s >&~6F&$/ NNa N"'..2D #Yy1s rIIKDAQ *G   gx87BC rcUR$r+)rrNs r rP Image.__str__s dii'rcUR(a)URRSSUR5 gg![a gf=f)Nr4r()rr<rrrNs r r Image.__del__s? 99  Wh :   s'< A A cZURRURSSU-U5 gNrr7r<rrrs r rImage.__setitem__s   TYY SWe2>rcPURRURS5 g)zDisplay a transparent image.blankNrrNs r rPhotoImage.blanks  TYY(rcVURRURSSU-5$)zReturn the value of OPTION.rr7rrs r rPhotoImage.cgets!ww||DIIvsV|<>rc4US:XaUnURX4US9$)aReturn a new PhotoImage based on the same image as this widget but use only every Xth or Yth pixel. If Y is not given, the default value is the same as X. The FROM_COORDS option specifies a rectangular sub-region of the source image to be copied, as in the copy() method. r)rrrrs r rPhotoImage.subsamples$ b5A!yyA6{yCCrF)rrshrinkrrcompositingrulec/nUbURS/UQ75 UbURS/UQ75 U(aURS5 Ub3[U[[45(dU4nURS/UQ75 Ub3[U[[45(dU4nURS/UQ75 U(aURSU45 UR R "URSU/UQ76 g) a[Copy a region from the source image (which must be a PhotoImage) to this image, possibly with pixel zooming and/or subsampling. If no options are specified, this command copies the whole of the source image into this image, starting at coordinates (0, 0). The FROM_COORDS option specifies a rectangular sub-region of the source image to be copied. It must be a tuple or a list of 1 to 4 integers (x1, y1, x2, y2). (x1, y1) and (x2, y2) specify diagonally opposite corners of the rectangle. If x2 and y2 are not specified, the default value is the bottom-right corner of the source image. The pixels copied will include the left and top edges of the specified rectangle but not the bottom or right edges. If the FROM_COORDS option is not given, the default is the whole source image. The TO option specifies a rectangular sub-region of the destination image to be affected. It must be a tuple or a list of 1 to 4 integers (x1, y1, x2, y2). (x1, y1) and (x2, y2) specify diagonally opposite corners of the rectangle. If x2 and y2 are not specified, the default value is (x1,y1) plus the size of the source region (after subsampling and zooming, if specified). If x2 and y2 are specified, the source region will be replicated if necessary to fill the destination region in a tiled fashion. If SHRINK is true, the size of the destination image should be reduced, if necessary, so that the region being copied into is at the bottom-right corner of the image. If SUBSAMPLE or ZOOM are specified, the image is transformed as in the subsample() or zoom() methods. The value must be a single integer or a pair of integers. The COMPOSITINGRULE option specifies how transparent pixels in the source image are combined with the destination image. When a compositing rule of 'overlay' is set, the old contents of the destination image are visible, as if the source image were printed on a piece of transparent film and placed over the top of the destination. When a compositing rule of 'set' is set, the old contents of the destination image are discarded and the source image is used as-is. The default compositing rule is 'overlay'. N-from-to-shrinkz-zoomz -subsamplez-compositingruler)extendrrrrr<rr) rO sourceImagerrrrrrrs r rPhotoImage.copy_replacesV  " NNG2k2 3 > NNEg>rcPURRURSX5$)z8Return the color (red, green, blue) of the pixel at X,Y.r(rrs r r(PhotoImage.get7sww||DIIua33rcURSU4nU(aUSS:XaUSSnUS-[U5-nURRU5 g)zrPut row formatted colors to image starting from position TO, e.g. image.put("{red green} {blue yellow}", to=(4,6))putrrrN)r)rrr<r)rOrrrs r rPhotoImage.put;sO 5$' !u~V(?U2Y.D  Tr)rrrcSnUbUSU4- nUb US/UQ7- nU(aUS- nUb US/UQ7- nURR"URSU/UQ76 g)aReads image data from the file named FILENAME into the image. The FORMAT option specifies the format of the image data in the file. The FROM_COORDS option specifies a rectangular sub-region of the image file data to be copied to the destination image. It must be a tuple or a list of 1 to 4 integers (x1, y1, x2, y2). (x1, y1) and (x2, y2) specify diagonally opposite corners of the rectangle. If x2 and y2 are not specified, the default value is the bottom-right corner of the source image. The default, if this option is not specified, is the whole of the image in the image file. The TO option specifies the coordinates of the top-left corner of the region of the image into which data from filename are to be read. The default is (0, 0). If SHRINK is true, the size of the destination image will be reduced, if necessary, so that the region into which the image file data are read is at the bottom-right corner of the image. r!N-formatr)rrr?r)rOfilenameformatrrrrs r r?PhotoImage.readEsu,    6* *G  " .+. .G  | #G > || #G  TYY;7;r) background grayscalecSnUbUSU4- nUb US/UQ7- nU(aUS- nUbUSU4- nURR"URSU/UQ76 g)aWrites image data from the image to a file named FILENAME. The FORMAT option specifies the name of the image file format handler to be used to write the data to the file. If this option is not given, the format is guessed from the file extension. The FROM_COORDS option specifies a rectangular region of the image to be written to the image file. It must be a tuple or a list of 1 to 4 integers (x1, y1, x2, y2). If only x1 and y1 are specified, the region extends from (x1,y1) to the bottom-right corner of the image. If all four coordinates are given, they specify diagonally opposite corners of the rectangular region. The default, if this option is not given, is the whole image. If BACKGROUND is specified, the data will not contain any transparency information. In all transparent pixels the color will be replaced by the specified color. If GRAYSCALE is true, the data will not contain color information. All pixel data will be transformed into grayscale. r!Nrrz -grayscale -backgroundwriter)rOrrrrrrs r rPhotoImage.writefsu.    6* *G  " .+. .G   &G  !  z2 2G  TYY ?rc&URSU5$)aLocate the end of the selection nearest to the character given by index, Then adjust that end of the selection to be at index (i.e including but not going beyond index). The other end of the selection is made the anchor point for future select to commands. If the selection isn't currently in the spinbox, then a new selection is created to include the characters between index and the most recent selection anchor point, inclusive. rsr?rs r rSpinbox.selection_adjustQs~~h..rc$URS5$)z[Clear the selection If the selection isn't in this widget then the command has no effect. rr rNs r r@Spinbox.selection_clear_s ~~g&&rcRURRURSSU5$)ztSets or gets the currently selected element. If a spinbutton element is specified, it will be displayed depressed. r?rrrs r selection_elementSpinbox.selection_elementgs! ww||DGG[)WEErc(URSU5 g)rr|Nr rs r rSpinbox.selection_fromos vu%rcURRURRURSS55$)zMReturn True if there are characters selected in the spinbox, False otherwise.r?rr rNs r rSpinbox.selection_presentsrrc(URSX5 g)rrNr rs r rSpinbox.selection_rangeys w+rc(URSU5 g)rrNr rs r rSpinbox.selection_to}s tU#rr!r+)rRrSrTrUrrrr(r(rErrrJrrgriror?rr@r rrrrrVr!rr rrsp":: K <,775 98: $ &? /'F&; ,$rrc&\rSrSrSrS04SjrSrg) LabelFrameizlabelframe widget.Nc 2[RXSX#5 g)a[Construct a labelframe widget with the parent MASTER. STANDARD OPTIONS borderwidth, cursor, font, foreground, highlightbackground, highlightcolor, highlightthickness, padx, pady, relief, takefocus, text WIDGET-SPECIFIC OPTIONS background, class, colormap, container, height, labelanchor, labelwidget, visual, width labelframeNrrs r rLabelFrame.__init__s lC B/F 7; # $ ) : )(/ 9J)XJArr c[5nSURS5-nUS- n[XS9nUR5 [ USU4SjS9nUR5 X0l[ USUR S9nUR5 UR5 UR5 UR5 UR5 g) NzThis is Tcl/Tk %s tk_patchLevelu This should be a cedilla: çrz Click me!cTURRSURS-S9$)Nz[%s]rrP )testrrs r _test..es) (;(; & 11)<)3r)rrGQUIT) rr'rrrrR rrr)rr|)rrrrR r~s r _testrV ^s 4D !2!2?!C CD ..D $ "E JJL $["&3 4D IIKI $VT\\ :DIIK LLNKKMNNMMOrr>r__main__)TNr+r>)NNrF)gr collectionsenumrr:rrtkinter.constantsr\rrfloatr0 TkVersionr1 TclVersionREADABLEWRITABLE EXCEPTIONcompilerASCIIrrr r"r*r4rB namedtuplerDrb _simple_enumStrEnumrdrrrrrrrrrrrr\rermrsr|r_rirjrrr,r[rqr|rrKrrXrZrkrwrrrrrrrrrrrr"rwr|rrrrrgrtrrrr6r;rr r rV globalsr-rcr ModuleType__all__rR)robjs00r rj s@@       (%% & 8'' (           JJ{ # JJy"(( + , 8!!X$##Y.S{--.@=?S G4<< ''!'TO O d   "  q+q+h02X22EE*AA<:   =cAcAL+,,,??*??*zzz p&rp&f!$ ,6+,+,\0.0.f4,4,n>4>4B Zud 8z28<,/V,/^q>VUEq>h .(&.(bSFESl?F?(8F80qfeUqh~*6~*B==:f:(&(B$7F$7N/2/2d^>65%^>B 1 1$$N;7;7|DFDFN@%@3 3 m$fem$d==0}A&}AD*")!2 ,!2ID//#& /9#u?O?O/P ?* !2 , z GaXt,tlW ,s<0 N ? N2N'N',N'4N' NNN$#N$