Example #1
0
    def traits_view(self):
        grps = []
        for at, name in (
            ('blank_unknowns', 'Blank Unknowns'),
            ('airs', 'Airs'),
        ):
            grp = VGroup(Item('{}_enabled'.format(at), label='Enabled'),
                         Item('{}_table_enabled'.format(at), label='Table'),
                         UItem('{}_series_options_controller'.format(at),
                               style='custom',
                               enabled_when='{}_enabled'.format(at),
                               editor=InstanceEditor(view=view(name))),
                         label=name)
            grps.append(grp)

        sog = UItem('cocktails_series_options_controller',
                    style='custom',
                    enabled_when='cocktails_enabled',
                    editor=InstanceEditor(view=view(name)),
                    label='Series')
        iog = UItem('cocktails_ideogram_options_controller',
                    style='custom',
                    enabled_when='cocktails_enabled',
                    editor=InstanceEditor(view=view(name)),
                    label='Ideogram')

        cocktail_grp = VGroup(Item('cocktails_enabled', label='Enabled'),
                              Item('cocktails_table_enabled', label='Table'),
                              Tabbed(sog, iog),
                              label='Cocktails')

        grps.append(cocktail_grp)

        sog = UItem('unknowns_series_options_controller',
                    style='custom',
                    enabled_when='unknowns_enabled',
                    editor=InstanceEditor(view=view(name)),
                    label='Series')
        iog = UItem('unknowns_ideogram_options_controller',
                    style='custom',
                    enabled_when='unknowns_enabled',
                    editor=InstanceEditor(view=view(name)),
                    label='Ideogram')

        unk_grp = VGroup(Item('unknowns_enabled', label='Enabled'),
                         Item('unknowns_table_enabled', label='Table'),
                         Tabbed(sog, iog),
                         label='Unknowns')

        grps.append(unk_grp)

        layout_grp = self._get_layout_group()
        grps.append(layout_grp)

        v = okcancel_view(Tabbed(*grps), title='Configure Report')
        return v
Example #2
0
    def traits_view(self):
        required_grp = VGroup(Item('sample_type', label='Sample Type'),
                              Item('name', label='Name'),
                              Item('material', label='Material'),
                              label='Required', show_border=True)

        collection_grp = VGroup(Item('collector', label='Collection'),
                                Item('collection_method', label='Collection Method'),
                                HGroup(Item('_collection_start_date', label='Collection Start Date'),
                                       UItem('_collection_start_time'),
                                       UItem('timezone')),
                                label='Collection')
        location_grp = VGroup(Item('latitude', label='Latitude', tooltip=LAT_TT),
                              Item('longitude', label='Longitude', tooltip=LONG_TT),
                              Item('elevation', label='Elevation', tooltip=ELEVATION_TT),
                              Item('primary_location_name', label='Primary Location Name'),
                              Item('country', label='Country'),
                              Item('province', label='State/Province'),
                              Item('county', label='County'),
                              label='Location')

        age_grp = VGroup(Item('age_min', label='Age Min'),
                         Item('age_max', label='Age Max'),
                         Item('age_unit', label='Age Units'),
                         label='Age')

        optional_grp = VGroup(VGroup(UItem('description', style='custom', height=-100),
                                     label='Description', show_border=True),
                              Item('original_archive', label='Original Archive'),
                              Tabbed(collection_grp, location_grp, age_grp),
                              show_border=True, label='Optional')

        classification_grp = VGroup(Item('rock_type', label='Rock Type'),
                                    Item('sub_rock_type',
                                         enabled_when='sub_rock_types',
                                         editor=EnumEditor(name='sub_rock_types'),
                                         label='Sub Rock Type'),
                                    Item('rock_type_detail',
                                         enabled_when='rock_type_details',
                                         label='Rock Type Detail',
                                         editor=EnumEditor(name='rock_type_details')),
                                    show_border=True, label='Classification')

        v = View(Tabbed(VGroup(Item('user_code', label='SESAR User Code', style='readonly'),
                               required_grp, classification_grp, optional_grp,
                               label='New Sample'),
                        VGroup(UItem('xml_content',
                                     style='custom',
                                     editor=TextEditor(read_only=True)), label='XML')),
                 title='New IGSN',
                 resizable=True,
                 buttons=['OK', 'Cancel'])
        return v
