]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
askcolor(): databasefile and wantspec can now be set on every
authorBarry Warsaw <barry@python.org>
Tue, 27 Apr 1999 18:56:35 +0000 (18:56 +0000)
committerBarry Warsaw <barry@python.org>
Tue, 27 Apr 1999 18:56:35 +0000 (18:56 +0000)
invocation, instead of just the first.

Tools/pynche/pyColorChooser.py

index c487b0e1ff0a57a2fc5696d66c75fe48c7502b6b..788ad5a0d65fc04848344c3d0f12d019b78bb5b2 100644 (file)
@@ -20,7 +20,14 @@ class Chooser:
         self.__pw = None
         self.__wantspec = wantspec
 
-    def show(self, color=None):
+    def show(self, color, options):
+        # scan for options that can override the ctor options
+        self.__wantspec = options.get('wantspec', self.__wantspec)
+        dbfile = options.get('databasefile', self.__databasefile)
+        # load the database file
+        colordb = None
+        if dbfile <> self.__databasefile:
+            colordb = ColorDB.get_colordb(dbfile)
         if not self.__master:
             from Tkinter import Tk
             self.__master = Tk()
@@ -32,7 +39,10 @@ class Chooser:
         else:
             self.__pw.deiconify()
         # convert color
-        colordb = self.__sb.colordb()
+        if colordb:
+            self.__sb.set_colordb(colordb)
+        else:
+            colordb = self.__sb.colordb()
         if color:
             r, g, b = Main.initial_color(color, colordb)
             self.__sb.update_views(r, g, b)
@@ -70,7 +80,7 @@ def askcolor(color = None, **options):
     global _chooser
     if not _chooser:
         _chooser = apply(Chooser, (), options)
-    return _chooser.show(color)
+    return _chooser.show(color, options)
 
 def save():
     global _chooser