Exemple #1
0
 def _tree_editor_default(self):
     return TreeEditor(editable=False,
                              hide_root=False,
                              on_dclick='handler._on_dclick',
                              orientation='vertical',
                              nodes=self.nodes
                     )
class SparklineTreeView(HasTraits):
    """ Class that views the data with sparklines. """

    #: The root of the tree.
    root = Instance(MyData, args=())

    traits_view = View(
        UItem(
            'root',
            editor=TreeEditor(
                nodes=[
                    TreeNode(
                        node_for=[MyData],
                        children='elements',
                        label='name',
                    ),
                    SparklineTreeNode(
                        node_for=[MyDataElement],
                        auto_open=True,
                        label='text',
                    ),
                ],
                column_headers=["The Tree View", "The Sparklines"],
                hide_root=False,
                editable=False,
            ),
        ),
        resizable=True,
        width=400,
        height=300,
    )
Exemple #3
0
    def default_traits_view(self):
        nodes = [TreeNode(node_for=[AdderNode],
                          label='name',
                          copy=False,
                          delete=False,
                          rename=False,
                          children='items_list',
                          ),
                 TreeNode(node_for=[DocumentedItem],
                          label='name',
                          copy=False,
                          delete=False,
                          rename=False,
                          icon_item=self.icon_name,
                          ),
                 ]

        tree_editor = TreeEditor(editable=False,
                                 hide_root=True,
                                 orientation='vertical',
                                 selected='object.selected_item',
                                 nodes=nodes,
                                 on_dclick='object._on_tree_dclick',
                                 )

        view = View(Item('self',
                            show_label=False,
                            editor=tree_editor,
                            resizable=True,
                            springy=True,
                            height=0.5),
                    Item('selected_item', style='custom', show_label=False,
                            height=0.5),
                    resizable=True)
        return view
Exemple #4
0
    def traits_view(self):
        nodes = [
            TreeNode(
                node_for=[Hierarchy],
                children='children',
                auto_open=True,
                # on_click=self.model._on_click,
                label='name',
            ),
            TreeNode(node_for=[FilePath], label='name')
        ]

        v = View(
            VGroup(
                HGroup(Item('chronology_visible', label='View Chronology'),
                       icon_button_editor('filter_by_date_button', 'calendar'),
                       UItem('date_filter')),
                HGroup(Item('filter_hierarchy_str', label='Name Filter')),
                UItem('object.hierarchy.chronology',
                      editor=TabularEditor(editable=False,
                                           selected='selected_root',
                                           dclicked='dclicked',
                                           adapter=FilePathAdapter()),
                      visible_when='chronology_visible'),
                UItem('hierarchy',
                      visible_when='not chronology_visible',
                      show_label=False,
                      editor=TreeEditor(auto_open=1,
                                        selected='selected_root',
                                        dclick='dclicked',
                                        nodes=nodes,
                                        editable=False))))
        return v
Exemple #5
0
def _hdf5_tree_editor(selected=''):
    """Return a TreeEditor specifically for HDF5 file trees."""
    return TreeEditor(
        nodes=[
            TreeNode(
                node_for=[Hdf5FileNode],
                auto_open=True,
                children='groups_and_arrays',
                label='name',
                view=no_view,
            ),
            TreeNode(
                node_for=[Hdf5GroupNode],
                auto_open=False,
                children='groups_and_arrays',
                label='name',
                view=no_view,
            ),
            TreeNode(
                node_for=[Hdf5ArrayNode],
                auto_open=False,
                children='',
                label='name',
                view=no_view,
            ),
        ],
        editable=False,
        selected=selected,
    )
    def default_traits_view(self):
        menu = Menu(Action(name='Refresh', action='editor.update_editor'),
                    Action(name='Expand all', action='editor.expand_all'))
        self.menu = menu

        nodes = self.tree_generator.get_nodes(menu)

        self.tree_editor = TreeEditor(nodes=nodes,
                                      editable=False,
                                      orientation='vertical',
                                      hide_root=True,
                                      on_select=self._on_select,
                                      on_dclick=self._on_dclick)
        view = View(Group(
            VSplit(Item(name='_root', editor=self.tree_editor, resizable=True),
                   Item(name='selected', style='custom', resizable=True),
                   show_labels=False,
                   show_border=False)),
                    title='Pipeline browser',
                    help=False,
                    resizable=True,
                    undo=False,
                    revert=False,
                    width=.3,
                    height=.3)
        return view