Example #3
0
class App(ModelView):
    """Main application class."""

    #: The main model, the root of the hierarchy.
    model = Instance(nodes.Ontology)

    #: The associated view.
    selected_cuds = Instance(nodes.CUDSItem)
    selected_cuba = Instance(nodes.CUBADataType)

    #: Presenter for the selected CUDSItem
    selected_cuds_model_view = Instance(CUDSItemModelView)
    selected_cuba_model_view = Instance(CUBADataTypeModelView)

    #: The view
    traits_view = View(
        Tabbed(
            HGroup(
                Item(
                    'object.model.root_cuds_item',
                    editor=cuds_editor,
                    resizable=True,
                    show_label=False,
                ),
                UItem("selected_cuds_model_view"),
                label="CUDS Items"
            ),
            HGroup(
                Item(
                    'model',
                    editor=cuba_editor,
                    resizable=True,
                    show_label=False,
                ),
                UItem("selected_cuba_model_view"),
                label="CUBA Data Types",
            )
        ),
        title='Simphony Metadata',
        resizable=True,
        style='custom',
        width=1.0,
        height=1.0
    )

    @on_trait_change("selected_cuds")
    def _update_selected_cuds_model_view(self, value):
        """
        Syncs the selected_cuds_model_view with the newly selected
        selected_cuds
        """
        self.selected_cuds_model_view = CUDSItemModelView(model=value)

    @on_trait_change("selected_cuba")
    def _update_selected_cuba_model_view(self, value):
        """
        Syncs the selected_cuba_model_view with the newly selected
        selected_cuba
        """
        self.selected_cuba_model_view = CUBADataTypeModelView(model=value)
Example #4
0
 def maker_view(self):
     v = View(HGroup(
         self.maker_group(),
         Tabbed(UItem('graph', style='custom'),
                UItem('amplitude_graph', style='custom'))),
              resizable=True)
     return v
Example #5
0
class ListTraitTest(HasStrictTraits):

    # Trait definitions:
    people = List(Instance(Person, ()))

    # Traits view definitions:
    traits_view = View(
        Tabbed(
            Item('people', label='Table', id='table', editor=table_editor),
            Item(
                'people',
                label='List',
                id='list',
                style='custom',
                editor=ListEditor(style='custom', rows=5),
            ),
            Item(
                'people',
                label='Notebook',
                id='notebook',
                style='custom',
                editor=ListEditor(
                    use_notebook=True,
                    deletable=True,
                    export='DockShellWindow',
                    page_name='.name',
                ),
            ),
            id='splitter',
            show_labels=False,
        ),
        id='traitsui.demo.Traits UI Demo.Advanced.List_editors_demo',
        dock='horizontal',
        width=600,
    )
Example #6
0
    def default_traits_view(self):
        if self.standalone:
            std_buttons = OKCancelButtons
        else:
            std_buttons = [CancelButton]

        view = KromView(
            VGroup(
                make_window_title_group(title="User Preferences",
                                        include_blank_spaces=False),
                Item("instructions", style="readonly", resizable=True,
                     show_label=False),
                Tabbed(
                    Item("ui_prefs_view", editor=InstanceEditor(),
                         style="custom", label="Interface", show_label=False),
                    Item("file_pref_view", editor=InstanceEditor(),
                         style="custom", label="File loading",
                         show_label=False),
                    Item("app_pref_view", editor=InstanceEditor(),
                         style="custom",
                         # even though the group's label is not shown in the
                         # UI, it needs to be set to set the tab name:
                         label="Application", show_label=False),
                    Item("solver_prefs_view",
                         editor=InstanceEditor(), style="custom",
                         label="Solver", show_label=False),
                ),
            ),
            buttons=[save_button, factory_reset_button] + std_buttons,
            handler=RevealChromatographyPreferenceViewHandler(),
            default_button=save_button,
            width=700,
            title="Edit Reveal Chromatography Preferences",
        )
        return view
