Esempio n. 1
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, 
        )
Esempio n. 2
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 )
Esempio n. 3
0
 def _tree_editor_default(self):
     return TreeEditor(
         editable = False,
         hide_root = True,
         nodes = self.nodes,
         selected = "tree_selected"
     )
Esempio n. 4
0
 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)
Esempio n. 5
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
Esempio n. 6
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)
Esempio n. 7
0
class CfgFileManager(HasTraits):
    session = Instance(Session)
    directory = Str
    name = Str
    files = Dict

    def _session_default(self):
        return Session(name=self.name,
                       directory=self.directory,
                       files=self.files)

    tree_editor = TreeEditor(nodes=[
        TreeNode(node_for=[Session],
                 children='descendents',
                 label='name',
                 rename=False,
                 delete=False,
                 view=View()),
        TreeNode(node_for=[SubSession],
                 children='descendents',
                 label='name',
                 rename=False,
                 delete=False,
                 view=View()),
        TreeNode(node_for=[CfgFile],
                 children='descendents',
                 label='name',
                 on_dclick=openFile,
                 rename=False,
                 delete=False,
                 view=View())
    ],
                             hide_root=True,
                             editable=False)

    view = View(Item(name='directory', show_label=False, style='readonly'),
                Item(editor=tree_editor,
                     name='session',
                     id='session',
                     resizable=True,
                     show_label=False),
                resizable=True)
Esempio n. 8
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
Esempio n. 9
0
    def __init__(self, avl=None, **traits):
        """Initializes the object.
        """
        super(AVLTreeBrowser, self).__init__(**traits)
        self.ui = None
        self.view = None
        if avl:
            self.avl = avl

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

        self._root_object_changed(self.root_object)

        nodes = self.tree_generator.get_nodes(menu)

        self.tree_editor = TreeEditor(nodes=nodes,
                                      orientation='vertical',
                                      hide_root=True,
                                      on_dclick=self._on_dclick,
                                      selected='selected')
        self.view = View(Group(Item(name='_root',
                                    editor=self.tree_editor,
                                    resizable=True),
                               show_labels=False,
                               show_border=False,
                               orientation='vertical'),
                         title='pyAVL',
                         help=False,
                         resizable=True,
                         undo=False,
                         revert=False,
                         width=.3,
                         height=.3,
                         handler=self.avlhandler,
                         toolbar=ToolBar(*self.avlhandler.toolbar_actions))
Esempio n. 10
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)
])
Esempio n. 11
0
        itr = TDF.TDF_ChildIterator(self.TDF_Label, False)
        result = []
        while itr.More():
            val = itr.Value()
            result.append(Label(TDF_Label=val))
            itr.Next()
        return result


tree_ed = TreeEditor(nodes=[
    TreeNode(node_for=[Label],
             auto_open=False,
             children='children',
             label='repr',
             view=View()),
    TreeNode(
        node_for=[Attribute],
        auto_open=False,
        children='',
        label='cls_name',
    )
],
                     orientation='horizontal')


class Doc(HasTraits):
    filename = File
    TDocStd = Instance(TDocStd.TDocStd_Document)
    root_label = Instance(Label)

    traits_view = View(VGroup(Item("filename")),
                       Item("root_label", editor=tree_ed, show_label=False))
Esempio n. 12
0
AVL_tree_editor = TreeEditor( 
    nodes = [
        TreeNode( node_for  = [ AVL ],
                  auto_open = True,
                  children  = '',
                  label     = '=pyAVL',
                  view      = no_view
        ),
        TreeNode( node_for  = [ AVL ],
                  auto_open = True,
                  children  = 'run_cases',
                  label     = '=runcases',
                  view      = View( [ 'selected_runcase'] )
        ),
        TreeNode( node_for  = [ AVL ],
                  auto_open = True,
                  children  = '',
                  label     = '=cases',
                  view      = View( [ 'case'] )
        ),
        TreeNode( node_for  = [ RunCase ],
                  auto_open = True,
                  children  = '',
                  label     = 'name',
                  view      = View( [ 'name','number','parameters','constraints'] )
        ),
        TreeNode( node_for  = [ Case ],
                  auto_open = True,
                  children  = 'geometries',
                  label     = 'name',
                  view      = View( [ 'name','mach_no'] )
        ),
        TreeNode( node_for  = [ Geometry ],
                  auto_open = True,
                  children  = 'things',
                  label     = '=Geometry',
                  view      = View(['geometry'])#Item('controls', editor=ListEditor(style='readonly')),style='readonly'),
        ),
        TreeNode( node_for  = [ TraitListObject ],
                  auto_open = True,
                  children  = 'sections',
                  label     = '=Surface',
                  view      = no_view
        )
    ],
    orientation='vertical',
    on_select = selection_changed,
    selected = 'selected'
)
Esempio n. 13
0
from preferences_page import PreferencesPage

