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
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
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 _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 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))
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", ) ]
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))
def _nodes_default(self): return [ TreeNode( node_for=[Bogus], children='bogus_list', label='=Bogus' ) ]
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 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)
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, )
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, )
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
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, )
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, ),
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
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. """
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,
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],
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,
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:
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',