Example #7
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
Example #8
0
    def traits_view(self):
        main_grp = VGroup(HGroup(Item('bind_fontsizes'),
                                 Item('global_fontsize', enabled_when='bind_fontsizes')),
                          Item('main_extraction_fontsize', enabled_when='not bind_fontsizes'),
                          Item('main_measurement_fontsize', enabled_when='not bind_fontsizes'),
                          Item('main_computed_fontsize', enabled_when='not bind_fontsizes'))

        main_view = VGroup(main_grp,
                           UItem('isotope_table_configurer', style='custom'),
                           HGroup(Item('show_intermediate', label='Show Intermediate Table')),
                           UItem('intermediate_table_configurer', style='custom', enabled_when='show_intermediate'),
                           label='Main')

        experiment_view = VGroup(Item('experiment_fontsize', label='Size'),
                                 show_border=True,
                                 label='Experiment')
        measurement_view = VGroup(Item('measurement_fontsize', label='Size'),
                                  show_border=True,
                                  label='Measurement')
        extraction_view = VGroup(Item('extraction_fontsize', label='Size'),
                                 show_border=True,
                                 label='Extraction')
        v = View(Tabbed(main_view,
                        VGroup(experiment_view,
                               measurement_view,
                               extraction_view, label='Scripts')),

                 buttons=['OK', 'Cancel', 'Revert'],
                 kind='livemodal',
                 title='Configure Table',
                 handler=TableConfigurerHandler,
                 resizable=True,
                 width=300)
        return v
Example #9
0
 def default_traits_view(self):
     v = View(VGroup(
         Item('headstage_flavor', label='HS Type'),
         Item('file_dir', label='Data directory'),
         Tabbed(
             UItem('working_files',
                   editor=SetEditor(name='_available_hdf5_files',
                                    left_column_title='Available files',
                                    right_column_title='Files to process',
                                    ordered=True)),
             UItem('filters', style='custom')),
         HGroup(
             VGroup(
                 HGroup(UItem('batch_proc'), UItem('join')),
                 HGroup(UItem('batch_with_handoff'),
                        Label('Filter with level matching')),
             ), spring, Item('file_suffix', label='File suffix'), spring,
             Item('file_size',
                  label='Estimated file size',
                  style='readonly')),
         HGroup(UItem('downsample'),
                Item('ds_rate', label='Downsample factor'),
                Item('set_Fs', label='Fs for set', style='readonly')),
     ),
              handler=FilesHandler,
              title='Batch processing tool',
              resizable=True)
     return v
Example #10
0
 def default_traits_view(self):
     view = View(
         VGroup(
             Item('model.name'),
             Item('model.description',
                  editor=TextEditor(auto_set=True, enter_set=True),
                  style="custom"),
             Tabbed(VGroup(Item('transport_model_view',
                                editor=InstanceEditor(),
                                style="custom",
                                show_label=False),
                           label="Transport Model"),
                    VGroup(Item('binding_model_view',
                                editor=InstanceEditor(),
                                style="custom",
                                show_label=False),
                           label="Binding Model"),
                    springy=True),
             HGroup(
                 Item('model.run_status', style="readonly"),
                 Spring(),
                 Item('show_advanced_parameters', show_label=False),
             ),
         ),
         resizable=True,
     )
     return view
class ExtensionPointRefs(ObjectAdapter):

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

    # The name of the module containing the Extension Point instances:
    module_name = Str

    # The list of extension points derived from this ExtensionPoint class:
    refs = List

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

    view = View(Tabbed(VGroup(VGroup(Item('module_name~'),
                                     label='Description',
                                     show_border=True),
                              VGroup(Item('file_name~'),
                                     label='Implementation',
                                     show_border=True),
                              label='Definition',
                              dock='tab'),
                       VGroup(Item('file_name~'),
                              VGroup(Item('source~', show_label=False)),
                              label='Source Code',
                              dock='tab'),
                       id='tabbed'),
                id='etsdevtools.developer.tools.envisage_browser.'
                'application_adapter.ExtensionPointRefs',
                title='Extension Point Definition',
                resizable=True,
                buttons=NoButtons)
Example #12
0
    def maker_group(self):
        para_grp = Group(self.get_parameter_group(),
                         show_border=True,
                         label='Parameters')
        pattern_grp = VGroup(HGroup(
            Item('disable_at_end',
                 label='Disable at End',
                 tooltip='Disable Laser at end of patterning'),
            Item('niterations', label='N. Iterations')),
                             HGroup(
                                 Item('velocity'),
                                 Item('calculated_transit_time',
                                      label='Time (s)',
                                      style='readonly',
                                      format_str='%0.1f')),
                             label='XY Pattern',
                             show_border=True)

        display_grp = Group(Item('target_radius'),
                            Item('show_overlap'),
                            Item('beam_radius', enabled_when='show_overlap'),
                            show_border=True,
                            label='Display')

        z_grp = self._get_amplitude_group('z', 'Z')
        power_grp = self._get_amplitude_group('power', 'Power')

        return Tabbed(
            VGroup(Item('xy_pattern_enabled'),
                   para_grp,
                   pattern_grp,
                   display_grp,
                   label='Pattern'), z_grp, power_grp)
