Example #1
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
Example #2
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
Example #3
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
Example #4
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,
    )
Example #5
0
    def test_insert_child(self):
        # Regression test for #559
        model = DummyModel(
            name="Parent",
            children=[DummyModel(name="Child0"),
                      DummyModel(name="Child2")])
        node = TreeNode(children="children", node_for=[DummyModel])
        node.insert_child(model, 1, DummyModel(name="Child1"))

        # Assert
        self.assertEqual(len(model.children), 3)
        for i in range(3):
            self.assertEqual(model.children[i].name, "Child{}".format(i))
Example #6
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
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,
    )
 def test_tree_editor_label_listener(self):
     nodes = [
         TreeNode(node_for=[Bogus], children="bogus_list", label="name")
     ]
     self._test_tree_editor_releases_listeners(hide_root=False,
                                               nodes=nodes,
                                               trait="name")
 def _nodes_default(self):
     return [
         TreeNode(
             node_for=[BogusTreeNodeObject],
             children="bogus_list",
             label="=Bogus",
         )
     ]
Example #10
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))
Example #11
0
 def _nodes_default(self):
     return [
         TreeNode(
             node_for=[Bogus],
             children='bogus_list',
             label='=Bogus'
         )
     ]
Example #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
Example #13
0
 def test_tree_editor_listeners_with_hidden_root(self):
     nodes = [
         TreeNode(
             node_for=[Bogus],
             children='bogus_list',
             label='=Bogus'
         )
     ]
     self._test_tree_editor_releases_listeners(hide_root=True, nodes=nodes)
Example #14
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,
    )
Example #15
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_xgetattr_label_listener(self):
     nodes = [
         TreeNode(
             node_for=[Bogus],
             children="bogus_list",
             label="wrapped_bogus.name",
         )
     ]
     self._test_tree_editor_releases_listeners(
         hide_root=False,
         nodes=nodes,
         trait="wrapped_bogus",
         expected_listeners=2,
     )
Example #17
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 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()
 def _nodes_default(self):
     """ The default value of the cached nodes list.
     """
     # Now setup the view.
     nodes = [
         TreeNode(
             node_for=[Engine],
             children='children_ui_list',
             label='=Mayavi',
             auto_open=False,
             copy=False,
             delete=False,
             rename=True,
         ),
         ObjectTreeNode(
             node_for=[Base],
             children='children_ui_list',
             label='name',
             auto_open=True,
             copy=True,
             delete=True,
             rename=True,
             tooltip='=Right click for more options',
         ),
         AdderTreeNode(
             node_for=[SceneAdderNode],
             icon_item='add_scene.png',
         ),
         AdderTreeNode(
             node_for=[SourceAdderNode],
             icon_item='add_source.png',
         ),
         AdderTreeNode(
             node_for=[ModuleFilterAdderNode],
             icon_item='add_module.png',
         ),
     ]
     return nodes
Example #20
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,
    )
Example #21
0
        for service in obj.services:
            node = svtno.node_for(repr(service.obj), service.obj)
            node._protocol_ = obj.name
            node._service_id_ = service.id
            nodes.append(node)

        return nodes


service_registry_browser_tree_nodes = [
    TreeNode(
        node_for=[ServiceRegistryModel],
        auto_open=True,
        label='=Services',
        children='protocols',
        rename=False,
        copy=False,
        delete=False,
        insert=False,
        menu=None,
    ),
    ProtocolModelTreeNode(
        node_for=[ProtocolModel],
        auto_open=True,
        label='name',
        rename=False,
        copy=False,
        delete=False,
        insert=False,
        menu=None,
    ),
Example #22
0
    dock = 'vertical' )

class TreeHandler ( Handler ):

    def employee_department ( self, editor, object ):
        dept = editor.get_parent( object )
        print '%s works in the %s department.' %\
            ( object.name, dept.name )

# Tree editor
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 ] ),
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
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=0.2,
        height=0.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
Example #25
0
from traitsui.api import TreeNode, View, HTMLEditor
from traitsui.menu import Action

# Local imports.
from .preferences_node import PreferencesNode
from .preferences_page import PreferencesPage

# 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,
        ),
    ],
    editable=False,
    hide_root=True,
    selected="selected_node",
    show_icons=False,
)


class PreferencesHelpWindow(HasTraits):
    """ Container class to present a view with string info. """
Example #26
0
        np.savetxt(
            r'E:\Models_Implementation\Concrete Fatigue models\Alliche_2004\Results\loading_sequence\creep_fatigue\w.txt',
            np.transpose(w_record),
            delimiter=" ",
            fmt="%s")

    #     np.savetxt(r'E:\Models_Implementation\Concrete Fatigue models\Alliche_2004\Results\loading_sequence\creep_fatigue\stiffness.txt',
    #                np.transpose(stiffness_record), delimiter=" ", fmt="%s")


if __name__ == '__main__':

    material_node = TreeNode(
        node_for=[Material],
        auto_open=False,
        children='tree_node_list',
        label='node_name',
        view='tree_view',
    )

    loading_scenario_node = TreeNode(
        node_for=[LoadingScenario],
        auto_open=True,
        children='tree_node_list',
        label='node_name',
        view='tree_view',
    )

    bond_slip_model_node = TreeNode(
        node_for=[AllicheConcreteFatigueModel],
        auto_open=True,
Example #27
0
        employees=[dave, martin, mike, duncan, jason]
    )
)

#-------------------------------------------------------------------------
#  Define the tree trait editor:
#-------------------------------------------------------------------------

no_view = View()

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],
Example #28
0
from traits.api import DelegatesTo, Event, List, Str, Supports, on_trait_change
from traitsui.api import View, Item, TreeEditor, TreeNode
from pyface.tasks.api import TraitsDockPane

from ...model.i_survey import ISurvey
from ...model.i_survey_line import ISurveyLine
from ...model.i_survey_line_group import ISurveyLineGroup
from ...util.command_traits import UndoingDelegate

survey_line_tree = TreeEditor(
    nodes=[
        TreeNode(
            node_for=[ISurvey],
            label='name',
            children='',
            rename_me=True,
            delete_me=False,
        ),
        TreeNode(
            node_for=[ISurvey],
            label='=Groups',
            children='survey_line_groups',
        ),
        TreeNode(
            node_for=[ISurvey],
            label='=All Lines',
            children='survey_lines',
            copy=True,
            delete=False,
            delete_me=False,
Example #29
0
    def _get_name(self):
        return basename(self.path)


#-------------------------------------------------------------------------------
#  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:
Example #30
0
    name = Str('<unknown>')
    departments = List(Department)
    employees = List(Employee)


# Create an empty view for objects that have no data to display:
no_view = View()

# Define the TreeEditor used to display the hierarchy:
tree_editor = TreeEditor(nodes=[
    # The first node specified is the top level one
    TreeNode(
        node_for=[Company],
        auto_open=True,
        # child nodes are
        children='',
        label='name',  # label with Company name
        view=View(['name'])),
    TreeNode(
        node_for=[Company],
        auto_open=True,
        children='departments',
        label='=Departments',  # constant label
        view=no_view,
        add=[Department],
    ),
    TreeNode(
        node_for=[Company],
        auto_open=True,
        children='employees',