diff options
author | Guilherme Polo <ggpolo@gmail.com> | 2009-08-14 15:05:30 (GMT) |
---|---|---|
committer | Guilherme Polo <ggpolo@gmail.com> | 2009-08-14 15:05:30 (GMT) |
commit | 1fff00832639082d2d7aa354c8e6d9110171d6bc (patch) | |
tree | 969c400d839ce118c879c0537cd93065c24fe518 /Lib/tkinter | |
parent | 6837083582176067868d1cc60772ef9de6ef6bd3 (diff) | |
download | cpython-1fff00832639082d2d7aa354c8e6d9110171d6bc.zip cpython-1fff00832639082d2d7aa354c8e6d9110171d6bc.tar.gz cpython-1fff00832639082d2d7aa354c8e6d9110171d6bc.tar.bz2 |
Merged revisions 74446-74449 via svnmerge from
svn+ssh://pythondev/python/trunk
........
r74446 | guilherme.polo | 2009-08-14 10:53:41 -0300 (Fri, 14 Aug 2009) | 1 line
Issue #3344: Replace itertools.count by enumerate.
........
r74447 | guilherme.polo | 2009-08-14 11:03:07 -0300 (Fri, 14 Aug 2009) | 1 line
Issue #3926: Fix the usage of the new showwarnings and formatwarning.
........
r74448 | guilherme.polo | 2009-08-14 11:36:45 -0300 (Fri, 14 Aug 2009) | 3 lines
Issue #1135: Add the XView and YView mix-ins to avoid duplicating
the xview* and yview* methods.
........
r74449 | guilherme.polo | 2009-08-14 11:43:43 -0300 (Fri, 14 Aug 2009) | 1 line
Clarifying Entry.selection_present's docstring.
........
Diffstat (limited to 'Lib/tkinter')
-rw-r--r-- | Lib/tkinter/__init__.py | 139 | ||||
-rw-r--r-- | Lib/tkinter/tix.py | 34 | ||||
-rw-r--r-- | Lib/tkinter/ttk.py | 12 |
3 files changed, 53 insertions, 132 deletions
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index 03ac924..61f2ff9 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -1403,6 +1403,48 @@ class CallWrapper: self.widget._report_exception() +class XView: + """Mix-in class for querying and changing the horizontal position + of a widget's window.""" + + def xview(self, *args): + """Query and change the horizontal position of the view.""" + res = self.tk.call(self._w, 'xview', *args) + if not args: + return self._getdoubles(res) + + def xview_moveto(self, fraction): + """Adjusts the view in the window so that FRACTION of the + total width of the canvas is off-screen to the left.""" + self.tk.call(self._w, 'xview', 'moveto', fraction) + + def xview_scroll(self, number, what): + """Shift the x-view according to NUMBER which is measured in "units" + or "pages" (WHAT).""" + self.tk.call(self._w, 'xview', 'scroll', number, what) + + +class YView: + """Mix-in class for querying and changing the vertical position + of a widget's window.""" + + def yview(self, *args): + """Query and change the vertical position of the view.""" + res = self.tk.call(self._w, 'yview', *args) + if not args: + return self._getdoubles(res) + + def yview_moveto(self, fraction): + """Adjusts the view in the window so that FRACTION of the + total height of the canvas is off-screen to the top.""" + self.tk.call(self._w, 'yview', 'moveto', fraction) + + def yview_scroll(self, number, what): + """Shift the y-view according to NUMBER which is measured in + "units" or "pages" (WHAT).""" + self.tk.call(self._w, 'yview', 'scroll', number, what) + + class Wm: """Provides functions for the communication with the window manager.""" @@ -2041,7 +2083,7 @@ def At(x, y=None): else: return '@%r,%r' % (x, y) -class Canvas(Widget): +class Canvas(Widget, XView, YView): """Canvas widget to display graphical elements like lines or text.""" def __init__(self, master=None, cnf={}, **kw): """Construct a canvas widget with the parent MASTER. @@ -2281,30 +2323,6 @@ class Canvas(Widget): def type(self, tagOrId): """Return the type of the item TAGORID.""" return self.tk.call(self._w, 'type', tagOrId) or None - def xview(self, *args): - """Query and change horizontal position of the view.""" - if not args: - return self._getdoubles(self.tk.call(self._w, 'xview')) - self.tk.call((self._w, 'xview') + args) - def xview_moveto(self, fraction): - """Adjusts the view in the window so that FRACTION of the - total width of the canvas is off-screen to the left.""" - self.tk.call(self._w, 'xview', 'moveto', fraction) - def xview_scroll(self, number, what): - """Shift the x-view according to NUMBER which is measured in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'xview', 'scroll', number, what) - def yview(self, *args): - """Query and change vertical position of the view.""" - if not args: - return self._getdoubles(self.tk.call(self._w, 'yview')) - self.tk.call((self._w, 'yview') + args) - def yview_moveto(self, fraction): - """Adjusts the view in the window so that FRACTION of the - total height of the canvas is off-screen to the top.""" - self.tk.call(self._w, 'yview', 'moveto', fraction) - def yview_scroll(self, number, what): - """Shift the y-view according to NUMBER which is measured in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'yview', 'scroll', number, what) class Checkbutton(Widget): """Checkbutton widget which is either in on- or off-state.""" @@ -2335,7 +2353,7 @@ class Checkbutton(Widget): """Toggle the button.""" self.tk.call(self._w, 'toggle') -class Entry(Widget): +class Entry(Widget, XView): """Entry widget which allows to display simple text.""" def __init__(self, master=None, cnf={}, **kw): """Construct an entry widget with the parent MASTER. @@ -2386,7 +2404,8 @@ class Entry(Widget): self.tk.call(self._w, 'selection', 'from', index) select_from = selection_from def selection_present(self): - """Return whether the widget has the selection.""" + """Return True if there are characters selected in the entry, False + otherwise.""" return self.tk.getboolean( self.tk.call(self._w, 'selection', 'present')) select_present = selection_present @@ -2398,16 +2417,6 @@ class Entry(Widget): """Set the variable end of a selection to INDEX.""" self.tk.call(self._w, 'selection', 'to', index) select_to = selection_to - def xview(self, index): - """Query and change horizontal position of the view.""" - self.tk.call(self._w, 'xview', index) - def xview_moveto(self, fraction): - """Adjust the view in the window so that FRACTION of the - total width of the entry is off-screen to the left.""" - self.tk.call(self._w, 'xview', 'moveto', fraction) - def xview_scroll(self, number, what): - """Shift the x-view according to NUMBER which is measured in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'xview', 'scroll', number, what) class Frame(Widget): """Frame widget which may contain other widgets and can have a 3D border.""" @@ -2449,7 +2458,7 @@ class Label(Widget): """ Widget.__init__(self, master, 'label', cnf, kw) -class Listbox(Widget): +class Listbox(Widget, XView, YView): """Listbox widget which can display a list of strings.""" def __init__(self, master=None, cnf={}, **kw): """Construct a listbox widget with the parent MASTER. @@ -2528,30 +2537,6 @@ class Listbox(Widget): def size(self): """Return the number of elements in the listbox.""" return getint(self.tk.call(self._w, 'size')) - def xview(self, *what): - """Query and change horizontal position of the view.""" - if not what: - return self._getdoubles(self.tk.call(self._w, 'xview')) - self.tk.call((self._w, 'xview') + what) - def xview_moveto(self, fraction): - """Adjust the view in the window so that FRACTION of the - total width of the entry is off-screen to the left.""" - self.tk.call(self._w, 'xview', 'moveto', fraction) - def xview_scroll(self, number, what): - """Shift the x-view according to NUMBER which is measured in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'xview', 'scroll', number, what) - def yview(self, *what): - """Query and change vertical position of the view.""" - if not what: - return self._getdoubles(self.tk.call(self._w, 'yview')) - self.tk.call((self._w, 'yview') + what) - def yview_moveto(self, fraction): - """Adjust the view in the window so that FRACTION of the - total width of the entry is off-screen to the top.""" - self.tk.call(self._w, 'yview', 'moveto', fraction) - def yview_scroll(self, number, what): - """Shift the y-view according to NUMBER which is measured in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'yview', 'scroll', number, what) def itemcget(self, index, option): """Return the resource value for an ITEM and an OPTION.""" return self.tk.call( @@ -2798,7 +2783,7 @@ class Scrollbar(Widget): -class Text(Widget): +class Text(Widget, XView, YView): """Text widget which can display text in various forms.""" def __init__(self, master=None, cnf={}, **kw): """Construct a text widget with the parent MASTER. @@ -3120,32 +3105,6 @@ class Text(Widget): """Return all names of embedded windows in this widget.""" return self.tk.splitlist( self.tk.call(self._w, 'window', 'names')) - def xview(self, *what): - """Query and change horizontal position of the view.""" - if not what: - return self._getdoubles(self.tk.call(self._w, 'xview')) - self.tk.call((self._w, 'xview') + what) - def xview_moveto(self, fraction): - """Adjusts the view in the window so that FRACTION of the - total width of the canvas is off-screen to the left.""" - self.tk.call(self._w, 'xview', 'moveto', fraction) - def xview_scroll(self, number, what): - """Shift the x-view according to NUMBER which is measured - in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'xview', 'scroll', number, what) - def yview(self, *what): - """Query and change vertical position of the view.""" - if not what: - return self._getdoubles(self.tk.call(self._w, 'yview')) - self.tk.call((self._w, 'yview') + what) - def yview_moveto(self, fraction): - """Adjusts the view in the window so that FRACTION of the - total height of the canvas is off-screen to the top.""" - self.tk.call(self._w, 'yview', 'moveto', fraction) - def yview_scroll(self, number, what): - """Shift the y-view according to NUMBER which is measured - in "units" or "pages" (WHAT).""" - self.tk.call(self._w, 'yview', 'scroll', number, what) def yview_pickplace(self, *what): """Obsolete function, use see.""" self.tk.call((self._w, 'yview', '-pickplace') + what) @@ -3331,7 +3290,7 @@ def image_names(): return _default_root.tk.call('image', 'names') def image_types(): return _default_root.tk.call('image', 'types') -class Spinbox(Widget): +class Spinbox(Widget, XView): """spinbox widget.""" def __init__(self, master=None, cnf={}, **kw): """Construct a spinbox widget with the parent MASTER. diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py index 3bfa539..0c8ca68 100644 --- a/Lib/tkinter/tix.py +++ b/Lib/tkinter/tix.py @@ -850,7 +850,7 @@ class FileEntry(TixWidget): # FIXME: return python object pass -class HList(TixWidget): +class HList(TixWidget, XView, YView): """HList - Hierarchy display widget can be used to display any data that have a hierarchical structure, for example, file system directory trees. The list entries are indented and connected by branch lines @@ -1037,12 +1037,6 @@ class HList(TixWidget): def show_entry(self, entry): return self.tk.call(self._w, 'show', 'entry', entry) - def xview(self, *args): - self.tk.call(self._w, 'xview', *args) - - def yview(self, *args): - self.tk.call(self._w, 'yview', *args) - class InputOnly(TixWidget): """InputOnly - Invisible widget. Unix only. @@ -1419,7 +1413,7 @@ class StdButtonBox(TixWidget): if name in self.subwidget_list: self.tk.call(self._w, 'invoke', name) -class TList(TixWidget): +class TList(TixWidget, XView, YView): """TList - Hierarchy display widget which can be used to display data in a tabular format. The list entries of a TList widget are similar to the entries in the Tk listbox widget. The main @@ -1502,12 +1496,6 @@ class TList(TixWidget): def selection_set(self, first, last=None): self.tk.call(self._w, 'selection', 'set', first, last) - def xview(self, *args): - self.tk.call(self._w, 'xview', *args) - - def yview(self, *args): - self.tk.call(self._w, 'yview', *args) - class Tree(TixWidget): """Tree - The tixTree widget can be used to display hierachical data in a tree form. The user can adjust @@ -1777,7 +1765,7 @@ class CObjView(TixWidget): pass -class Grid(TixWidget): +class Grid(TixWidget, XView, YView): '''The Tix Grid command creates a new window and makes it into a tixGrid widget. Additional options, may be specified on the command line or in the option database to configure aspects such as its cursor @@ -1865,22 +1853,6 @@ class Grid(TixWidget): # def size dim index ?option value ...? # def unset x y - def xview(self): - return self._getdoubles(self.tk.call(self, 'xview')) - def xview_moveto(self, fraction): - self.tk.call(self,'xview', 'moveto', fraction) - def xview_scroll(self, count, what="units"): - "Scroll right (count>0) or left <count> of units|pages" - self.tk.call(self, 'xview', 'scroll', count, what) - - def yview(self): - return self._getdoubles(self.tk.call(self, 'yview')) - def yview_moveto(self, fraction): - self.tk.call(self,'ysview', 'moveto', fraction) - def yview_scroll(self, count, what="units"): - "Scroll down (count>0) or up <count> of units|pages" - self.tk.call(self, 'yview', 'scroll', count, what) - class ScrolledGrid(Grid): '''Scrolled Grid widgets''' diff --git a/Lib/tkinter/ttk.py b/Lib/tkinter/ttk.py index 108a65f..e10c668 100644 --- a/Lib/tkinter/ttk.py +++ b/Lib/tkinter/ttk.py @@ -1170,7 +1170,7 @@ class Sizegrip(Widget): Widget.__init__(self, master, "ttk::sizegrip", kw) -class Treeview(Widget): +class Treeview(Widget, tkinter.XView, tkinter.YView): """Ttk Treeview widget displays a hierarchical collection of items. Each item has a textual label, an optional image, and an optional list @@ -1480,16 +1480,6 @@ class Treeview(Widget): return self.tk.call(self._w, "tag", "has", tagname, item) - def xview(self, *args): - """Query or modify horizontal position of the treeview.""" - return self.tk.call(self._w, "xview", *args) - - - def yview(self, *args): - """Query or modify vertical position of the treeview.""" - return self.tk.call(self._w, "yview", *args) - - # Extensions class LabeledScale(Frame): |