Example #13
0
 def traits_view(self):
     view = self.view_klass(
         HSplit(
             VGroup(
                 Tabbed(
                     Item("_scrollable_column_names",
                          style="custom",
                          editor=InstanceEditor(),
                          show_label=False,
                          label="Column Names"),
                     *self._included_col_scroll_list),
                 HGroup(Item('click_type', style='custom',
                             show_label=False),
                        Spring(),
                        label="When clicking a button...",
                        show_border=True)),
             VGroup(Item("expr",
                         style="custom",
                         show_label=False,
                         width=450),
                    show_border=True)),
         resizable=True,
         buttons=OKCancelButtons,
         title="Edit the filter...",
         statusbar=StatusItem(name="status_bar_message"),
     )
     return view
Example #14
0
 def _groups(self):
     igrp = Group(self._items_grp(), label='Commits')
     tgrp = VGroup(UItem('tags',
                         editor=TabularEditor(adapter=TagAdapter(),
                                              editable=False,
                                              selected='selected')),
                   label='Tags')
     return [self._info_grp(), Tabbed(tgrp, igrp)]
Example #15
0
 def default_traits_view(self):
     view = View(
         VGroup(
             Tabbed(
                 UItem('foo', style='readonly'),
                 UItem('bar', style='readonly'),
                 UItem('baz', style='readonly'),
             ), UItem('advance')))
     return view
class ExtensionPointFileRefs(ObjectAdapter):

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

    # The name of the extension point class:
    name = Str

    # The dictionary of ( file_name, extension points list ) pairs of all
    # extensions derived from this ExtensionPoint class:
    refs = Dict

    # List of ExtensionPointRefs derived from 'refs':
    file_refs = Property(List)

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

    view = View(Tabbed(VGroup(VGroup(Item('name~', label='Class Name'),
                                     label='Description',
                                     show_border=True),
                              VGroup(Item('file_name~'),
                                     label='Implementation',
                                     show_border=True),
                              label='Definition',
                              dock='tab'),
                       VGroup(Item('file_name~'),
                              VGroup(Item('source~', show_label=False)),
                              label='Source Code',
                              dock='tab'),
                       id='tabbed'),
                id='etsdevtools.developer.tools.envisage_browser.'
                'application_adapter.ExtensionPointFileRefs',
                title='Extension Point in File Definition',
                resizable=True,
                buttons=NoButtons)

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

    def _get_file_refs(self):
        if self._file_refs is None:
            application = self.application
            refs = [
                ExtensionPointRefs(module_name=module_name,
                                   refs=refs[0],
                                   file_name=refs[1],
                                   application=application)
                for module_name, refs in self.refs.items()
            ]
            refs.sort(lambda l, r: cmp(l.module_name, r.module_name))
            self._file_refs = refs

        return self._file_refs
Example #17
0
class _time_windows_creation_view(HasTraits):
    starting_list = List(Int)
    t_width = List(Int(50))

    trait_view = View(Tabbed(Item('starting_list',
                                  height=150,
                                  width=80),
                             Item('t_width',
                                  label='Win width in samples',
                                  height=150,
                                  width=80)))
Example #18
0
 def traits_view(self):
     ideogram_grp = VGroup(UItem('ideogram_graph',
                                 visible_when='ideogram_visible',
                                 editor=ComponentEditor()),
                           label='Ideogram')
     stats_grp = VGroup(
         UItem('analysis_groups',
               editor=TabularEditor(adapter=AnalysisGroupAdapter())),
         label='Stats')
     v = View(Tabbed(stats_grp, ideogram_grp))
     return v