# fixme: This is part of the attempt to allow developers to use non-Traits UI
# preferences pages. It doesn't work yet!
##from widget_editor import WidgetEditor

# 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. """
    def traits_view(self):
        """ Default view to show for this class. """
        args = []
Esempio n. 14
0
tree_editor = TreeEditor(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',
             view=View(['name']),
             add=[Employee]),
    TreeNode(node_for=[Employee],
             auto_open=True,
             label='name',
             view=View(['name', 'title', 'phone']))
])
Esempio n. 15
0
graph_tree_editor = TreeEditor(
    nodes = [
        GraphTreeNode(),
        SubgraphTreeNode(),
        ClusterTreeNode(),
#        TreeNode(node_for=[Graph], auto_open=True, children="", label="ID",
#            icon_item="graph", rename_me=True),
#        TreeNode(node_for=[Graph], auto_open=False, children="subgraphs",
#            label="=Subgraphs", add=[Subgraph]),
#        TreeNode(node_for=[Graph], auto_open=False, children="clusters",
#            label="=Clusters", add=[Cluster]),
#        TreeNode(node_for=[Graph], auto_open=True, children="nodes",
#            label="=Nodes", add=[Node]),
#        TreeNode(node_for=[Graph], auto_open=True, children="edges",
#            label="=Edges"),
#
#        TreeNode(node_for=[Subgraph], label="ID", icon_item="subgraph"),
#        TreeNode(node_for=[Subgraph], auto_open=False, children="subgraphs",
#            label="=Subgraphs", add=[Subgraph]),
#        TreeNode(node_for=[Subgraph], auto_open=False, children="clusters",
#            label="=Clusters", add=[Cluster]),
#        TreeNode(node_for=[Subgraph], auto_open=False, children="nodes",
#            label="=Nodes", add=[Node]),
#        TreeNode(node_for=[Subgraph], children="edges", label="=Edges"),
#
#        TreeNode(node_for=[Cluster], label="ID", icon_item="cluster"),
#        TreeNode(node_for=[Cluster], auto_open=False, children="subgraphs",
#            label="=Subgraphs", add=[Subgraph]),
#        TreeNode(node_for=[Cluster], auto_open=False, children="clusters",
#            label="=Clusters", add=[Cluster]),
#        TreeNode(node_for=[Cluster], auto_open=False, children="nodes",
#            label="=Nodes", add=[Node]),
#        TreeNode(node_for=[Cluster], children="edges", label="=Edges"),

        TreeNode(node_for=[Node], label="ID", icon_item="node"),
        TreeNode(node_for=[Edge], label="name", icon_item="edge")
    ],
    orientation="vertical", editable=False,# hide_root=True,
    on_dclick=lambda obj: obj.edit_traits(kind="livemodal"),
#    selected="selected_graph"
)
Esempio n. 16
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', '|<' ] ) )
    ]
)
Esempio n. 17
0
#-------------------------------------------------------------------------------
#  Defines the value tree editor(s):
#-------------------------------------------------------------------------------

# Nodes in a value tree
value_tree_nodes = [
    ObjectTreeNode(node_for=[
        NoneNode, StringNode, BoolNode, IntNode, FloatNode, ComplexNode,
        OtherNode, TupleNode, ListNode, ArrayNode, DictNode, ObjectNode,
        TraitsNode, RootNode
    ])
]

# Editor for a value tree
value_tree_editor = TreeEditor(auto_open=3,
                               hide_root=True,
                               editable=False,
                               nodes=value_tree_nodes)

