class _RolesView(HasTraits):
    """This represents the view used to select a role."""

    #### '_UsersView' interface ###############################################

    # The list of roles to select from.
    model = List(_Role)

    # The selected user.
    selection = Instance(_Role)

    # The editor used by the view.
    table_editor = TableEditor(
        columns=[ObjectColumn(name='name'), ObjectColumn(name='description')],
        selected='selection',
        sort_model=True,
        configurable=False)

    # The default view.
    traits_view = View(
        Item(
            'model', show_label=False, editor=table_editor),
        title="Select a Role",
        style='readonly',
        kind='modal',
        buttons=OKCancelButtons)
Ejemplo n.º 2
0
class ParticleList(HasTraits):
    
    particles = List
    
    particles_editor = TableEditor(
                columns=[
                    ObjectColumn(name='mass'),
                    ObjectColumn(name='velocity'),
                    ObjectColumn(name='momentum'),
                    ExpressionColumn(label='Rel. momentum',
                    expression="object.momentum / \
                                sqrt(1 - object.velocity**2 / c**2)",
                    globals=dict(sqrt=sqrt, c=c))
                   ]
                )
    
    view = View(
                Group(
                    Item('particles', 
                        editor=particles_editor, 
                            show_label=False
                        ),
                        label='Particles',
                        show_border=True,
                        springy=True
                    
                    
                    ),
                    width=400,
                    height=200,
                    resizable=True,
                    buttons=OKCancelButtons
                
                )
def build_method_step_table_editor(known_solution_names=None):
    """ Build a custom table editor to control a list of MethodSteps
    """
    if known_solution_names is None:
        known_solution_names = []

    editor = TableEditor(
        columns=[
            ObjectColumn(name='name', label="Step Name"),
            ObjectColumn(name='step_type', label='Step Type'),
            ObjectColumn(name='_solutions0_name', label='Solution A',
                         editor=EnumEditor(values=known_solution_names)),
            ObjectColumn(name='_solutions1_name', label='Solution B',
                         editor=EnumEditor(values=known_solution_names)),
            UnitScalarColumn(name='flow_rate', label='Flow Rate',
                             editor=UnitScalarEditor()),
            UnitScalarColumn(name='volume', label='Volume',
                             editor=UnitScalarEditor()),
        ],
        deletable=True,
        auto_size=True,
        row_factory=MethodStep,
        row_factory_kw={"name": "New Step"},
        show_toolbar=True,
        sortable=False,
    )
    return editor
Ejemplo n.º 4
0
    def traits_view(self):
        cols = [
            CheckboxColumn(name='enabled'),
            ObjectColumn(name='name', editable=False),
            ObjectColumn(name='port')
        ]

        txgrp = VGroup(UItem('_protocols', editor=TableEditor(columns=cols)),
                       enabled_when='use_twisted')

        ehs_grp = VGroup(
            Item('enable_hardware_server', label='Enabled'),
            VGroup(
                Item('use_twisted'),
                txgrp,
                # Item('enable_system_lock'),
                enabled_when='enable_hardware_server'),
            show_border=True,
            label='Pychron Proxy Server')

        sgrp = VGroup(Item('auto_find_handle'),
                      Item('auto_write_handle',
                           enabled_when='auto_find_handle'),
                      show_border=True,
                      label='Serial')
        v = View(VGroup(ehs_grp, sgrp))
        return v
Ejemplo n.º 5
0
def build_component_descr_editor(expert_mode):
    """ Build a table editor to edit a list of ComponentDescription.
    """
    columns = [ObjectColumn(name='name', style="readonly",
                            label="Component name",
                            tooltip="Name of component to build product with. "
                                    "Must exist in user data.")]
    if expert_mode:
        tooltip = ("Enter the expression to compute the component's "
                   "concentration, as a function of the total product "
                   "concentration ('product_concentration') and the component "
                   "assay names.")

        columns += [ObjectColumn(name='concentration_exps',
                                 label="Component concentration expression",
                                 tooltip=tooltip)]

    editor = TableEditor(
        columns=columns,
        editable=True,
        sortable=False,
        deletable=True,
    )

    return editor
