mirror of
https://github.com/python/cpython.git
synced 2024-12-01 13:55:45 +08:00
Sun Jun 26 02:19:01 1994 Steen Lumholt (lumholt@login.dkuug.dk)
* README: Doc fix. * Dialog.py: tk_dialog wrapper widget. * Tkinter.py: (Widget) Code moved from __init__ to _setup. Sat Jun 25 00:27:24 1994 Steen Lumholt (lumholt@login.dkuug.dk) * Tkinter.py (Misc): selection_own and selection_own_get methods. (Misc.winfo_toplevel): Return widget. * kill.py: New demo. * Tkinter.py: tk_menuBar method moved from Menu class to Misc class. (Scrollbar.get): Bug fix; self._getints not self.tk.getints. Fri Jun 24 17:42:16 1994 Steen Lumholt (lumholt@login.dkuug.dk) * Tkinter.py (Variable, StringVar, IntVar, BooleanVar): New classes. * mklibapp: New shell script. * Setup.in: moreButtons Tk extension support. * tkintermodule.c (Tkapp_New): Remove #ifdef WITH_APPINIT. * appinit.c (Tcl_AppInit): New file and function. * Tkinter.py: (Button): Dummy args in tk_* methods. (Studbutton, Tributton): New widget by <tnb2d@cs.virginia.edu>; morebuttons extension. Thu Jun 23 22:22:43 1994 Steen Lumholt (lumholt@login.dkuug.dk) * tkintermodule.c (FileHandler): Make arg a tuple; bug found by <tnb2d@cs.virginia.edu>. Call the Python file handler function with (file, mask) argument. Fix a few of my refcnt bugs.
This commit is contained in:
parent
c2fb7e65de
commit
aec5dc9f67
@ -16,21 +16,72 @@ TupleType = type(())
|
||||
ListType = type([])
|
||||
CallableTypes = (FunctionType, MethodType)
|
||||
|
||||
_default_root = None
|
||||
|
||||
def _tkerror(err):
|
||||
pass
|
||||
|
||||
class Event:
|
||||
pass
|
||||
|
||||
_varnum = 0
|
||||
class Variable:
|
||||
def __init__(self, master=None):
|
||||
global _default_root
|
||||
global _varnum
|
||||
if master:
|
||||
self._tk = master.tk
|
||||
else:
|
||||
self._tk = _default_root.tk
|
||||
self._name = 'PY_VAR' + `_varnum`
|
||||
_varnum = _varnum + 1
|
||||
def __del__(self):
|
||||
self._tk.unsetvar(self._name)
|
||||
def __str__(self):
|
||||
return self._name
|
||||
def __call__(self, value=None):
|
||||
if value == None:
|
||||
return self.get()
|
||||
else:
|
||||
self.set(value)
|
||||
def set(self, value):
|
||||
return self._tk.setvar(self._name, value)
|
||||
|
||||
class StringVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getvar(self._name)
|
||||
|
||||
class IntVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getint(self._tk.getvar(self._name))
|
||||
|
||||
class DoubleVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getdouble(self._tk.getvar(self._name))
|
||||
|
||||
class BooleanVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getboolean(self._tk.getvar(self._name))
|
||||
|
||||
class Misc:
|
||||
def tk_strictMotif(self, boolean=None):
|
||||
self.tk.getboolean(self.tk.call(
|
||||
'set', 'tk_strictMotif', boolean))
|
||||
def waitvar(self, name='VAR'):
|
||||
def tk_menuBar(self, *args):
|
||||
apply(self.tk.call, ('tk_menuBar', self._w) + args)
|
||||
def waitvar(self, name='PY_VAR'):
|
||||
self.tk.call('tkwait', 'variable', name)
|
||||
def setvar(self, name='VAR', value='1'):
|
||||
def setvar(self, name='PY_VAR', value='1'):
|
||||
self.tk.setvar(name, value)
|
||||
def getvar(self, name='VAR'):
|
||||
def getvar(self, name='PY_VAR'):
|
||||
return self.tk.getvar(name)
|
||||
def getint(self, s):
|
||||
return self.tk.getint(s)
|
||||
@ -89,11 +140,14 @@ class Misc:
|
||||
self.tk.call('selection', 'get', type)
|
||||
def selection_handle(self, func, type=None, format=None):
|
||||
name = self._register(func)
|
||||
self.tk.call('selection', 'handle',
|
||||
self._w, name, type, format)
|
||||
#XXX def selection_own(self):
|
||||
# self.tk.call('selection', 'own', self._w)
|
||||
def send(self, interp, cmd, *args): #XXX
|
||||
self.tk.call('selection', 'handle', self._w,
|
||||
name, type, format)
|
||||
def selection_own(self, func=None):
|
||||
name = self._register(func)
|
||||
self.tk.call('selection', 'own', self._w, name)
|
||||
def selection_own_get(self):
|
||||
return self._nametowidget(self.tk.call('selection', 'own'))
|
||||
def send(self, interp, cmd, *args):
|
||||
return apply(self.tk.call, ('send', interp, cmd) + args)
|
||||
def lower(self, belowThis=None):
|
||||
self.tk.call('lift', self._w, belowThis)
|
||||
@ -186,7 +240,8 @@ class Misc:
|
||||
return self.tk.getint(
|
||||
self.tk.call('winfo', 'screenwidth', self._w))
|
||||
def winfo_toplevel(self):
|
||||
return self.tk.call('winfo', 'toplevel', self._w)
|
||||
return self._nametowidget(self.tk.call(
|
||||
'winfo', 'toplevel', self._w))
|
||||
def winfo_visual(self):
|
||||
return self.tk.call('winfo', 'visual', self._w)
|
||||
def winfo_vrootheight(self):
|
||||
@ -218,17 +273,17 @@ class Misc:
|
||||
if add: add = '+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call('bind', self._w, sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def bind_all(self, sequence, func, add=''):
|
||||
if add: add = '+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call('bind', 'all' , sequence,
|
||||
(add + `name`,) + self._subst_prefix)
|
||||
(add + `name`,) + self._subst_format)
|
||||
def bind_class(self, className, sequence, func, add=''):
|
||||
if add: add = '+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call('bind', className , sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def mainloop(self):
|
||||
self.tk.mainloop()
|
||||
def quit(self):
|
||||
@ -280,12 +335,12 @@ class Misc:
|
||||
w = self
|
||||
while w.master: w = w.master
|
||||
return w
|
||||
_subst_prefix = ('%#', '%b', '%f', '%h', '%k',
|
||||
_subst_format = ('%#', '%b', '%f', '%h', '%k',
|
||||
'%s', '%t', '%w', '%x', '%y',
|
||||
'%A', '%E', '%K', '%N', '%W', '%T', '%X', '%Y')
|
||||
def _substitute(self, *args):
|
||||
tk = self.tk
|
||||
if len(args) != len(self._subst_prefix): return args
|
||||
if len(args) != len(self._subst_format): return args
|
||||
nsign, b, f, h, k, s, t, w, x, y, A, E, K, N, W, T, X, Y = args
|
||||
# Missing: (a, c, d, m, o, v, B, R)
|
||||
e = Event()
|
||||
@ -480,10 +535,8 @@ class Place:
|
||||
self.tk.call(
|
||||
'place', 'slaves', self._w)))
|
||||
|
||||
_default_root = None
|
||||
|
||||
class Widget(Misc, Pack, Place):
|
||||
def __init__(self, master, widgetName, cnf={}, extra=()):
|
||||
def _setup(self, master, cnf):
|
||||
global _default_root
|
||||
if not master:
|
||||
if not _default_root:
|
||||
@ -503,13 +556,15 @@ class Widget(Misc, Pack, Place):
|
||||
self._w = '.' + name
|
||||
else:
|
||||
self._w = master._w + '.' + name
|
||||
self.children = {}
|
||||
if self.master.children.has_key(self._name):
|
||||
self.master.children[self._name].destroy()
|
||||
self.master.children[self._name] = self
|
||||
def __init__(self, master, widgetName, cnf={}, extra=()):
|
||||
Widget._setup(self, master, cnf)
|
||||
self.widgetName = widgetName
|
||||
apply(self.tk.call, (widgetName, self._w) + extra)
|
||||
Widget.config(self, cnf)
|
||||
self.children = {}
|
||||
if master.children.has_key(name):
|
||||
master.children[name].destroy()
|
||||
master.children[name] = self
|
||||
def config(self, cnf=None):
|
||||
if cnf is None:
|
||||
cnf = {}
|
||||
@ -528,7 +583,7 @@ class Widget(Misc, Pack, Place):
|
||||
apply(self.tk.call, (self._w, 'configure')
|
||||
+ self._options(cnf))
|
||||
def __getitem__(self, key):
|
||||
v = self.tk.splitlist(self.tk.call(
|
||||
v = self.tk.split(self.tk.call(
|
||||
self._w, 'configure', '-' + key))
|
||||
return v[4]
|
||||
def __setitem__(self, key, value):
|
||||
@ -562,13 +617,13 @@ class Toplevel(Widget, Wm):
|
||||
class Button(Widget):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'button', cnf)
|
||||
def tk_butEnter(self):
|
||||
def tk_butEnter(self, *dummy):
|
||||
self.tk.call('tk_butEnter', self._w)
|
||||
def tk_butLeave(self):
|
||||
def tk_butLeave(self, *dummy):
|
||||
self.tk.call('tk_butLeave', self._w)
|
||||
def tk_butDown(self):
|
||||
def tk_butDown(self, *dummy):
|
||||
self.tk.call('tk_butDown', self._w)
|
||||
def tk_butUp(self):
|
||||
def tk_butUp(self, *dummy):
|
||||
self.tk.call('tk_butUp', self._w)
|
||||
def flash(self):
|
||||
self.tk.call(self._w, 'flash')
|
||||
@ -618,7 +673,7 @@ class Canvas(Widget):
|
||||
if add: add='+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call(self._w, 'bind', tagOrId, sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def canvasx(self, screenx, gridspacing=None):
|
||||
return self.tk.getint(self.tk.call(
|
||||
self._w, 'canvasx', screenx, gridspacing))
|
||||
@ -842,8 +897,6 @@ class Listbox(Widget):
|
||||
class Menu(Widget):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'menu', cnf)
|
||||
def tk_menuBar(self, *args):
|
||||
apply(self.tk.call, ('tk_menuBar', self._w) + args)
|
||||
def tk_bindForTraversal(self):
|
||||
self.tk.call('tk_bindForTraversal', self._w)
|
||||
def tk_mbPost(self):
|
||||
@ -871,15 +924,23 @@ class Menu(Widget):
|
||||
def add(self, itemType, cnf={}):
|
||||
apply(self.tk.call, (self._w, 'add', itemType)
|
||||
+ self._options(cnf))
|
||||
def add_cascade(self, cnf={}):
|
||||
self.add('cascade', cnf)
|
||||
def add_checkbutton(self, cnf={}):
|
||||
self.add('checkbutton', cnf)
|
||||
def add_command(self, cnf={}):
|
||||
self.add('command', cnf)
|
||||
def add_radiobutton(self, cnf={}):
|
||||
self.add('radiobutton', cnf)
|
||||
def add_separator(self, cnf={}):
|
||||
self.add('separator', cnf)
|
||||
def delete(self, index1, index2=None):
|
||||
self.tk.call(self._w, 'delete', index1, index2)
|
||||
def entryconfig(self, index, cnf={}):
|
||||
apply(self.tk.call, (self._w, 'entryconfigure', index)
|
||||
+ self._options(cnf))
|
||||
def index(self, index):
|
||||
i = self.tk.call(self._w, 'index', index)
|
||||
if i == 'none': return None
|
||||
return self.tk.getint(i)
|
||||
return self.tk.call(self._w, 'index', index)
|
||||
def invoke(self, index):
|
||||
return self.tk.call(self._w, 'invoke', index)
|
||||
def post(self, x, y):
|
||||
@ -922,7 +983,7 @@ class Scrollbar(Widget):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'scrollbar', cnf)
|
||||
def get(self):
|
||||
return self.tk.getints(self.tk.call(self._w, 'get'))
|
||||
return self._getints(self.tk.call(self._w, 'get'))
|
||||
def set(self, totalUnits, windowUnits, firstUnit, lastUnit):
|
||||
self.tk.call(self._w, 'set',
|
||||
totalUnits, windowUnits, firstUnit, lastUnit)
|
||||
@ -971,7 +1032,7 @@ class Text(Widget):
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call(self._w, 'tag', 'bind',
|
||||
tagName, sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def tag_config(self, tagName, cnf={}):
|
||||
apply(self.tk.call,
|
||||
(self._w, 'tag', 'configure', tagName)
|
||||
@ -1002,5 +1063,22 @@ class Text(Widget):
|
||||
def yview_pickplace(self, what):
|
||||
self.tk.call(self._w, 'yview', '-pickplace', what)
|
||||
|
||||
#class Dialog:
|
||||
|
||||
######################################################################
|
||||
# Extensions:
|
||||
|
||||
class Studbutton(Button):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'studbutton', cnf)
|
||||
self.bind('<Any-Enter>', self.tk_butEnter)
|
||||
self.bind('<Any-Leave>', self.tk_butLeave)
|
||||
self.bind('<1>', self.tk_butDown)
|
||||
self.bind('<ButtonRelease-1>', self.tk_butUp)
|
||||
|
||||
class Tributton(Button):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'tributton', cnf)
|
||||
self.bind('<Any-Enter>', self.tk_butEnter)
|
||||
self.bind('<Any-Leave>', self.tk_butLeave)
|
||||
self.bind('<1>', self.tk_butDown)
|
||||
self.bind('<ButtonRelease-1>', self.tk_butUp)
|
||||
|
||||
|
@ -16,21 +16,72 @@ TupleType = type(())
|
||||
ListType = type([])
|
||||
CallableTypes = (FunctionType, MethodType)
|
||||
|
||||
_default_root = None
|
||||
|
||||
def _tkerror(err):
|
||||
pass
|
||||
|
||||
class Event:
|
||||
pass
|
||||
|
||||
_varnum = 0
|
||||
class Variable:
|
||||
def __init__(self, master=None):
|
||||
global _default_root
|
||||
global _varnum
|
||||
if master:
|
||||
self._tk = master.tk
|
||||
else:
|
||||
self._tk = _default_root.tk
|
||||
self._name = 'PY_VAR' + `_varnum`
|
||||
_varnum = _varnum + 1
|
||||
def __del__(self):
|
||||
self._tk.unsetvar(self._name)
|
||||
def __str__(self):
|
||||
return self._name
|
||||
def __call__(self, value=None):
|
||||
if value == None:
|
||||
return self.get()
|
||||
else:
|
||||
self.set(value)
|
||||
def set(self, value):
|
||||
return self._tk.setvar(self._name, value)
|
||||
|
||||
class StringVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getvar(self._name)
|
||||
|
||||
class IntVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getint(self._tk.getvar(self._name))
|
||||
|
||||
class DoubleVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getdouble(self._tk.getvar(self._name))
|
||||
|
||||
class BooleanVar(Variable):
|
||||
def __init__(self, master=None):
|
||||
Variable.__init__(self, master)
|
||||
def get(self):
|
||||
return self._tk.getboolean(self._tk.getvar(self._name))
|
||||
|
||||
class Misc:
|
||||
def tk_strictMotif(self, boolean=None):
|
||||
self.tk.getboolean(self.tk.call(
|
||||
'set', 'tk_strictMotif', boolean))
|
||||
def waitvar(self, name='VAR'):
|
||||
def tk_menuBar(self, *args):
|
||||
apply(self.tk.call, ('tk_menuBar', self._w) + args)
|
||||
def waitvar(self, name='PY_VAR'):
|
||||
self.tk.call('tkwait', 'variable', name)
|
||||
def setvar(self, name='VAR', value='1'):
|
||||
def setvar(self, name='PY_VAR', value='1'):
|
||||
self.tk.setvar(name, value)
|
||||
def getvar(self, name='VAR'):
|
||||
def getvar(self, name='PY_VAR'):
|
||||
return self.tk.getvar(name)
|
||||
def getint(self, s):
|
||||
return self.tk.getint(s)
|
||||
@ -89,11 +140,14 @@ class Misc:
|
||||
self.tk.call('selection', 'get', type)
|
||||
def selection_handle(self, func, type=None, format=None):
|
||||
name = self._register(func)
|
||||
self.tk.call('selection', 'handle',
|
||||
self._w, name, type, format)
|
||||
#XXX def selection_own(self):
|
||||
# self.tk.call('selection', 'own', self._w)
|
||||
def send(self, interp, cmd, *args): #XXX
|
||||
self.tk.call('selection', 'handle', self._w,
|
||||
name, type, format)
|
||||
def selection_own(self, func=None):
|
||||
name = self._register(func)
|
||||
self.tk.call('selection', 'own', self._w, name)
|
||||
def selection_own_get(self):
|
||||
return self._nametowidget(self.tk.call('selection', 'own'))
|
||||
def send(self, interp, cmd, *args):
|
||||
return apply(self.tk.call, ('send', interp, cmd) + args)
|
||||
def lower(self, belowThis=None):
|
||||
self.tk.call('lift', self._w, belowThis)
|
||||
@ -186,7 +240,8 @@ class Misc:
|
||||
return self.tk.getint(
|
||||
self.tk.call('winfo', 'screenwidth', self._w))
|
||||
def winfo_toplevel(self):
|
||||
return self.tk.call('winfo', 'toplevel', self._w)
|
||||
return self._nametowidget(self.tk.call(
|
||||
'winfo', 'toplevel', self._w))
|
||||
def winfo_visual(self):
|
||||
return self.tk.call('winfo', 'visual', self._w)
|
||||
def winfo_vrootheight(self):
|
||||
@ -218,17 +273,17 @@ class Misc:
|
||||
if add: add = '+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call('bind', self._w, sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def bind_all(self, sequence, func, add=''):
|
||||
if add: add = '+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call('bind', 'all' , sequence,
|
||||
(add + `name`,) + self._subst_prefix)
|
||||
(add + `name`,) + self._subst_format)
|
||||
def bind_class(self, className, sequence, func, add=''):
|
||||
if add: add = '+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call('bind', className , sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def mainloop(self):
|
||||
self.tk.mainloop()
|
||||
def quit(self):
|
||||
@ -280,12 +335,12 @@ class Misc:
|
||||
w = self
|
||||
while w.master: w = w.master
|
||||
return w
|
||||
_subst_prefix = ('%#', '%b', '%f', '%h', '%k',
|
||||
_subst_format = ('%#', '%b', '%f', '%h', '%k',
|
||||
'%s', '%t', '%w', '%x', '%y',
|
||||
'%A', '%E', '%K', '%N', '%W', '%T', '%X', '%Y')
|
||||
def _substitute(self, *args):
|
||||
tk = self.tk
|
||||
if len(args) != len(self._subst_prefix): return args
|
||||
if len(args) != len(self._subst_format): return args
|
||||
nsign, b, f, h, k, s, t, w, x, y, A, E, K, N, W, T, X, Y = args
|
||||
# Missing: (a, c, d, m, o, v, B, R)
|
||||
e = Event()
|
||||
@ -480,10 +535,8 @@ class Place:
|
||||
self.tk.call(
|
||||
'place', 'slaves', self._w)))
|
||||
|
||||
_default_root = None
|
||||
|
||||
class Widget(Misc, Pack, Place):
|
||||
def __init__(self, master, widgetName, cnf={}, extra=()):
|
||||
def _setup(self, master, cnf):
|
||||
global _default_root
|
||||
if not master:
|
||||
if not _default_root:
|
||||
@ -503,13 +556,15 @@ class Widget(Misc, Pack, Place):
|
||||
self._w = '.' + name
|
||||
else:
|
||||
self._w = master._w + '.' + name
|
||||
self.children = {}
|
||||
if self.master.children.has_key(self._name):
|
||||
self.master.children[self._name].destroy()
|
||||
self.master.children[self._name] = self
|
||||
def __init__(self, master, widgetName, cnf={}, extra=()):
|
||||
Widget._setup(self, master, cnf)
|
||||
self.widgetName = widgetName
|
||||
apply(self.tk.call, (widgetName, self._w) + extra)
|
||||
Widget.config(self, cnf)
|
||||
self.children = {}
|
||||
if master.children.has_key(name):
|
||||
master.children[name].destroy()
|
||||
master.children[name] = self
|
||||
def config(self, cnf=None):
|
||||
if cnf is None:
|
||||
cnf = {}
|
||||
@ -528,7 +583,7 @@ class Widget(Misc, Pack, Place):
|
||||
apply(self.tk.call, (self._w, 'configure')
|
||||
+ self._options(cnf))
|
||||
def __getitem__(self, key):
|
||||
v = self.tk.splitlist(self.tk.call(
|
||||
v = self.tk.split(self.tk.call(
|
||||
self._w, 'configure', '-' + key))
|
||||
return v[4]
|
||||
def __setitem__(self, key, value):
|
||||
@ -562,13 +617,13 @@ class Toplevel(Widget, Wm):
|
||||
class Button(Widget):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'button', cnf)
|
||||
def tk_butEnter(self):
|
||||
def tk_butEnter(self, *dummy):
|
||||
self.tk.call('tk_butEnter', self._w)
|
||||
def tk_butLeave(self):
|
||||
def tk_butLeave(self, *dummy):
|
||||
self.tk.call('tk_butLeave', self._w)
|
||||
def tk_butDown(self):
|
||||
def tk_butDown(self, *dummy):
|
||||
self.tk.call('tk_butDown', self._w)
|
||||
def tk_butUp(self):
|
||||
def tk_butUp(self, *dummy):
|
||||
self.tk.call('tk_butUp', self._w)
|
||||
def flash(self):
|
||||
self.tk.call(self._w, 'flash')
|
||||
@ -618,7 +673,7 @@ class Canvas(Widget):
|
||||
if add: add='+'
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call(self._w, 'bind', tagOrId, sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def canvasx(self, screenx, gridspacing=None):
|
||||
return self.tk.getint(self.tk.call(
|
||||
self._w, 'canvasx', screenx, gridspacing))
|
||||
@ -842,8 +897,6 @@ class Listbox(Widget):
|
||||
class Menu(Widget):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'menu', cnf)
|
||||
def tk_menuBar(self, *args):
|
||||
apply(self.tk.call, ('tk_menuBar', self._w) + args)
|
||||
def tk_bindForTraversal(self):
|
||||
self.tk.call('tk_bindForTraversal', self._w)
|
||||
def tk_mbPost(self):
|
||||
@ -871,15 +924,23 @@ class Menu(Widget):
|
||||
def add(self, itemType, cnf={}):
|
||||
apply(self.tk.call, (self._w, 'add', itemType)
|
||||
+ self._options(cnf))
|
||||
def add_cascade(self, cnf={}):
|
||||
self.add('cascade', cnf)
|
||||
def add_checkbutton(self, cnf={}):
|
||||
self.add('checkbutton', cnf)
|
||||
def add_command(self, cnf={}):
|
||||
self.add('command', cnf)
|
||||
def add_radiobutton(self, cnf={}):
|
||||
self.add('radiobutton', cnf)
|
||||
def add_separator(self, cnf={}):
|
||||
self.add('separator', cnf)
|
||||
def delete(self, index1, index2=None):
|
||||
self.tk.call(self._w, 'delete', index1, index2)
|
||||
def entryconfig(self, index, cnf={}):
|
||||
apply(self.tk.call, (self._w, 'entryconfigure', index)
|
||||
+ self._options(cnf))
|
||||
def index(self, index):
|
||||
i = self.tk.call(self._w, 'index', index)
|
||||
if i == 'none': return None
|
||||
return self.tk.getint(i)
|
||||
return self.tk.call(self._w, 'index', index)
|
||||
def invoke(self, index):
|
||||
return self.tk.call(self._w, 'invoke', index)
|
||||
def post(self, x, y):
|
||||
@ -922,7 +983,7 @@ class Scrollbar(Widget):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'scrollbar', cnf)
|
||||
def get(self):
|
||||
return self.tk.getints(self.tk.call(self._w, 'get'))
|
||||
return self._getints(self.tk.call(self._w, 'get'))
|
||||
def set(self, totalUnits, windowUnits, firstUnit, lastUnit):
|
||||
self.tk.call(self._w, 'set',
|
||||
totalUnits, windowUnits, firstUnit, lastUnit)
|
||||
@ -971,7 +1032,7 @@ class Text(Widget):
|
||||
name = self._register(func, self._substitute)
|
||||
self.tk.call(self._w, 'tag', 'bind',
|
||||
tagName, sequence,
|
||||
(add + name,) + self._subst_prefix)
|
||||
(add + name,) + self._subst_format)
|
||||
def tag_config(self, tagName, cnf={}):
|
||||
apply(self.tk.call,
|
||||
(self._w, 'tag', 'configure', tagName)
|
||||
@ -1002,5 +1063,22 @@ class Text(Widget):
|
||||
def yview_pickplace(self, what):
|
||||
self.tk.call(self._w, 'yview', '-pickplace', what)
|
||||
|
||||
#class Dialog:
|
||||
|
||||
######################################################################
|
||||
# Extensions:
|
||||
|
||||
class Studbutton(Button):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'studbutton', cnf)
|
||||
self.bind('<Any-Enter>', self.tk_butEnter)
|
||||
self.bind('<Any-Leave>', self.tk_butLeave)
|
||||
self.bind('<1>', self.tk_butDown)
|
||||
self.bind('<ButtonRelease-1>', self.tk_butUp)
|
||||
|
||||
class Tributton(Button):
|
||||
def __init__(self, master=None, cnf={}):
|
||||
Widget.__init__(self, master, 'tributton', cnf)
|
||||
self.bind('<Any-Enter>', self.tk_butEnter)
|
||||
self.bind('<Any-Leave>', self.tk_butLeave)
|
||||
self.bind('<1>', self.tk_butDown)
|
||||
self.bind('<ButtonRelease-1>', self.tk_butUp)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user