summaryrefslogtreecommitdiffstats
path: root/Tools/pynche/DetailsViewer.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>1998-10-22 03:25:59 (GMT)
committerBarry Warsaw <barry@python.org>1998-10-22 03:25:59 (GMT)
commitca07ba00acdd020e0c179277ed829a8ce1664245 (patch)
tree03ddbed7626ca441d4c90d599b2028773f8e298c /Tools/pynche/DetailsViewer.py
parent04da10c7a2fa0bd060e8052a9fe3d47623324b94 (diff)
downloadcpython-ca07ba00acdd020e0c179277ed829a8ce1664245.zip
cpython-ca07ba00acdd020e0c179277ed829a8ce1664245.tar.gz
cpython-ca07ba00acdd020e0c179277ed829a8ce1664245.tar.bz2
Many changes to support a second mode of operation. Pynche can now be
run either as a standalone application (by running pynche or pynche.pyw), or as a modal dialog inside another application. This can be done by importing pyColorChooser and running askcolor(). The API for this is the same as the tkColorChooser.askcolor() API, namely: When `Okay' is hit, askcolor() returns ((r, g, b), "name"). When `Cancel' is hit, askcolor() returns (None, None). Note the following differences: 1. pyColorChooser.askcolor() takes an optional keyword `master' which if set tells Pynche to run as a modal dialog. `master' is a Tkinter parent window. Without the `master' keyword Pynche runs standalone. 2. in pyColorChooser.askcolor() will return a Tk/X11 color name as "name" if there is an exact match, otherwise it will return a color spec, e.g. "#rrggbb". tkColorChooser can't return a color name. There are also some UI differences when running standalone vs. modal. When modal, there is no "File" menu, but instead there are "Okay" and "Cancel" buttons. The implementation of all this is a bit of a hack, but it seems to work moderately well. I'm not guaranteeing the pyColorChooser.Chooser class has the same semantics as the tkColorChooser.Chooser class.
Diffstat (limited to 'Tools/pynche/DetailsViewer.py')
-rw-r--r--Tools/pynche/DetailsViewer.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/Tools/pynche/DetailsViewer.py b/Tools/pynche/DetailsViewer.py
index da9bbf9..6996423 100644
--- a/Tools/pynche/DetailsViewer.py
+++ b/Tools/pynche/DetailsViewer.py
@@ -61,19 +61,19 @@ GRAV = 'Squash'
class DetailsViewer:
- def __init__(self, switchboard, parent=None):
+ def __init__(self, switchboard, master=None):
self.__sb = switchboard
optiondb = switchboard.optiondb()
self.__red, self.__green, self.__blue = switchboard.current_rgb()
# GUI
- root = self.__root = Toplevel(parent, class_='Pynche')
- root.protocol('WM_DELETE_WINDOW', self.__withdraw)
+ root = self.__root = Toplevel(master, class_='Pynche')
+ root.protocol('WM_DELETE_WINDOW', self.withdraw)
root.title('Pynche Details Window')
root.iconname('Pynche Details Window')
root.bind('<Alt-q>', self.__quit)
root.bind('<Alt-Q>', self.__quit)
- root.bind('<Alt-w>', self.__withdraw)
- root.bind('<Alt-W>', self.__withdraw)
+ root.bind('<Alt-w>', self.withdraw)
+ root.bind('<Alt-W>', self.withdraw)
# accelerators
root.bind('<KeyPress-Left>', self.__minus1)
root.bind('<KeyPress-Right>', self.__plus1)
@@ -158,7 +158,7 @@ class DetailsViewer:
def __quit(self, event=None):
self.__root.quit()
- def __withdraw(self, event=None):
+ def withdraw(self, event=None):
self.__root.withdraw()
def deiconify(self, event=None):