Ejemplo n.º 6
0
def new_readout_view(rv):
    rv.start()

    from traitsui.api import UItem, VGroup, Item, HGroup, View, TableEditor, Tabbed

    from traitsui.table_column import ObjectColumn

    from pychron.processing.analyses.view.magnitude_editor import MagnitudeColumn

    cols = [
        ObjectColumn(name='name', label='Name'),
        ObjectColumn(name='value', format='%0.3f', label='Value'),
        MagnitudeColumn(name='value', label='', width=200),
    ]
    dcols = [
        ObjectColumn(name='name', label='Name', width=100),
        ObjectColumn(name='value', label='Value', width=100)
    ]

    a = HGroup(Item('refresh_period', label='Period (s)'))
    b = VGroup(UItem('readouts',
                     editor=TableEditor(columns=cols, editable=False)),
               label='General')
    c = VGroup(UItem('deflections',
                     editor=TableEditor(columns=dcols,
                                        sortable=False,
                                        editable=False)),
               label='Deflections')
    v = View(VGroup(a, Tabbed(b, c)),
             handler=ReadoutHandler(),
             title='Spectrometer Readout',
             width=500,
             resizable=True)
    return v
Ejemplo n.º 7
0
    def traits_view(self):
        vv = View(
            VGroup(Item('name'),
                   Item('project', editor=EnumEditor(name='_projects')),
                   Item('material', editor=EnumEditor(name='_materials'))))

        cols = [
            ObjectColumn(name='id', editable=False, text_font='arial 10'),
            ObjectColumn(name='name', editable=False, text_font='arial 10'),
            ObjectColumn(name='project', editable=False, text_font='arial 10'),
            ObjectColumn(name='material', editable=False, text_font='arial 10')
        ]

        a = UItem('sample')
        b = UItem('samples',
                  editor=TableEditor(columns=cols,
                                     orientation='vertical',
                                     edit_view=vv))
        v = View(VGroup(a, b),
                 kind='livemodal',
                 width=500,
                 height=400,
                 buttons=[
                     SaveAction(),
                 ],
                 title='Edit Sample',
                 resizable=True)
        return v
    def _get_fit_group(self):
        cols = [
            ObjectColumn(
                name='name',
                editable=False,
                tooltip='If name is an isotope e.g Ar40 '
                'fit is for a signal, if name is a detector e.g H1 fit is for a baseline'
            ),
            ObjectColumn(name='fit',
                         editor=EnumEditor(name='fit_types'),
                         width=75),
            ObjectColumn(name='error_type',
                         editor=EnumEditor(name='error_types'),
                         label='Error',
                         width=75),
            CheckboxColumn(name='filter_outliers', label='Out.'),
            ObjectColumn(name='filter_iterations', label='Iter.'),
            ObjectColumn(name='filter_std_devs', label='SD')
        ]

        editor = myTableEditor(
            columns=cols,
            selected='selected',
            selection_mode='rows',
            sortable=False,
            edit_on_first_click=False,
            clear_selection_on_dclicked=True,
            on_command_key=self._update_command_key,
        )
        grp = UItem('fits', style='custom', editor=editor)
        return grp
Ejemplo n.º 9
0
    def traits_view(self):
        cols = [ObjectColumn(name='name', editable=False),
                ObjectColumn(name='user', editable=False),
                CheckboxColumn(name='omit_ideo'),
                CheckboxColumn(name='omit_spec'),
                CheckboxColumn(name='omit_iso'),
                CheckboxColumn(name='omit_series')]

        editor = TableEditor(columns=cols,
                             selected='selected',
                             sortable=False, )

        v = View(UItem('tags',
                       editor=editor),
                 HGroup(
                     icon_button_editor('add_tag_button', 'add', tooltip='Add a tag'),
                     icon_button_editor('delete_tag_button', 'delete', tooltip='Delete selected tags'),
                     icon_button_editor('save_button', 'database_save',
                                        tooltip='Save changes from the "Tag" table to the database')),
                 UItem('items', editor=TabularEditor(adapter=ItemAdapter(),
                                                     multi_select=True,
                                                     operations=['delete'])),
                 HGroup(Item('use_filter', label='Remove "Invalid" analyses from figure')),

                 resizable=True,
                 width=500,
                 height=400,
                 buttons=['OK', 'Cancel'],
                 kind='livemodal',
                 title='Tags')

        return v