Exemple #7
0
    def traits_view(self):
        """ Default traits view for this class. """

        help_action = Action(name="Info", action="preferences_help")

        buttons = ["OK", "Cancel"]

        if self.show_apply:
            buttons = ["Apply"] + buttons
        if self.show_help:
            buttons = [help_action] + buttons

        # A tree editor for preferences nodes.
        tree_editor = TreeEditor(
            nodes=[
                TreeNode(
                    node_for=[PreferencesNode],
                    auto_open=False,
                    children="children",
                    label="name",
                    rename=False,
                    copy=False,
                    delete=False,
                    insert=False,
                    menu=None,
                ),
            ],
            on_select=self._selection_changed,
            editable=False,
            hide_root=True,
            selected="selected_node",
            show_icons=False,
        )

        view = View(
            HSplit(
                Item(
                    name="root",
                    editor=tree_editor,
                    show_label=False,
                    width=250,
                ),
                Item(
                    name="selected_page",
                    # editor     = WidgetEditor(),
                    show_label=False,
                    width=450,
                    style="custom",
                ),
            ),
            buttons=buttons,
            handler=PreferencesManagerHandler(model=self),
            resizable=True,
            title="Preferences",
            width=0.3,
            height=0.3,
            kind="modal",
        )
        self.selected_page = self.pages[0]
        return view
Exemple #8
0
class FileTreeDemo(HasTraits):

    # The path to the file tree root:
    root_path = Directory(entries=10)

    # The root of the file tree:
    root = Property

    # The traits view to display:
    view = View(
        VGroup(
            Item('root_path'),
            Item('root',
                 editor=TreeEditor(editable=False, auto_open=1)
                 ),
            show_labels=False
        ),
        width=0.33,
        height=0.50,
        resizable=True
    )

    #-- Traits Default Value Methods -----------------------------------------

    def _root_path_default(self):
        return getcwd()

    #-- Property Implementations ---------------------------------------------

    @property_depends_on('root_path')
    def _get_root(self):
        return File(path=self.root_path)
Exemple #9
0
    def traits_view(self):
        nodes = [
            TreeNode(node_for=[Scene],
                     children='layers',
                     label='=layers',
                     auto_open=True),
            TreeNode(node_for=[Layer],
                     label='label',
                     children='components',
                     auto_open=True),
            PrimitiveNode(
                node_for=[Primitive],
                children='primitives',
                label='label',
            ),
        ]

        editor = TreeEditor(nodes=nodes,
                            selected='selected',
                            orientation='vertical')
        v = View(
            HSplit(
                UItem('scene', editor=editor, width=0.4),
                UItem('canvas',
                      style='custom',
                      editor=ComponentEditor(),
                      width=0.6)))

        return v
 def _tree_editor_default(self):
     return TreeEditor(editable=False,
                       hide_root=True,
                       on_dclick='handler._on_dclick',
                       on_select='handler._on_select',
                       orientation='vertical',
                       selected='object.engine.current_selection',
                       nodes=self.nodes)
 def create_temporary_view(self):
     editor = TreeEditor(editable=False)
     view = View(Item('simulations', editor=editor))
     ui = self.study.edit_traits(view=view)
     try:
         yield ui
     finally:
         ui.dispose()
Exemple #12
0
    def traits_view(self):
        """ Default traits view for this class. """

        help_action = Action(name='Info', action='preferences_help')

        buttons = ['OK', 'Cancel']

        if self.show_apply:
            buttons = ['Apply'] + buttons
        if self.show_help:
            buttons = [help_action] + buttons

        # A tree editor for preferences nodes.
        tree_editor = TreeEditor(nodes=[
            TreeNode(
                node_for=[PreferencesNode],
                auto_open=False,
                children='children',
                label='name',
                rename=False,
                copy=False,
                delete=False,
                insert=False,
                menu=None,
            ),
        ],
                                 on_select=self._selection_changed,
                                 editable=False,
                                 hide_root=True,
                                 selected='selected_node',
                                 show_icons=False)

        view = View(
            HSplit(
                Item(
                    name='root',
                    editor=tree_editor,
                    show_label=False,
                    width=250,
                ),
                Item(
                    name='selected_page',
                    #editor     = WidgetEditor(),
                    show_label=False,
                    width=450,
                    style='custom',
                ),
            ),
            buttons=buttons,
            handler=PreferencesManagerHandler(model=self),
            resizable=True,
            title='Preferences',
            width=.3,
            height=.3,
            kind='modal')
        self.selected_page = self.pages[0]
        return view
    def default_traits_view(self):
        tree_editor = TreeEditor(nodes=self.nodes,
                                 hide_root=self.hide_root,
                                 editable=False)

        traits_view = View(Item(name="bogus", id="engine", editor=tree_editor),
                           buttons=["OK"])

        return traits_view