Example #19
0
 def _get_view_elements(self):
     elemens = [
         Tabbed(
             VGroup(
                 VGroup(
                     Item('title_style',
                          editor=InstanceEditor(),
                          style="custom",
                          show_label=False),
                     show_border=True,
                     label="Title style",
                 ),
                 VGroup(*self.specific_view_elements,
                        show_border=True,
                        label=SPECIFIC_CONFIG_CONTROL_LABEL,
                        visible_when="len(specific_view_elements) > 0"),
                 show_border=True,
                 label="General controls",
             ),
             VGroup(VGroup(Item("x_axis_style",
                                editor=InstanceEditor(),
                                style="custom",
                                show_label=False),
                           show_border=True,
                           label="X-axis controls"),
                    VGroup(Item("y_axis_style",
                                editor=InstanceEditor(),
                                style="custom",
                                show_label=False),
                           show_border=True,
                           label="Y-axis controls"),
                    VGroup(Item("second_y_axis_style",
                                editor=InstanceEditor(),
                                style="custom",
                                show_label=False),
                           show_border=True,
                           label="Secondary Y-axis controls",
                           visible_when="_second_y_axis_present"),
                    show_border=True,
                    label="Axis controls"),
             VGroup(Item("renderer_style_manager",
                         editor=InstanceEditor(),
                         style="custom",
                         show_label=False),
                    show_border=True,
                    label="Renderer controls"),
             VGroup(Item("container_style",
                         editor=InstanceEditor(),
                         style="custom",
                         show_label=False),
                    show_border=True,
                    label="Container controls"))
     ]
     return elemens
Example #20
0
    def traits_view(self):
        path_group = self._get_path_group()

        options_group = VGroup(UItem(
            'pdf_options',
            style='custom',
            editor=InstanceEditor(view=PDFLayoutView)),
                               label='Layout')

        v = okcancel_view(Tabbed(path_group, options_group),
                          title='Save PDF Dialog',
                          width=700)
        return v
Example #21
0
    def traits_view(self):
        path_group = self._get_path_group()

        options_group = VGroup(UItem('pdf_options',
                                     style='custom',
                                     editor=InstanceEditor(view=PDFLayoutView)),
                               label='Layout')

        v = View(Tabbed(path_group, options_group),
                 buttons=['OK', 'Cancel'],
                 title='Save PDF Dialog',
                 width=700,
                 kind='livemodal')
        return v
Example #22
0
 def traits_view(self):
     path_grp = self._get_path_group(show_border=True)
     view_grp = VGroup(Item('show_grid'),
                       Item('show_outline'),
                       show_border=True,
                       label='Appearance')
     opt_grp = VGroup(view_grp,
                      Item('include_weighted_mean'),
                      label='Options')
     v = okcancel_view(Tabbed(
         VGroup(UItem('extension', label='Output Mode'), path_grp),
         opt_grp),
                       title='Save Interpreted Age Table')
     return v
Example #23
0
    def _get_edit_view(self):
        main = VGroup(HGroup(
            Item('name', editor=EnumEditor(name='names')),
            Item('fit', editor=EnumEditor(values=FIT_TYPES)),
            UItem('error_type', editor=EnumEditor(values=FIT_ERROR_TYPES))),
                      label='Fits')

        goodness = VGroup(
            Item('goodness_threshold',
                 label='Intercept',
                 tooltip='If % error is greater than "Goodness Threshold" '
                 'mark regression as "Bad"'),
            HGroup(
                Item(
                    'slope_goodness',
                    label='Slope',
                    tooltip='If slope of regression is positive and the isotope '
                    'intensity is greater than "Slope Goodness Intensity" '
                    'then mark regression as "Bad"'),
                Item('slope_goodness_intensity', label='Intensity')),
            Item(
                'outlier_goodness',
                label='Outlier',
                tooltip=
                'If more than "Outlier Goodness" points are identified as outliers'
                'then mark regression as "Bad"'),
            HGroup(Item('curvature_goodness', label='Curvature'),
                   Item('curvature_goodness_at', label='Curvature At')),
            HGroup(Item('rsquared_goodness', label='R-Squared Adj')),
            HGroup(
                Item(
                    'signal_to_blank_goodness',
                    tooltip=
                    'If Blank/Signal*100 greater than threshold mark regression as "Bad"'
                )),
            label='Goodness')

        auto = VGroup(VGroup(Item('n_threshold', label='Threshold'),
                             Item('n_true',
                                  label='N>=',
                                  tooltip='Fit when ncounts > Threshold'),
                             Item('n_false',
                                  label='N<',
                                  tooltip='Fit when ncounts < Threshold'),
                             label='N'),
                      label='Auto',
                      enabled_when='fit=="Auto"')
        v = View(Tabbed(main, goodness, auto))
        return v