Ejemplo n.º 10
0
    def _table_editor(self):
        cols = [
            CheckboxColumn(name='use', label='',
                           width=30),
            ObjectColumn(name='parameter',
                         editor=EnumEditor(name='parameters'),
                         label='Param.',
                         width=125),
            ObjectColumn(name='comparator',
                         editor=EnumEditor(name='comparisons'),
                         label='',
                         width=50),
            ObjectColumn(name='criterion',
                         editor=EnumEditor(name='criteria'),
                         label='Value',
                         width=125),
            ObjectColumn(name='chain_rule',
                         label='Chain Rule')]

        editor = TableEditor(columns=cols,
                             deletable=True,
                             show_toolbar=True,
                             sortable=False,
                             selected=selector_name('selected_query'),
                             edit_view=self._query_edit_view(),
                             row_factory=self.model.database_selector.query_factory)

        return editor
Ejemplo n.º 11
0
    def traits_view(self):
        cols = [
            ObjectColumn(
                name='text',
                label='Text',
                width=0.40,
            ),
            ObjectColumn(name='data_x',
                         format='%0.1f',
                         width=0.22,
                         label='Time(s)',
                         editable=False),
            ObjectColumn(name='data_y',
                         format='%0.4f',
                         width=0.22,
                         label='Intensity',
                         editable=False),
            CheckboxColumn(name='visible', width=0.12)
        ]

        grp = VGroup(
            HGroup(icon_button_editor('start_record_button',
                                      'media-record',
                                      tooltip='Start recording',
                                      enabled_when='not _recording'),
                   icon_button_editor('stop_record_button',
                                      'media-playback-stop',
                                      tooltip='Stop recording',
                                      enabled_when='_recording'),
                   icon_button_editor('add_marker_button',
                                      'flag',
                                      enabled_when='_recording'),
                   show_border=True,
                   label='Record Scan'),
            HGroup(
                icon_button_editor('snapshot_button', 'camera'),
                show_border=True,
                label='Snapshot',
            ),
            VGroup(HGroup(
                icon_button_editor('clear_all_markers_button',
                                   'delete',
                                   tooltip='Remove all markers'),
                icon_button_editor('object.graph.add_visual_marker_button',
                                   'add'),
                Item('object.graph.marker_text', label='Text'),
                Item('object.graph.marker_tool.label_with_intensity',
                     tooltip='Label marker with isotopic intensity',
                     label='Intensity')),
                   UItem('object.graph.markers',
                         editor=TableEditor(columns=cols,
                                            selection_mode='rows',
                                            sortable=False,
                                            deletable=True)),
                   show_border=True,
                   label='Markers'))

        v = View(grp)
        return v
Ejemplo n.º 12
0
 def traits_view(self):
     cols = [ObjectColumn(name='name', editable=False),
             ObjectColumn(name='connected', editable=False)]
     v = View(UItem('connectables',
                    editor=TableEditor(editable=False,
                                       sortable=False,
                                       columns=cols)))
     return v
Ejemplo n.º 13
0
 def traits_view(self):
     cols = [
         ObjectColumn(name='isotope', editor=EnumEditor(name='isotopes')),
         ObjectColumn(name='dac')
     ]
     return View(
         UItem('object.scanner.calibration_peaks',
               editor=TableEditor(columns=cols,
                                  selected='object.scanner.selected')))
Ejemplo n.º 14
0
    def traits_view(self):
        cols = [ObjectColumn(name='name'),
                ObjectColumn(name='email'),
                CheckboxColumn(name='enabled')]

        v = View(HGroup(UItem('filter_attribute'),
                        UItem('filter_str')),
                 UItem('users', editor=TableEditor(columns=cols)))
        return v
Ejemplo n.º 15
0
    def traits_view(self):
        cols = [
            ObjectColumn(name='name', label='', editable=False),
            ObjectColumn(name='counts'),
            ObjectColumn(name='settle', label='Settle (s)'),
            ObjectColumn(name='isotopes_label',
                         editable=False,
                         width=175,
                         label='Isotopes')
        ]

        hgrp = VGroup(
            UItem('object.hop_sequence.hops',
                  editor=myTableEditor(columns=cols,
                                       clear_selection_on_dclicked=True,
                                       sortable=False,
                                       selected='selected')),
            HGroup(
                icon_button_editor('add_hop_button',
                                   'add',
                                   tooltip='Add peak hop'),
                icon_button_editor('remove_hop_button',
                                   'delete',
                                   tooltip='Delete selected peak hop',
                                   enabled_when='selected')))
        sgrp = UItem('selected', style='custom', editor=InstanceEditor())

        grp = HSplit(hgrp, sgrp)
        save_action = Action(name='Save',
                             image=icon('document-save'),
                             enabled_when='object.saveable',
                             action='save')
        save_as_acion = Action(
            name='Save As',
            image=icon('document-save-as'),
            action='save_as',
            enabled_when='object.saveasable',
        )

        teditor = myTextEditor(bgcolor='#F7F6D0',
                               fontsize=12,
                               fontsize_name='fontsize',
                               wrap=False,
                               tab_width=15)

        v = View(
            VGroup(
                VGroup(grp, label='Editor'),
                VGroup(UItem('object.text', editor=teditor, style='custom'),
                       label='Text')),
            # toolbar=ToolBar(),
            width=690,
            title=self.title,
            buttons=['OK', save_action, save_as_acion],
            resizable=True)
        return v