Exemple #14
0
    def test_tree_node_adaptation(self):
        register_all_tree_node_adapters()
        study = make_sample_study()
        data_manager = DataManager(data_elements=[study])

        view = View(
            Item('data_elements', editor=TreeEditor())
        )
        ui = data_manager.edit_traits(view=view)
        ui.dispose()
def create_temporary_view(attribute_name, obj):
    """ Build tree view for 1 entry in datasource and dispose of it after use.
    """
    editor = TreeEditor(editable=False)
    view = View(Item(attribute_name, editor=editor))
    ui = obj.edit_traits(view=view)
    try:
        yield ui
    finally:
        ui.dispose()
Exemple #16
0
    def default_traits_view(self):
        tree_editor = TreeEditor(
            nodes=self.nodes,
            hide_root=self.hide_root,
            editable=False,
        )

        traits_view = View(
            Item(name='bogus', id='engine', editor=tree_editor),
            buttons=['OK'],
        )

        return traits_view
Exemple #17
0
    def traits_view(self):
        """ The view used to construct the dock pane's widget.
        """
        self._tree_editor = TreeEditor(editable=False,
                                       auto_open=1,
                                       dclick="requested_data_item",
                                       expands_on_dclick=False,
                                       hide_root=True)

        view = View(Item('datasource',
                         editor=self._tree_editor,
                         show_label=False),
                    resizable=True)
        return view
Exemple #18
0
    def default_traits_view(self):
        nodes = [
            TreeNode(node_for=[Bogus], children='bogus_list', label='=Bogus'),
        ]

        tree_editor = TreeEditor(nodes=nodes,
                                 hide_root=self.hide_root,
                                 editable=False)

        traits_view = View(
            Item(name='bogus', id='engine', editor=tree_editor),
            buttons=['OK'],
        )

        return traits_view
    def default_traits_view(self):
        tree_editor = TreeEditor(
            nodes=self.nodes,
            hide_root=self.hide_root,
            editable=False,
            word_wrap=self.word_wrap,
        )

        traits_view = View(
            Item(name="bogus", id="engine", editor=tree_editor),
            Item('expand_all'),
            buttons=["OK"],
            handler=BogusHandler(),
        )

        return traits_view
Exemple #20
0
    def traits_view(self, parent=None):
        nodes = [TreeNode(node_for=[FileNode],
                          children='',
                          label='name',
                          view=View()),
                 TreeNode(node_for=[DirectoryNode],
                          children='children',
                          label='name',
                          view=View())]

        return View(Item('root_path', show_label=False),
                    Item('_root',
                         editor=TreeEditor(nodes=nodes,
                                           on_dclick=self._on_dclick,
                                           on_click=self._on_click,
                                           editable=False),
                         show_label=False))
Exemple #21
0
def _tree_editor(selected=''):
    return TreeEditor(
        nodes=[
            TreeNode(node_for=[RootNode],
                     auto_open=True,
                     children='',
                     label='name',
                     view=View(
                         Group('name', orientation='vertical',
                               show_left=True))),
            TreeNode(node_for=[RootNode],
                     auto_open=True,
                     children='experiments',
                     label='=experiments',
                     delete_me=False,
                     add=[ExperimentType]),
            TreeNode(node_for=[ExperimentType],
                     auto_open=True,
                     children='series',
                     label='name',
                     delete_me=False,
                     insert=False,
                     add=[Serie]),
            TreeNode(node_for=[Serie],
                     auto_open=True,
                     children='experiments',
                     label='name',
                     insert=False,
                     delete_me=False,
                     add=[Experiment]),
            TreeNode(node_for=[Experiment],
                     auto_open=True,
                     label='name',
                     delete_me=False,
                     rename=False,
                     insert=False)
        ],
        editable=False,
        selected=selected,
        hide_root=True,
        auto_open=0,
    )