Example #24
0
class TabbedPlots(HasTraits):

    data = Instance(AbstractPlotData)

    plot_sin = Instance(Plot)
    plot_tan = Instance(Plot)
    plot_mixed = Instance(Plot)

    view = View(
        VGroup(
            # UItem is an unlabeled item
            UItem('plot_sin', editor=ComponentEditor(), dock='tab'),
            Tabbed(UItem('plot_tan', editor=ComponentEditor(), dock='tab'),
                   UItem('plot_mixed', editor=ComponentEditor(), dock='tab'))),
        title='Tabbed plots with shared data ranges',
        width=0.67,
        height=0.4,
        resizable=True)

    def create_plot(self, data, name, color):
        p = Plot(self.data)
        p.plot(data, name=name, color=color)
        p.tools.append(PanTool(p))
        p.overlays.append(ZoomTool(p))
        return p

    def create_plots(self):
        self.plot_sin = self.create_plot(("x", "ysin"), "sin plot", "red")
        self.plot_tan = self.create_plot(("x", "ytan"), "tan plot", "blue")
        self.plot_mixed = self.create_plot(("x", "ymix"), "mixed plot",
                                           "green")

        # The mixed plot will share both x and y ranges with the sin plot.
        # This 2d range is a single object shared by both plots. For its
        # initial value, we will use the range of the mixed plot, whose y-range
        # is auto-set to slightly larger than that of the sin plot.
        self.plot_sin.range2d = self.plot_mixed.range2d

        # The sin & mixed plots will share only their x range with the tan plot.
        # Again, this x-axis range is a single object shared by all 3 plots.
        # It is contained within the 2d range shared by the sin and mixed plots.
        # (The independent variable, in this case x, is called "index" in chaco.
        # The dependent variable is called "value".)
        self.plot_tan.index_range = self.plot_sin.index_range

    def _data_changed(self):
        self.create_plots()
Example #25
0
    def traits_view(self):
        all_sim_names = [sim.name for sim in self.target_study.simulations]
        start_point_sim_editor = EnumEditor(values=all_sim_names)

        possible_cp = self.target_study.simulations[0]
        view = KromView(
            Label("Select an optimizer type and a (set of) experiment(s) to "
                  "optimize against. \nUpdate the list of product components "
                  "if only certain peaks should be compared."),
            HGroup(Item("optimizer_name"), Spring(), Item('optimizer_type'),
                   Spring(), Item("cost_function_name",
                                  label="Cost function")),
            HGroup(
                Item("experiment_selector",
                     editor=InstanceEditor(),
                     style="custom",
                     show_label=False),
                Item("component_selector",
                     editor=InstanceEditor(),
                     style="custom",
                     show_label=False),
            ),
            HGroup(
                Item("starting_point_simulation_name",
                     editor=start_point_sim_editor,
                     label="Starting point simulation",
                     tooltip="Simulation to build optimizer simulations from,"
                     " in addition to the target experiment."),
                Item("initial_buffer_name",
                     label="Override initial buffer with",
                     tooltip="Buffer the resin was in before the first "
                     "simulated step. Leave blank to infer from target"
                     " experiment."),
            ),
            Tabbed(*build_2step_view_items(possible_cp),
                   visible_when=OPTIM_2STEP_TYPE),
            VGroup(*build_general_optim_view_items(possible_cp),
                   visible_when=OPTIM_GRID_TYPE,
                   show_border=True,
                   label="Scanned Parameters"),
            handler=OptimizerBuilderHandler(),
            buttons=[CancelButton, CreateButton],
            default_button=CreateButton,
            title="Configure Optimizer",
            resizable=True)
        return view
