From 4f6fb1574a924bab7bc094ae547f0a4d526f7108 Mon Sep 17 00:00:00 2001
From: marco <marco@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Tue, 21 Sep 2010 12:34:30 +0000
Subject: [PATCH] added PickColor function

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2707 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/gui/pymod/__init__.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/modules/gui/pymod/__init__.py b/modules/gui/pymod/__init__.py
index 3fa6f4b3c..500c31ece 100644
--- a/modules/gui/pymod/__init__.py
+++ b/modules/gui/pymod/__init__.py
@@ -39,3 +39,24 @@ def CreateDataViewer(ih,flag=False):
 def ClearMessageWidget():
       gosty=GostyApp.Instance()
       gosty.message_widget.Clear()
+
+
+from PyQt4.QtGui import *
+from ost import gfx
+
+def PickColor(default=gfx.WHITE):
+  """
+  Pops up a color chooser that lets' the user pick a color and returns the 
+  selected color. If the user cancels the color chooser, None is returned.
+  
+  :rtype: :class:`~ost.gfx.Color`
+  """
+  dialog=QColorDialog()
+  qt_color=QColor(int(min(255,default.Red()*256)),
+                  int(min(255,default.Green()*256)),
+                  int(min(255,default.Blue()*256)))
+  qt_color=dialog.getColor(qt_color)
+  if not qt_color.isValid():
+    return None
+  return gfx.Color(qt_color.red()/256.0, qt_color.green()/256.0,
+                   qt_color.blue()/256.0)
\ No newline at end of file
-- 
GitLab