Exemple #22
0
def _hdf5_tree_editor_item(selected=''):
    """Return a TreeEditor specifically for HDF5 file trees."""
    return TreeEditor(nodes=[
        TreeNode(
            node_for=[Hdf5FileNode],
            auto_open=True,
            children='boards',
            label='name',
            view=no_view,
        ),
        TreeNode(
            node_for=[Hdf5TableNode],
            auto_open=False,
            children='',
            label='name',
            view=no_view,
        ),
    ],
                      selected=selected,
                      shared_editor=True)
 def test_tree_editor_with_nested_ui(self):
     tree_editor = TreeEditor(
         nodes=[
             TreeNode(
                 node_for=[Bogus],
                 auto_open=True,
                 children="bogus_list",
                 label="bogus",
                 view=View(Item("name")),
             ),
         ],
         hide_root=True,
     )
     bogus_list = [Bogus()]
     object_view = BogusTreeView(bogus=Bogus(bogus_list=bogus_list))
     view = View(Item("bogus", id="tree", editor=tree_editor))
     with reraise_exceptions(), \
             create_ui(object_view, dict(view=view)) as ui:
         editor = ui.info.tree
         editor.selected = bogus_list[0]
         GUI.process_events()
Exemple #24
0
    def __init__(self, renwin=None, **traits):
        """Initializes the object.

        Parameters
        ----------

        - renwin: `Scene` instance.  Defaults to None.

          This may be passed in addition to the renwins attribute
          which can be a list of scenes.

        """
        super(PipelineBrowser, self).__init__(**traits)
        self.ui = None
        self.view = None
        if renwin:
            self.renwins.append(renwin)

        self._root_object_changed(self.root_object)
        menu = Menu(Action(name='Refresh', action='editor.update_editor'),
                    Action(name='Expand all', action='editor.expand_all'))
        self.menu = menu

        nodes = self.tree_generator.get_nodes(menu)

        self.tree_editor = TreeEditor(nodes=nodes,
                                      editable=False,
                                      orientation='vertical',
                                      hide_root=True,
                                      on_dclick=self._on_dclick)
        self.view = View(Group(Item(name='_root',
                                    editor=self.tree_editor,
                                    resizable=True),
                               show_labels=False,
                               show_border=False,
                               orientation='vertical'),
                         title='Pipeline browser',
                         help=False,
                         resizable=True, undo=False, revert=False,
                         width=.3, height=.3)
Exemple #25
0
class DataManagerModelView(ModelView):

    traits_view = View(
        UItem('model', editor=TreeEditor(
                nodes=[
                    TreeNode(
                        node_for=[DataManager],
                        label="=Studies",
                        children='studies',
                    ),
                    TreeNode(
                        node_for=[Study],
                        label="name",
                        children='',
                    ),
                    TreeNode(
                        node_for=[Study],
                        label="=Experiments",
                        children='experiments',
                    ),
                    TreeNode(
                        node_for=[Study],
                        label="=Simulations",
                        children='simulations',
                    ),
                    TreeNode(
                        node_for=[Simulation],
                        label="name",
                    ),
                    TreeNode(
                        node_for=[Experiment],
                        label="name",
                    ),
                ]
            )
        ),
        resizable=True,
    )
Exemple #26
0

#-------------------------------------------------------------------------------
#  File Space tree editor:
#-------------------------------------------------------------------------------

file_space_tree_editor = TreeEditor(
    selected='selected',
    editable=False,
    lines_mode='on',
    nodes=[
        TreeNode(node_for=[FileSpaceNode],
                 label='=File Space',
                 children='roots',
                 auto_open=True,
                 add=[(FileSpaceRootNode, True)]),
        ObjectTreeNode(node_for=[DirectoryNode],
                       children='children',
                       name='Folder',
                       auto_close=True),
        ObjectTreeNode(node_for=[FileSpaceRootNode],
                       children='children',
                       name='File Space Root',
                       auto_close=True),
        ObjectTreeNode(node_for=[FileNode])
    ])

#-------------------------------------------------------------------------------
#  'FileSpace' class:
#-------------------------------------------------------------------------------

Exemple #27
0
tree_editor = TreeEditor(
    editable=False,
    nodes=[
        TreeNode(node_for=[Company],
                 auto_open=True,
                 children='',
                 label='name',
                 view=View(['name', '|<'])),
        TreeNode(node_for=[Company],
                 auto_open=True,
                 children='departments',
                 label='=Departments',
                 view=no_view,
                 add=[Department]),
        TreeNode(node_for=[Company],
                 auto_open=True,
                 children='employees',
                 label='=Employees',
                 view=no_view,
                 add=[Employee]),
        TreeNode(node_for=[Department],
                 auto_open=True,
                 children='employees',
                 label='name',
                 menu=Menu(NewAction,
                           Separator(),
                           DeleteAction,
                           Separator(),
                           RenameAction,
                           Separator(),
                           CopyAction,
                           CutAction,
                           PasteAction),
                 view=View(['name', '|<']),
                 add=[Employee]),
        TreeNode(node_for=[Employee],
                 auto_open=True,
                 label='name',
                 menu=Menu(NewAction,
                           Separator(),
                           Action(name='Default title',
                                  action='object.default_title'),
                           Action(name='Department',
                                  action='handler.employee_department(editor,object)'),
                           Separator(),
                           CopyAction,
                           CutAction,
                           PasteAction,
                           Separator(),
                           DeleteAction,
                           Separator(),
                           RenameAction),
                 view=View(['name', 'title', 'phone', '|<']))
    ]
)
Exemple #28
0
            ),
        ), ),
    handler=demo_file_handler,
    kind='subpanel',
)