Example #26
0
    def traits_view(self):
        layout_grp = self._get_layout_group()
        layout_grp.show_border = False
        width_grp = VGroup(Item('status_width', label='Status (in)'),
                           Item('position_width', label='Pos. (in)'),
                           Item('identifier_width', label='L# (in)'),
                           Item('sample_width', label='Sample (in)'),
                           Item('material_width', label='Material (in)'),
                           Item('project_width', label='Project (in)'),
                           label='Column Widths')

        main_grp = VGroup(Item('only_selected_level',
                               label='Only Selected Level'),
                          label='Main')

        v = okcancel_view(Tabbed(main_grp, layout_grp, width_grp),
                          title='PDF Save Options')
        return v
    def traits_view(self):
        layout_grp = self._get_layout_group()
        layout_grp.show_border = False
        width_grp = VGroup(Item('status_width', label='Status (in)'),
                           Item('position_width', label='Pos. (in)'),
                           Item('identifier_width', label='L# (in)'),
                           Item('sample_width', label='Sample (in)'),
                           Item('material_width', label='Material (in)'),
                           Item('project_width', label='Project (in)'),
                           label='Column Widths')

        v = View(Tabbed(layout_grp,
                        width_grp),
                 kind='livemodal',
                 buttons=['OK', 'Cancel'],
                 title='PDF Save Options',
                 resizable=True)
        return v
Example #28
0
    def default_traits_view(self):
        view = View(Tabbed(
            VGroup(Item("model.name", label="System Name"),
                   Item("model.system_number", label="System ID"),
                   Item("model.abs_path_length",
                        editor=UnitScalarEditor(),
                        label="Absorbance Detector Path Length"),
                   Item("model.holdup_volume", editor=UnitScalarEditor()),
                   label="System in use"),
            VGroup(Item("_system_type_view",
                        editor=InstanceEditor(),
                        style="custom",
                        show_label=False,
                        enabled_when="_allow_type_editing"),
                   label="System type"),
        ),
                    buttons=OKCancelButtons)

        return view
Example #29
0
class SwiftConsole(HasTraits):
    link = Instance(sbpc.Handler)
    data_view = Instance(DataView)
    baseline_view = Instance(BaselineView)
    summary_view = Instance(SummaryView)
    utils = Instance(ViewsUtils)

    view = View(
        VSplit(
            Tabbed(Item('data_view', style='custom', label=u'数据采集'),
                   Item('baseline_view', style='custom', label=u'实时'),
                   Item('summary_view', style='custom', label=u'总结'),
                   show_labels=False), ),
        icon=icon,
        dock='fixed',
        resizable=False,
        width=800,
        height=600,
        title=CONSOLE_TITLE,
    )

    def _summary_view_fired(self):
        self.summary_view.position_threshold = self.baseline_view.position_threshold
        self.summary_view.depth_threshold = self.baseline_view.depth_threshold
        self.summary_view.time_threshold = self.baseline_view.time_threshold

    def __init__(self, link):
        try:
            self.link = link
            self.data_view = DataView()
            self.baseline_view = BaselineView(self.link)
            self.summary_view = SummaryView(self.link)
            self.utils = ViewsUtils(self.data_view, self.baseline_view,
                                    self.summary_view)
            self.data_view.set_utils(self.utils)
            self.baseline_view.set_utils(self.utils)
            self.summary_view.set_utils(self.utils)
        except:
            import traceback
            traceback.print_exc()
Example #30
0
    def traits_view(self):
        # Build the view such that the SLURM stuff isn't visible if not
        # available on the machine
        elements = [
            VGroup(
                Item("object.model.solver_binary_path",
                     label="Cadet executable"),
                Item("object.model.input_file_location",
                     label="CADET input folder"),
                Item("object.model.executor_num_worker", editor=spinner_editor,
                     label="Cadet num. workers (requires restart)"),
                Item("object.model.cadet_num_threads", editor=spinner_editor,
                     label="Cadet num. threads"),
                Item('object.model.auto_delete_solver_files_on_exit'),
            )
        ]
        executable = self.model.slurm_binary
        if check_slurm_installed(executable=executable):
            elements[0].label = "General"
            elements.append(
                VGroup(
                    Item("object.model.use_slurm_scheduler",
                         tooltip="Submit solver run to SLURM scheduler"),
                    Item("object.model.slurm_binary",
                         visible_when="object.model.use_slurm_scheduler",
                         width=300, tooltip="Command to submit SLURM jobs"),
                    Item("object.model.slurm_partition",
                         visible_when="object.model.use_slurm_scheduler",
                         width=300,
                         tooltip="SLURM scheduler partition to submit jobs."),
                    Item("object.model.slurm_job_name",
                         visible_when="object.model.use_slurm_scheduler",
                         width=300, tooltip="SLURM scheduler job name."),
                    label="SLURM scheduler",
                )
            )

            elements = [Tabbed(*elements)]

        return KromView(*elements)