Ejemplo n.º 16
0
 def traits_view(self):
     cols = [ColorColumn(cell_color_name='color', label='Color'),
             ObjectColumn(name='name', width=175),
             ObjectColumn(name='intensity', width=100),
             ObjectColumn(name='std', label=u'\u00b11\u03c3', width=100)]
     g = UItem('detectors', editor=TableEditor(columns=cols,
                                               sortable=False,
                                               editable=False))
     v = View(g)
     return v
Ejemplo n.º 17
0
    def traits_view(self):
        cols = [
            CheckboxColumn(name='enabled'),
            ObjectColumn(name='name'),
            ObjectColumn(name='email', label='Address')
        ]

        v = okcancel_view(UItem('addresses', editor=TableEditor(columns=cols)),
                          title='Configure Email')
        return v
Ejemplo n.º 18
0
 def traits_view(self):
     cols = [ObjectColumn(name='name', label='Name', editable=False),
             CheckboxColumn(name='visible', label='Visible'),
             ObjectColumn(name='alpha', label='Opacity', width=200),
             ObjectColumn(name='dirname', label='Directory', editable=False)
             ]
     v = View(UItem('overlays', editor=TableEditor(columns=cols,
                                                   sortable=False
                                                   )))
     return v
Ejemplo n.º 19
0
class TableTest ( HasStrictTraits ):

    #---------------------------------------------------------------------------
    #  Trait definitions:
    #---------------------------------------------------------------------------

    #people = Instance( Person )
    people = List( Person )

    #---------------------------------------------------------------------------
    #  Traits view definitions:
    #---------------------------------------------------------------------------

    _valid_states = List(["AL", "AR", "AZ", "AK"])

    _state_editor = EnumEditor(
        name     = "_valid_states",
        evaluate = evaluate_value,
        object   = 'table_editor_object'
    )


    table_editor = TableEditor(
        columns            = [ ObjectColumn( name = 'name' ),
                               ObjectColumn( name = 'age' ),
                               ObjectColumn( name = 'phone' ),
                               ObjectColumn( name = 'state',
                                             editor=_state_editor), ],
        editable           = True,
        deletable          = True,
        sortable           = True,
        sort_model         = True,
        show_lines         = True,
        orientation        = 'vertical',
        show_column_labels = True,
        edit_view          = View( [ 'name', 'age', 'phone', 'state', '|[]' ],
                                   resizable = True ),
        filter             = None,
        filters            = filters,
        row_factory        = Person
    )


    traits_view = View(
        [ Item( 'people',
                id     = 'people',
                editor = table_editor ),
          '|[]<>' ],
        title     = 'Table Editor Test',
        id        = 'traitsui.tests.table_editor_test',
        dock      = 'horizontal',
        width     = .4,
        height    = .3,
        resizable = True,
        kind      = 'live' )
Ejemplo n.º 20
0
 def _blanks_group(self):
     cols = [
         ObjectColumn(name='name', editable=False),
         ObjectColumn(name='nominal_value', width=75, label='Value'),
         ObjectColumn(name='std_dev', width=75, label='Error'),
         CheckboxColumn(name='use', label='Save')
     ]
     grp = VGroup(UItem('blanks',
                        editor=TableEditor(columns=cols, sortable=False)),
                  label='Blanks')
     return grp
