From c39aa154ff7a7787b91e9c09862016afb9874254 Mon Sep 17 00:00:00 2001
From: Sebastian Koslowski <koslowski@kit.edu>
Date: Wed, 15 Jun 2016 11:11:37 -0700
Subject: grc-refactor: move more port type color stuff to gui

---
 grc/gui/Colors.py | 39 ++++++++++++++++++++++++++++++++-------
 1 file changed, 32 insertions(+), 7 deletions(-)

(limited to 'grc/gui/Colors.py')

diff --git a/grc/gui/Colors.py b/grc/gui/Colors.py
index 6ee31e5e18..157c07ea35 100644
--- a/grc/gui/Colors.py
+++ b/grc/gui/Colors.py
@@ -19,12 +19,37 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 from __future__ import absolute_import
 
+from gi.repository import Gdk, cairo
+# import pycairo
+
+from . import Constants
+
+
+def _color_parse(color_code):
+    color = Gdk.RGBA()
+    color.parse(color_code)
+    return color
+
 
 def get_color(color_code):
+    # color = _color_parse(color_code)
+    # print(dir(cairo.SolidPattern))
+    # cairo_pattern = cairo.SolidPattern(
+    #     red=color.red,
+    #     green=color.green,
+    #     blue=color.blue,
+    #     alpha=color.alpha
+    # )
+    # return cairo_pattern
+
     chars_per_color = 2 if len(color_code) > 4 else 1
     offsets = range(1, 3 * chars_per_color + 1, chars_per_color)
     return tuple(int(color_code[o:o + 2], 16) / 255.0 for o in offsets)
 
+#################################################################################
+# fg colors
+#################################################################################
+
 HIGHLIGHT_COLOR = get_color('#00FFFF')
 BORDER_COLOR = get_color('#444444')
 
@@ -49,18 +74,18 @@ CONNECTION_ERROR_COLOR = get_color('#FF0000')
 
 DEFAULT_DOMAIN_COLOR = get_color('#777777')
 
+
 #################################################################################
-# param box colors
+# port colors
 #################################################################################
 
-from gi.repository import Gdk
+PORT_TYPE_TO_COLOR = {key: get_color(color) for name, key, sizeof, color in Constants.CORE_TYPES}
+PORT_TYPE_TO_COLOR.update((key, get_color(color)) for key, (_, color) in Constants.ALIAS_TYPES.items())
 
 
-def _color_parse(color_code):
-    color = Gdk.RGBA()
-    color.parse(color_code)
-    return color
-
+#################################################################################
+# param box colors
+#################################################################################
 COMPLEX_COLOR_SPEC = _color_parse('#3399FF')
 FLOAT_COLOR_SPEC = _color_parse('#FF8C69')
 INT_COLOR_SPEC = _color_parse('#00FF99')
-- 
cgit v1.2.3