Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 2f465c7af448b596f18821b95c37334d > files > 290

python-Traits-4.3.0-1.fc18.i686.rpm

#  Copyright (c) 2007, Enthought, Inc.
#  License: BSD Style.

# mapped.py --- Example of a mapped trait

#--[Imports]--------------------------------------------------------------------
from traits.api import HasTraits, Trait

#--[Code]-----------------------------------------------------------------------
standard_color = Trait ('black', {
    'black':       ( 0.0, 0.0, 0.0, 1.0 ),
    'blue':        ( 0.0, 0.0, 1.0, 1.0 ),
    'cyan':        ( 0.0, 1.0, 1.0, 1.0 ),
    'green':       ( 0.0, 1.0, 0.0, 1.0 ),
    'magenta':     ( 1.0, 0.0, 1.0, 1.0 ),
    'orange':      ( 0.8, 0.196, 0.196, 1.0 ),
    'purple':      ( 0.69, 0.0, 1.0, 1.0 ),
    'red':         ( 1.0, 0.0, 0.0, 1.0 ),
    'violet':      ( 0.31, 0.184, 0.31, 1.0 ),
    'yellow':      ( 1.0, 1.0, 0.0, 1.0 ),
    'white':       ( 1.0, 1.0, 1.0, 1.0 ),
    'transparent': ( 1.0, 1.0, 1.0, 0.0 )
} )

red_color = Trait( 'red', standard_color )

class GraphicShape( HasTraits ):
    line_color = standard_color
    fill_color = red_color

#--[Example*]-------------------------------------------------------------------

my_shape1 = GraphicShape()

# Default values for normal trait attributes
print my_shape1.line_color, my_shape1.fill_color
# Output: black red

# Default values for shadow trait attributes
print my_shape1.line_color_, my_shape1.fill_color_
# Output: (0.0, 0.0, 0.0, 1.0) (1.0, 0.0, 0.0, 1.0)

# Non-default values
my_shape2 = GraphicShape()
my_shape2.line_color = 'blue'
my_shape2.fill_color = 'green'

print my_shape2.line_color, my_shape2.fill_color
# Output: blue green

print my_shape2.line_color_, my_shape2.fill_color_
# Output: (0.0, 0.0, 1.0, 1.0) (0.0, 1.0, 0.0, 1.0)