diff options
Diffstat (limited to 'grc/gui/Colors.py')
-rw-r--r-- | grc/gui/Colors.py | 125 |
1 files changed, 83 insertions, 42 deletions
diff --git a/grc/gui/Colors.py b/grc/gui/Colors.py index 686b378c38..a03a7bcade 100644 --- a/grc/gui/Colors.py +++ b/grc/gui/Colors.py @@ -17,45 +17,86 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA """ -try: - import gi - gi.require_version('Gtk', '3.0') - from gi.repository import Gdk - - # Not gtk3? - #COLORMAP = Gdk.colormap_get_system() #create all of the colors - #def get_color(color_code): return _COLORMAP.alloc_color(color_code, True, True) - - def get_color(color_code): - 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) - - HIGHLIGHT_COLOR = get_color('#00FFFF') - BORDER_COLOR = get_color('#444444') - - # Missing blocks stuff - MISSING_BLOCK_BACKGROUND_COLOR = get_color('#FFF2F2') - MISSING_BLOCK_BORDER_COLOR = get_color('#FF0000') - - # Param entry boxes - PARAM_ENTRY_TEXT_COLOR = get_color('#000000') - ENTRYENUM_CUSTOM_COLOR = get_color('#EEEEEE') - - # Flow graph color constants - FLOWGRAPH_BACKGROUND_COLOR = get_color('#FFFFFF') - COMMENT_BACKGROUND_COLOR = get_color('#F3F3F3') - FLOWGRAPH_EDGE_COLOR = COMMENT_BACKGROUND_COLOR - - # Block color constants - BLOCK_ENABLED_COLOR = get_color('#F1ECFF') - BLOCK_DISABLED_COLOR = get_color('#CCCCCC') - BLOCK_BYPASSED_COLOR = get_color('#F4FF81') - - # Connection color constants - CONNECTION_ENABLED_COLOR = get_color('#000000') - CONNECTION_DISABLED_COLOR = get_color('#BBBBBB') - CONNECTION_ERROR_COLOR = get_color('#FF0000') - -except Exception as e: - print 'Unable to import Colors', e + + +def get_color(color_code): + 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) + +HIGHLIGHT_COLOR = get_color('#00FFFF') +BORDER_COLOR = get_color('#444444') + +# Missing blocks stuff +MISSING_BLOCK_BACKGROUND_COLOR = get_color('#FFF2F2') +MISSING_BLOCK_BORDER_COLOR = get_color('#FF0000') + +# Flow graph color constants +FLOWGRAPH_BACKGROUND_COLOR = get_color('#FFFFFF') +COMMENT_BACKGROUND_COLOR = get_color('#F3F3F3') +FLOWGRAPH_EDGE_COLOR = COMMENT_BACKGROUND_COLOR + +# Block color constants +BLOCK_ENABLED_COLOR = get_color('#F1ECFF') +BLOCK_DISABLED_COLOR = get_color('#CCCCCC') +BLOCK_BYPASSED_COLOR = get_color('#F4FF81') + +# Connection color constants +CONNECTION_ENABLED_COLOR = get_color('#000000') +CONNECTION_DISABLED_COLOR = get_color('#BBBBBB') +CONNECTION_ERROR_COLOR = get_color('#FF0000') + +################################################################################# +# param box colors +################################################################################# + +from gi.repository import Gdk + + +def _color_parse(color_code): + color = Gdk.RGBA() + color.parse(color_code) + return color + +COMPLEX_COLOR_SPEC = _color_parse('#3399FF') +FLOAT_COLOR_SPEC = _color_parse('#FF8C69') +INT_COLOR_SPEC = _color_parse('#00FF99') +SHORT_COLOR_SPEC = _color_parse('#FFFF66') +BYTE_COLOR_SPEC = _color_parse('#FF66FF') + +ID_COLOR_SPEC = _color_parse('#DDDDDD') +WILDCARD_COLOR_SPEC = _color_parse('#FFFFFF') + +COMPLEX_VECTOR_COLOR_SPEC = _color_parse('#3399AA') +FLOAT_VECTOR_COLOR_SPEC = _color_parse('#CC8C69') +INT_VECTOR_COLOR_SPEC = _color_parse('#00CC99') +SHORT_VECTOR_COLOR_SPEC = _color_parse('#CCCC33') +BYTE_VECTOR_COLOR_SPEC = _color_parse('#CC66CC') + +PARAM_ENTRY_COLORS = { + + # Number types + 'complex': COMPLEX_COLOR_SPEC, + 'real': FLOAT_COLOR_SPEC, + 'float': FLOAT_COLOR_SPEC, + 'int': INT_COLOR_SPEC, + + # Vector types + 'complex_vector': COMPLEX_VECTOR_COLOR_SPEC, + 'real_vector': FLOAT_VECTOR_COLOR_SPEC, + 'float_vector': FLOAT_VECTOR_COLOR_SPEC, + 'int_vector': INT_VECTOR_COLOR_SPEC, + + # Special + 'bool': INT_COLOR_SPEC, + 'hex': INT_COLOR_SPEC, + 'string': BYTE_VECTOR_COLOR_SPEC, + 'id': ID_COLOR_SPEC, + 'stream_id': ID_COLOR_SPEC, + 'grid_pos': INT_VECTOR_COLOR_SPEC, + 'notebook': INT_VECTOR_COLOR_SPEC, + 'raw': WILDCARD_COLOR_SPEC, +} + +PARAM_ENTRY_DEFAULT_COLOR = _color_parse('#FFFFFF') +PARAM_ENTRY_ENUM_CUSTOM_COLOR = _color_parse('#EEEEEE') |