Ejemplo n.º 21
0
    def traits_view(self):
        columns = [
            ObjectColumn(name='name', editable=False, label='Name', width=150),
            ObjectColumn(name='value', label='Value', width=100)
        ]
        editor = TableEditor(columns=columns, sortable=False)
        v = View(UItem('parameters', style='custom', editor=editor),
                 resizable=True,
                 width=300,
                 title='Spectrometer Settings')

        return v
Ejemplo n.º 22
0
    def traits_view(self):
        cols = [CheckboxColumn(name='enabled'),
                ObjectColumn(name='name'),
                ObjectColumn(name='old_deflection'),
                ObjectColumn(name='new_deflection')]

        v = View(UItem('results', editor=TableEditor(columns=cols,
                                                     sortable=False)),
                 title='Deflection Results',
                 buttons=['OK', 'Cancel'],
                 kind='livemodal')
        return v
Ejemplo n.º 23
0
 def traits_view(self):
     cols = [
         ObjectColumn(name='numerator', editor=EnumEditor(name='isotopes')),
         ObjectColumn(name='denominator',
                      editor=EnumEditor(name='isotopes'))
     ]
     v = View(
         BorderVGroup(UItem('ratios',
                            editor=TableEditor(sortable=False,
                                               columns=cols)),
                      label='Cocktail Options'))
     return v
Ejemplo n.º 24
0
    def traits_view(self):
        cols = [
            ObjectColumn(name='name', editable=False, width=100),
            ObjectColumn(name='email', editable=False, width=200),
            CheckboxColumn(name='enabled')
        ]

        v = View(UItem('items', editor=TableEditor(columns=cols)),
                 title='Select Users to Email',
                 handler=EmailSelectionViewHandler(),
                 buttons=['OK', 'Cancel'],
                 resizable=True)
        return v
Ejemplo n.º 25
0
 def _get_table_columns(self):
     if self.iscoolinghistory:
         return [ObjectColumn(name='runid', editable=False),
                 CheckboxColumn(name='inner', label='Inner'),
                 CheckboxColumn(name='outer', label='Outer'),
                 ]
     else:
         cols = [ObjectColumn(name='runid', editable=False),
             CheckboxColumn(name='show_sample', label='Sample'),
             CheckboxColumn(name='show_model', label='Model')]
         if self.isspectrum:
             cols.append(CheckboxColumn(name='show_inverse_model', label='Inv. Model'))
         return cols
Ejemplo n.º 26
0
    def traits_view(self):
        cols = [
            CheckboxColumn(name='enabled'),
            ObjectColumn(name='name'),
            ObjectColumn(name='old_deflection'),
            ObjectColumn(name='new_deflection')
        ]

        v = okcancel_view(UItem('results',
                                editor=TableEditor(columns=cols,
                                                   sortable=False)),
                          title='Deflection Results')
        return v
Ejemplo n.º 27
0
 def traits_view(self):
     cols = [
         ObjectColumn(name='binding', editor=KeyBindingEditor()),
         ObjectColumn(name='description', editable=False, width=400)
     ]
     v = View(UItem('bindings', editor=TableEditor(columns=cols)),
              width=500,
              height=600,
              title='Edit Key Bindings',
              kind='livemodal',
              buttons=['OK', 'Cancel'],
              resizable=True)
     return v
Ejemplo n.º 28
0
    def traits_view(self):
        cols = [
            ObjectColumn(name='name', editable=False),
            ObjectColumn(name='x'),
            ObjectColumn(name='y')
        ]

        v = View(
            UItem('items',
                  editor=TableEditor(columns=cols,
                                     selected='selected',
                                     selection_mode='rows')), )
        return v
Ejemplo n.º 29
0
    def _get_columns(self):
        cols = [
            ObjectColumn(name='name', editable=False),
            CheckboxColumn(name='show'),
            ObjectColumn(name='fit',
                         editor=EnumEditor(name='fit_types'),
                         width=150),
            ObjectColumn(name='error_type',
                         editor=EnumEditor(name='error_types'),
                         width=50),
            CheckboxColumn(name='use', label='Save DB')
        ]

        return cols
Ejemplo n.º 30
0
    def traits_view(self):

        # self.model.load_mftable(True)

        cols = [ObjectColumn(name='isotope', editable=False)]

        for di in self.model._detectors:
            cols.append(ObjectColumn(name=di, format='%0.5f', label=di))

        v = okcancel_view(UItem('items',
                                editor=TableEditor(columns=cols,
                                                   sortable=False)),
                          title='Edit Magnet Field Table')
        return v