demo_tree_editor = TreeEditor(
    nodes=[
        ObjectTreeNode(
            node_for=[DemoPath],
            label="nice_name",
            view=demo_path_view,
        ),
        ObjectTreeNode(node_for=[DemoFile],
                       label="nice_name",
                       view=demo_file_view),
        ObjectTreeNode(node_for=[DemoContentFile],
                       label="nice_name",
                       view=demo_content_view),
        ObjectTreeNode(node_for=[DemoImageFile],
                       label="nice_name",
                       view=demo_content_view),
    ],
    selected='selected_node',
)

next_tool = Action(
    name='Next',
    image=ImageResource("next"),
    tooltip="Go to next file",
    action="do_next",
Exemple #29
0
tree_editor = TreeEditor(
    nodes = [
        TreeNode( node_for  = [ Company ],
                  auto_open = True,
                  children  = '',
                  label     = 'name',
                  view      = View( Group('name',
                                   orientation='vertical',
                                   show_left=True )) ),
        TreeNode( node_for  = [ Company ],
                  auto_open = True,
                  children  = 'departments',
                  label     = '=Departments',
                  view      = no_view,
                  add       = [ Department ] ),
        TreeNode( node_for  = [ Company ],
                  auto_open = True,
                  children  = 'employees',
                  label     = '=Employees',
                  view      = no_view,
                  add       = [ Employee ] ),
        TreeNode( node_for  = [ Department ],
                  auto_open = True,
                  children  = 'employees',
                  label     = 'name',
                  menu      = Menu( NewAction,
                                    Separator(),
                                    DeleteAction,
                                    Separator(),
                                    RenameAction,
                                    Separator(),
                                    CopyAction,
                                    CutAction,
                                    PasteAction ),
                  view      = View( Group ('name',
                                   orientation='vertical',
                                   show_left=True )),
                  add       = [ Employee ] ),
        TreeNode( node_for  = [ Employee ],
                  auto_open = True,
                  label     = 'name',
                  menu=Menu( NewAction,
                             Separator(),
                             def_title_action,
                             dept_action,
                             Separator(),
                             CopyAction,
                             CutAction,
                             PasteAction,
                             Separator(),
                             DeleteAction,
                             Separator(),
                             RenameAction ),
                  view = employee_view )
    ]
)
class ViewChooser(HasTraits):
    """ Allow the user to choose a view.

    This implementation shows views in a tree grouped by category.

    """

    # The window that contains the views to choose from.
    window = Instance('pyface.workbench.api.WorkbenchWindow')

    # The currently selected tree item (at any point in time this might be
    # either None, a view category, or a view).
    selected = Any

    # The selected view (None if the selected item is not a view).
    view = Instance(IView)

    #### Traits UI views ######################################################

    traits_ui_view = View(
        Item(name='window',
             editor=TreeEditor(nodes=[
                 WorkbenchWindowTreeNode(
                     auto_open=True,
                     label='=Views',
                     rename=False,
                     copy=False,
                     delete=False,
                     insert=False,
                     menu=None,
                 ),
                 TreeNode(
                     node_for=[Category],
                     auto_open=True,
                     children='views',
                     label='name',
                     rename=False,
                     copy=False,
                     delete=False,
                     insert=False,
                     menu=None,
                 ),
                 IViewTreeNode(
                     auto_open=False,
                     label='name',
                     rename=False,
                     copy=False,
                     delete=False,
                     insert=False,
                     menu=None,
                 )
             ],
                               editable=False,
                               hide_root=True,
                               selected='selected',
                               show_icons=True),
             show_label=False),
        buttons=[Action(name='OK', enabled_when='view is not None'), 'Cancel'],
        resizable=True,
        style='custom',
        title='Show View',
        width=.2,
        height=.4)

    ###########################################################################
    # 'ViewChooser' interface.
    ###########################################################################

    def _selected_changed(self, old, new):
        """ Static trait change handler. """

        # If the assignment fails then the selected object does *not* implement
        # the 'IView' interface.
        try:
            self.view = new

        except TraitError:
            self.view = None

        return