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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#------------------------------------------------------------------------------
# Copyright (c) 2008, 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
#
#------------------------------------------------------------------------------
""" Defines the file editor factory for all traits toolkit backends.
"""
#-------------------------------------------------------------------------------
# Imports:
#-------------------------------------------------------------------------------
from __future__ import absolute_import
from traits.api import List, Str, Bool, Int, Unicode, File
# CIRCULAR IMPORT FIXME: Importing from the source rather than traits.ui.api
# to avoid circular imports, as this EditorFactory will be part of
# traits.ui.api as well.
from ..view import View
from ..group import Group
from .text_editor import ToolkitEditorFactory as EditorFactory
#-------------------------------------------------------------------------------
# Trait definitions:
#-------------------------------------------------------------------------------
# Wildcard filter:
filter_trait = List(Unicode)
#-------------------------------------------------------------------------------
# 'ToolkitEditorFactory' class:
#-------------------------------------------------------------------------------
class ToolkitEditorFactory ( EditorFactory ):
""" Editor factory for file editors.
"""
#---------------------------------------------------------------------------
# Trait definitions:
#---------------------------------------------------------------------------
# Wildcard filter to apply to the file dialog:
filter = filter_trait
# Optional extended trait name of the trait containing the list of filters:
filter_name = Str
# Should file extension be truncated?
truncate_ext = Bool( False )
# Can the user select directories as well as files?
allow_dir = Bool( False )
# Is user input set on every keystroke? (Overrides the default) ('simple'
# style only):
auto_set = False
# Is user input set when the Enter key is pressed? (Overrides the default)
# ('simple' style only):
enter_set = True
# The number of history entries to maintain:
# FIXME: add support
entries = Int( 10 )
# The root path of the file tree view ('custom' style only, not supported
# under wx). If not specified, the filesystem root is used.
root_path = File
# Optional extend trait name of the trait containing the root path.
root_path_name = Str
# Optional extended trait name used to notify the editor when the file
# system view should be reloaded ('custom' style only):
reload_name = Str
# Optional extended trait name used to notify when the user double-clicks
# an entry in the file tree view. The associated path is assigned it:
dclick_name = Str
# The style of file dialog to use when the 'Browse...' button is clicked
# Should be one of 'open' or 'save'
dialog_style = Str('open')
#---------------------------------------------------------------------------
# Traits view definition:
#---------------------------------------------------------------------------
traits_view = View( [ [ '<options>',
'truncate_ext{Automatically truncate file extension?}',
'|options:[Options]>' ],
[ 'filter', '|[Wildcard filters]<>' ] ] )
extras = Group()
# Define the FileEditor class.
FileEditor = ToolkitEditorFactory
## EOF ########################################################################
|