1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
#------------------------------------------------------------------------------
# Copyright (c) 2005, Enthought, Inc.
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in enthought/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!
#
# Author: David C. Morrill
# Date: 10/07/2004
# Symbols defined: EditorFactory
#------------------------------------------------------------------------------
""" Defines the abstract EditorFactory class, which represents a factory for
creating the Editor objects used in a Traits-based user interface.
"""
#-------------------------------------------------------------------------------
# Imports:
#-------------------------------------------------------------------------------
from enthought.traits.api \
import HasPrivateTraits, Callable, Str, true, false
#-------------------------------------------------------------------------------
# 'EditorFactory' abstract base class:
#-------------------------------------------------------------------------------
class EditorFactory ( HasPrivateTraits ):
""" Represents a factory for creating the Editor objects in a Traits-based
user interface.
"""
#---------------------------------------------------------------------------
# Trait definitions:
#---------------------------------------------------------------------------
# Function to use for string formatting
format_func = Callable
# Format string to use for formatting (used if **format_func** is not set).
format_str = Str
# Is the editor being used to create table grid cells?
is_grid_cell = false
# Are created editors initially enabled?
enabled = true
#---------------------------------------------------------------------------
# Initializes the object:
#---------------------------------------------------------------------------
def __init__ ( self, *args, **traits ):
""" Initializes the factory object.
"""
HasPrivateTraits.__init__( self, **traits )
self.init( *args )
#---------------------------------------------------------------------------
# Performs any initialization needed after all constructor traits have
# been set:
#---------------------------------------------------------------------------
def init ( self ):
""" Performs any initialization needed after all constructor traits
have been set.
"""
pass
#---------------------------------------------------------------------------
# 'Editor' factory methods:
#---------------------------------------------------------------------------
def simple_editor ( self, ui, object, trait_name, description, parent ):
""" Generates an editor using the "simple" style.
"""
raise NotImplementedError
def custom_editor ( self, ui, object, trait_name, description, parent ):
""" Generates an editor using the "custom" style.
"""
raise NotImplementedError
def text_editor ( self, ui, object, trait_name, description, parent ):
""" Generates an editor using the "text" style.
"""
raise NotImplementedError
def readonly_editor ( self, ui, object, trait_name, description, parent ):
""" Generates an "editor" that is read-only.
"""
raise NotImplementedError
|