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
|
import os.path
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"]
|