Source code for traitsui.null.color_trait

# (C) Copyright 2004-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!

""" Trait definition for a null-based (i.e., no UI) color.
"""


from traits.api import Trait, TraitError

# -------------------------------------------------------------------------
#  Convert a number into a wxColour object:
# -------------------------------------------------------------------------


[docs]def convert_to_color(object, name, value): """Converts a number into a wxColour object.""" if isinstance(value, int): return value & 0xFFFFFF elif isinstance(value, tuple): return (value[0] / 255.0, value[1] / 255.0, value[2] / 255.0) raise TraitError
convert_to_color.info = ( "an integer which in hex is of the form 0xRRGGBB, " "where RR is red, GG is green, and BB is blue" ) # ------------------------------------------------------------------------- # Standard colors: # ------------------------------------------------------------------------- standard_colors = { "aquamarine": 0x70DB93, "black": 0x000000, "blue": 0x0000FF, "blue violet": 0x9F5F9F, "brown": 0xA52A2A, "cadet blue": 0x5F9F9F, "coral": 0xFF7F00, "cornflower blue": 0x42426F, "cyan": 0x00FFFF, "dark grey": 0x2F2F2F, "dark green": 0x2F4F2F, "dark olive green": 0x4F4F2F, "dark orchid": 0x9932CC, "dark slate blue": 0x6B238E, "dark slate grey": 0x2F4F4F, "dark turquoise": 0x7093DB, "dim grey": 0x545454, "firebrick": 0x8E2323, "forest green": 0x238E23, "gold": 0xCC7F32, "goldenrod": 0xDBDB70, "grey": 0x808080, "green": 0x00FF00, "green yellow": 0x93DB70, "indian red": 0x4F2F2F, "khaki": 0x9F9F5F, "light blue": 0xBFD8D8, "light grey": 0xC0C0C0, "light steel": 0x000000, "blue": 0x0000FF, "lime green": 0x32CC32, "magenta": 0xFF00FF, "maroon": 0x8E236B, "medium aquamarine": 0x32CC99, "medium blue": 0x3232CC, "medium forest green": 0x6B8E23, "medium goldenrod": 0xEAEAAD, "medium orchid": 0x9370DB, "medium sea green": 0x426F42, "medium slate blue": 0x7F00FF, "medium spring green": 0x7FFF00, "medium turquoise": 0x70DBDB, "medium violet red": 0xDB7093, "midnight blue": 0x2F2F4F, "navy": 0x23238E, "orange": 0xCC3232, "orange red": 0xFF007F, "orchid": 0xDB70DB, "pale green": 0x8FBC8F, "pink": 0xBC8FEA, "plum": 0xEAADEA, "purple": 0xB000FF, "red": 0xFF0000, "salmon": 0x6F4242, "sea green": 0x238E6B, "sienna": 0x8E6B23, "sky blue": 0x3299CC, "slate blue": 0x007FFF, "spring green": 0x00FF7F, "steel blue": 0x236B8E, "tan": 0xDB9370, "thistle": 0xD8BFD8, "turquoise": 0xADEAEA, "violet": 0x4F2F4F, "violet red": 0xCC3299, "wheat": 0xD8D8BF, "white": 0xFFFFFF, "yellow": 0xFFFF00, "yellow green": 0x99CC32, } # ------------------------------------------------------------------------- # Define 'null' specific color traits: # ------------------------------------------------------------------------- ### Note: Declare the editor to be a function which returns the ColorEditor # class from traits ui to avoid circular import issues. For backwards # compatibility with previous Traits versions, the 'editors' folder in Traits # project declares 'from api import *' in its __init__.py. The 'api' in turn # can contain classes that have a Color trait which lead to this file getting # imported. This leads to a circular import when declaring a Color trait.
[docs]def get_color_editor(*args, **traits): from ..api import ColorEditor return ColorEditor(*args, **traits)
# Color traits NullColor = Trait( "white", convert_to_color, standard_colors, editor=get_color_editor )