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
|
# Standard library imports.
import os.path
# Enthought library imports.
from pyface.tasks.api import TraitsDockPane
from traits.api import Event, File, List, Str
from traitsui.api import View, Item, FileEditor
class FileBrowserPane(TraitsDockPane):
""" A simple file browser pane.
"""
#### TaskPane interface ###################################################
id = 'example.file_browser_pane'
name = 'File Browser'
#### FileBrowserPane interface ############################################
# Fired when a file is double-clicked.
activated = Event
# The list of wildcard filters for filenames.
filters = List(Str)
# The currently selected file.
selected_file = File(os.path.expanduser('~'))
# The view used to construct the dock pane's widget.
view = View(Item('selected_file',
editor=FileEditor(dclick_name='activated',
filter_name='filters'),
style='custom',
show_label=False),
resizable=True)
class PythonScriptBrowserPane(FileBrowserPane):
""" A file browser pane restricted to Python scripts.
"""
#### TaskPane interface ###################################################
id = 'example.python_script_browser_pane'
name = 'Script Browser'
#### FileBrowserPane interface ############################################
filters = [ '*.py' ]
|