# Editor for a value tree with a root
value_tree_editor_with_root = TreeEditor(
    auto_open=3,
    editable=False,
    nodes=[
        ObjectTreeNode(node_for=[
            NoneNode, StringNode, BoolNode, IntNode, FloatNode, ComplexNode,
            OtherNode, TupleNode, ListNode, ArrayNode, DictNode, ObjectNode,
            TraitsNode, RootNode
        ]),
        TreeNode(node_for=[_ValueTree],
                 auto_open=True,
                 children='values',
Esempio n. 18
0
tree_editor = TreeEditor(nodes=[
    TreeNode(node_for=[PatientList],
             auto_open=True,
             children='patients',
             label='=Patients',
             view=no_view),
    TreeNode(node_for=[Patient],
             auto_open=True,
             children='studies',
             label='label',
             view=no_view),
    TreeNode(node_for=[Study],
             auto_open=True,
             children='series',
             label='label',
             view=no_view),
    TreeNode(node_for=[Series],
             auto_open=False,
             children='sopinstances',
             label='label',
             view=no_view),
    TreeNode(node_for=[RTPlan],
             auto_open=False,
             children='beams',
             label='label',
             view=no_view),
    TreeNode(node_for=[SOPInstance],
             auto_open=False,
             children='',
             label='label',
             view=no_view),
    TreeNode(node_for=[Beam],
             auto_open=False,
             children='control_points',
             label='name',
             view=no_view),
    TreeNode(node_for=[ControlPoint],
             auto_open=False,
             children='',
             label='label',
             view=no_view),
],
                         on_select=on_tree_select)
Esempio n. 19
0
 def _tree_editor_default(self):
     return TreeEditor(editable=False,
                       hide_root=False,
                       on_dclick='handler._on_dclick',
                       orientation='vertical',
                       nodes=self.nodes)
Esempio n. 20
0
    """
    Just a container for DisplayShapes. This exists mostly 
    because the TreeEditor expects child nodes on a single
    sub-object. A simple list doesn't work.
    """
    shapes = List(DisplayShape)
    

occ_tree = TreeEditor(nodes=[
            TreeNode(node_for=[ShapeList],
                    auto_open=True,
                    children='shapes',
                    label="=Shapes",
                    view=View()),
            TreeNode(node_for=[DisplayShape],
                     auto_open=True,
                     children='_input',
                     label='name'),
            TreeNode(node_for=[ProcessObject],
                    auto_open=True,
                    children='_inputs',
                    label='name')],
                orientation="vertical"
                )                    


class OCCModel(HasTraits):
    shapes = List
    
    shape_list = Instance(ShapeList)

    traits_view=View(HSplit(
Esempio n. 21
0
class MainWindow(HasTraits):
    parameter_file_collections = Instance(ParameterFileCollectionList)
    parameter_files = Instance(ParameterFileCollection)
    plot_frame_tabs = List(Instance(DataObject))
    open_parameterfile = Button
    shell = PythonValue

    def _shell_default(self):
        return globals()

    notebook_editor = ListEditor(editor=InstanceEditor(editable=True),
                                 use_notebook=True)

    traits_view = View(
        VSplit(
            HSplit(
                VGroup(
                    Item(
                        'parameter_file_collections',
                        width=120.0,
                        height=500.0,
                        show_label=False,
                        editor=TreeEditor(
                            editable=False,
                            nodes=[
                                TreeNode(
                                    node_for=[ParameterFileCollectionList],
                                    children='parameter_file_collections',
                                    label="=Data Collections"),
                                TreeNode(node_for=[ParameterFileCollection],
                                         children='parameter_files',
                                         label="name",
                                         view=View()),
                                TreeNode(node_for=[ParameterFile],
                                         children='data_objects',
                                         label="name",
                                         menu=Menu(
                                             Action(name='Slice',
                                                    action='object.do_slice'),
                                             Action(name='Project',
                                                    action='object.do_proj'),
                                             Action(name='VTK',
                                                    action='object.do_vtk')),
                                         view=View()),
                                TreeNode(node_for=[DataObject],
                                         children='',
                                         label="name"),
                            ],
                            show_icons=False),
                    ), Item('open_parameterfile', show_label=False)),
                Item('plot_frame_tabs',
                     style='custom',
                     editor=notebook_editor,
                     show_label=False,
                     height=500.0,
                     width=500.0),
            ),
            HGroup(
                #Item('shell', editor=ShellEditor(share=True),
                #show_label=False, height=120.0),
            ),
        ),
        resizable=True,
        width=800.0,
        height=660.0,
        title="reason v2 [prototype]")

    def _open_parameterfile_fired(self):
        print "OPENING"

    def _parameter_file_collections_default(self):
        return ParameterFileCollectionList()
Esempio n. 22
0
class DomainModel(HasTraits):
    nodes = List(Instance(DomainNode))
    edges = List(Instance(DomainEdge))
    other_nodes = List(Instance(OtherNode))


tree_editor = TreeEditor(nodes=[
    TreeNode(node_for=[DomainModel], label="=Model"),
    TreeNode(node_for=[DomainModel],
             label="=Nodes",
             children="nodes",
             add=[DomainNode]),
    TreeNode(node_for=[DomainModel],
             label="=Edges",
             children="edges",
             add=[DomainEdge]),
    TreeNode(node_for=[DomainModel],
             label="=Other Nodes",
             children="other_nodes",
             add=[OtherNode]),
    TreeNode(node_for=[DomainNode], label="name"),
    TreeNode(node_for=[DomainEdge], label="name"),
    TreeNode(node_for=[OtherNode], label="name")
],
                         editable=False)

graph_editor = GraphEditor(canvas=GraphCanvas(
    node_children=["nodes", "other_nodes"], edge_children=["edges"]),
                           nodes=[
                               GraphNode(node_for=[DomainNode],
                                         label="name",
Esempio n. 23
0
class PlotOMatic(HasTraits):
    io_driver_list = Instance(IODriverList)
    variables = Instance(Variables)
    viewers = Instance(Viewers)
    selected_viewer = Instance(Viewer)

    handler = PlotOMaticHandler()

    viewer_node = TreeNode(node_for=[Viewer],
                           auto_open=True,
                           label='name',
                           menu=Menu(handler.remove_viewer_action),
                           icon_path='icons/',
                           icon_item='plot.png')

    tree_editor = TreeEditor(nodes=[
        TreeNode(
            node_for=[IODriverList],
            auto_open=True,
            children='io_drivers',
            label='=Input Drivers',
            menu=Menu(handler.refresh_tree_action,
                      handler.add_io_driver_actions_menu),
            view=View(),
        ),
        TreeNode(node_for=[IODriver],
                 auto_open=True,
                 children='_decoders',
                 label='name',
                 add=[DataDecoder],
                 menu=Menu(handler.remove_io_driver_action,
                           handler.refresh_tree_action,
                           handler.add_decoder_actions_menu),
                 icon_path='icons/',
                 icon_open='input.png',
                 icon_group='input.png'),
        TreeNode(node_for=[DataDecoder],
                 auto_open=True,
                 children='',
                 label='name',
                 menu=Menu(handler.refresh_tree_action,
                           handler.remove_decoder_action),
                 icon_path='icons/',
                 icon_item='decoder.png'),
        TreeNode(node_for=[IODriverList],
                 auto_open=True,
                 children='viewers',
                 label='=Viewers',
                 menu=Menu(handler.refresh_tree_action,
                           handler.add_viewer_actions_menu),
                 view=View()), viewer_node
    ],
                             hide_root=True,
                             orientation='vertical')

    view = View(HSplit(
        Item(name='io_driver_list',
             editor=tree_editor,
             resizable=True,
             show_label=False,
             width=.32),
        VSplit(
            Item(name='selected_viewer',
                 style='custom',
                 resizable=True,
                 show_label=False,
                 editor=InstanceEditor(view='view')),
            Item(name='variables', show_label=False, style='custom',
                 height=.3))),
                menubar=MenuBar(handler.file_menu, handler.data_menu),
                title='Plot-o-matic',
                resizable=True,
                width=1000,
                height=600,
                handler=PlotOMaticHandler())

    def __init__(self, **kwargs):
        HasTraits.__init__(self, **kwargs)
        self.viewer_node.on_select = self.click_viewer

    def click_viewer(self, viewer):
        self.selected_viewer = viewer
        self.viewers.select_viewer(viewer)

    def start(self):
        self.io_driver_list.start_all()
        self.viewers.start()

    def stop(self):
        self.viewers.stop()
        self.io_driver_list.stop_all()

    def get_config(self):
        config = {}
        config['io_drivers'] = self.io_driver_list.get_config()
        config['viewers'] = self.viewers.get_config()
        return config

    def set_config(self, config):
        if 'io_drivers' in config:
            self.io_driver_list.set_config(config['io_drivers'])
        if 'viewers' in config:
            self.viewers.set_config(config['viewers'])
        self.variables.clear()
Esempio n. 24
0
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('enthought.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
Esempio n. 25
0
tree_editor = TreeEditor(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(VSplit(HGroup('3', 'name'),
                              HGroup('9', 'title'),
                              HGroup('phone'),
                              id='vsplit'),
                       id='enthought.traits.ui.test.tree_editor_test.employee',
                       dock='vertical'))
])