[Python-checkins] r62607 - in sandbox/trunk/ttk-gsoc: Doc/library/ttk.rst Lib/lib-tk/Ttk.py samples/widget_state.py

guilherme.polo python-checkins at python.org
Wed Apr 30 23:28:25 CEST 2008


Author: guilherme.polo
Date: Wed Apr 30 23:28:25 2008
New Revision: 62607
Log:
Modified Widget methods state and instate so they expect statespec
to be a sequence, and method state returns a tuple now.
Modified:
 sandbox/trunk/ttk-gsoc/Doc/library/ttk.rst
 sandbox/trunk/ttk-gsoc/Lib/lib-tk/Ttk.py
 sandbox/trunk/ttk-gsoc/samples/widget_state.py
Modified: sandbox/trunk/ttk-gsoc/Doc/library/ttk.rst
==============================================================================
--- sandbox/trunk/ttk-gsoc/Doc/library/ttk.rst	(original)
+++ sandbox/trunk/ttk-gsoc/Doc/library/ttk.rst	Wed Apr 30 23:28:25 2008
@@ -115,18 +115,19 @@
 .. method:: instate(statespec[, callback=None], *args]])
 
 Test the widget's state. If a callback is not specified, returns 1
- if the widget state matches statespec and 0 otherwise. If callback
+ if the widget state matches *statespec* and 0 otherwise. If callback
 is specified then it is called with args if widget state matches 
- statespec.
+ *statespec*.
 
 
 .. method:: state([statespec=None])
 
- Modify or inquire widget state. If statespec is specified, sets the
- widget state according to it and return a new statespec indicating
- which flags were changed. If statespec is not especified, returns
- a list of the currently-enabled state flags.
+ Modify or inquire widget state. If *statespec* is specified, sets the
+ widget state according to it and return a new *statespec* indicating
+ which flags were changed. If *statespec* is not especified, returns
+ the currently-enabled state flags.
 
+ Note that *statespec* is always expected to be a sequence.
 
 Widget States
 ^^^^^^^^^^^^^
@@ -160,8 +161,8 @@
 | invalid | The widget's value is invalid |
 +------------+-------------------------------------------------------------+
 
- A state specification is a list of state names, optionally prefixed with an
- exclamation point indicating that the bit is off.
+ A state specification is a sequence of state names, optionally prefixed with
+ an exclamation point indicating that the bit is off.
 
 
 New Widgets
Modified: sandbox/trunk/ttk-gsoc/Lib/lib-tk/Ttk.py
==============================================================================
--- sandbox/trunk/ttk-gsoc/Lib/lib-tk/Ttk.py	(original)
+++ sandbox/trunk/ttk-gsoc/Lib/lib-tk/Ttk.py	Wed Apr 30 23:28:25 2008
@@ -197,17 +197,14 @@
 Tkinter.Widget.__init__(self, master, widgetName, cnf, kw, extra)
 
 
- # XXX statespec is said to be a list of state names, but right now both
- # functions expects and returns (state method) a string with the states.
-
 def instate(self, statespec, callback=None, *args):
 """Test the widget's state. 
 
 If callback is not especified, returns 1 if the widget state 
 matches statespec and 0 otherwise. If callback is specified, 
 then it will be invoked with *args if the widget state matches 
- statespec."""
- ret = self.tk.call(self._w, "instate", statespec)
+ statespec. statespec is expected to be a sequence."""
+ ret = self.tk.call(self._w, "instate", ' '.join(statespec))
 if ret and callback:
 return callback(*args)
 
@@ -219,8 +216,13 @@
 
 Widget state is returned if statespec is None, otherwise it is
 set according to the statespec flags and then a new state spec
- is returned indicating which flags were changed."""
- return self.tk.call(self._w, "state", statespec)
+ is returned indicating which flags were changed. statespec is
+ expected to be a sequence."""
+ if statespec is None:
+ statespec = ''
+ 
+ return self.tk.splitlist(
+ str(self.tk.call(self._w, "state", ' '.join(statespec))))
 
 
 class Button(Widget):
@@ -239,7 +241,6 @@
 
 command, default, width
 """
-
 Widget.__init__(self, master, "ttk::button", cnf, kw)
 
 
Modified: sandbox/trunk/ttk-gsoc/samples/widget_state.py
==============================================================================
--- sandbox/trunk/ttk-gsoc/samples/widget_state.py	(original)
+++ sandbox/trunk/ttk-gsoc/samples/widget_state.py	Wed Apr 30 23:28:25 2008
@@ -8,7 +8,7 @@
 states.append("!" + state)
 
 def reset_state(widget):
- nostate = ' '.join(states[len(states) / 2:])
+ nostate = states[len(states) / 2:]
 widget.state(nostate)
 
 class App(Ttk.Frame):
@@ -54,7 +54,7 @@
 # set new widget state
 for widget in self.update_widgets:
 reset_state(widget) # remove any previous state from the widget
- widget.state(' '.join(goodstates))
+ widget.state(goodstates)
 
 # update Ttk Button font size
 self._set_font(font_extra)


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /