Esempio n. 1
0
 def traits_view(self):
     v = View(VSplit(
         UItem('blank_changes',
               editor=TabularEditor(adapter=BlankHistoryAdapter(),
                                    selected='blank_selected',
                                    refresh='refresh_needed',
                                    multi_select=True,
                                    editable=False)),
         HGroup(
             UItem('object.blank_selected_.isotopes',
                   editor=TabularEditor(
                       adapter=IsotopeBlankAdapter(),
                       refresh='refresh_needed',
                       selected='object.blank_selected_.selected',
                       editable=False)),
             UItem('object.blank_selected_.selected.analyses',
                   editor=TabularEditor(adapter=AnalysesAdapter(),
                                        refresh='refresh_needed',
                                        editable=False))),
         label='Blanks'),
              VSplit(UItem('fit_changes',
                           editor=TabularEditor(adapter=FitHistoryAdapter(),
                                                selected='fit_selected',
                                                editable=False)),
                     UItem('object.fit_selected.fits',
                           editor=TabularEditor(adapter=FitAdapter(),
                                                editable=False)),
                     label='Iso. Fits'),
              handler=HistoryHandler())
     return v
Esempio n. 2
0
    def traits_view(self):
        editor = TabularEditor(adapter=self.tabular_adapter,
                               editable=False,
                               stretch_last_section=False)

        l_grp = VGroup(
            VGroup(
                Item('lhs_ms',
                     width=200,
                     editor=EnumEditor(name='lhs_available_ms')),
                Item('lhs_runid',
                     width=200,
                     editor=EnumEditor(name='lhs_runids'))),
            UItem('lhs_items', editor=editor))

        r_grp = VGroup(
            VGroup(
                Item('rhs_ms',
                     width=200,
                     editor=EnumEditor(name='rhs_available_ms')),
                Item('rhs_runid',
                     width=200,
                     editor=EnumEditor(name='rhs_runids'))),
            UItem('rhs_items', editor=editor))

        results_grp = VGroup(
            UItem('results',
                  editor=TabularEditor(adapter=ResultsAdapter(),
                                       editable=False)))

        v = okcancel_view(VGroup(HGroup(l_grp, r_grp), results_grp),
                          title='Configure Gain Calibration')
        return v
class MultiSelect(HasPrivateTraits):
    """ This is the class used to view two tables
    """
    # FIXME (TraitsUI defect #14): When multi-select is done by keyboard
    # (shift+arrow), the 'selected' trait list does not update.

    # FIXME (TraitsUI defect #15): In Windows wx, when show_titles is False,
    # left table does not draw until selection passes through all rows.
    # (Workaround here: set show_titles True and make column titles empty.)

    choices = List(Str)
    selected = List(Str)

    traits_view = View(HGroup(
        UItem('choices',
              editor=TabularEditor(show_titles=True,
                                   selected='selected',
                                   editable=False,
                                   multi_select=True,
                                   adapter=MultiSelectAdapter())),
        UItem('selected',
              editor=TabularEditor(show_titles=True,
                                   editable=False,
                                   adapter=MultiSelectAdapter()))),
                       resizable=True,
                       width=200,
                       height=300)
Esempio n. 4
0
    def traits_view(self):
        a = UItem('histories',
                  editor=TabularEditor(adapter=GainHistoryAdapter(),
                                       editable=False,
                                       selected='selected'))
        b = UItem('selected',
                  style='custom',
                  editor=InstanceEditor(view=View(
                      UItem('gains',
                            editor=TabularEditor(editable=False,
                                                 adapter=GainAdapter())))))

        dview = View(HGroup(UReadonly('name'), 'gain'))
        egrp = VGroup(HGroup(icon_button_editor('apply_button', 'apply')),
                      UItem('object.spectrometer.detectors',
                            editor=ListEditor(
                                mutable=False,
                                style='custom',
                                editor=InstanceEditor(view=dview))),
                      show_border=True,
                      label='Edit Detector Gains')

        v = View(VGroup(
            HGroup(
                icon_button_editor(
                    'apply_history_button',
                    'apply',
                    tooltip=
                    'Set gains to values stored with the selected history',
                    enabled_when='selected')), HSplit(a, b), egrp),
                 width=650,
                 title='View Detector Gain Histories',
                 resizable=True)
        return v
Esempio n. 5
0
    def get_view(self):

        if self.model.display_name:
            header_txt = self.model.display_name
        else:
            header_txt = ''

        self.model._make_matcat()
        aa = ArrayAdapter(columns=self.header,
                          obj_names=list(self.model.matcat.index))

        if len(self.model.subs) < 1:
            view = View(Item('values',
                             editor=TabularEditor(adapter=aa),
                             show_label=False),
                        Item('handler.cp_clip', show_label=False),
                        title=header_txt,
                        resizable=True,
                        width=900,
                        height=400,
                        buttons=[OKButton])
        else:
            view = View(Item('valuescat',
                             editor=TabularEditor(adapter=aa),
                             show_label=False),
                        Item('handler.cp_clip', show_label=False),
                        title=header_txt,
                        resizable=True,
                        width=900,
                        height=400,
                        buttons=[OKButton])

        return view
Esempio n. 6
0
 def traits_view(self):
     v = View(
         VGroup(
             HGroup(
                 HGroup(
                     Item('include_analyses', label='Analyses'),
                     Item('include_blanks', label='Blanks'),
                     Item('include_airs', label='Airs'),
                     Item('include_cocktails', label='Cocktails'),
                     label='Include',
                     show_border=True,
                 ),
                 VGroup(
                     HGroup(
                         spring,
                         UItem('import_button'),
                         #Item('dry_run')
                     ),
                     label='Import',
                     show_border=True)),
             VGroup(
                 HGroup(spring, Item('data_source')),
                 #                         VFold(
                 VGroup(
                     VGroup(Item('object.extractor.dbconn_spec',
                                 style='custom',
                                 show_label=False),
                            HGroup(
                                spring,
                                Item('object.extractor.connect_button',
                                     show_label=False)),
                            label='Source'),
                     VGroup(
                         HGroup(
                             Item('import_kind', show_label=False),
                             UItem('open_button',
                                   visible_when='import_kind=="rid_list"'),
                         ),
                         UItem('text_selected'),
                         HGroup(
                             Item('names',
                                  show_label=False,
                                  editor=TabularEditor(
                                      adapter=ImportNameAdapter(),
                                      editable=False,
                                      selected='selected',
                                      multi_select=True,
                                      scroll_to_row='scroll_to_row')),
                             #                                    CustomLabel('custom_label1',
                             #                                             color='blue',
                             #                                             size=10),
                             Item('imported_names',
                                  show_label=False,
                                  editor=TabularEditor(
                                      adapter=ImportedNameAdapter(),
                                      editable=False,
                                  ))),
                         #                                    HGroup(spring, Item('import_button', show_label=False)),
                         label='Results')))))
     return v
Esempio n. 7
0
def get_view(multi_select=False):
    if multi_select:
        return View(
            Item(
                name="people",
                editor=TabularEditor(
                    adapter=ReportAdapter(),
                    selected="multi_selected",
                    selected_row="selected_rows",
                    refresh="refresh",
                    update="update",
                    multi_select=True,
                ),
            ))
    else:
        return View(
            Item(
                name="people",
                editor=TabularEditor(
                    adapter=ReportAdapter(),
                    selected="selected",
                    selected_row="selected_row",
                    refresh="refresh",
                    update="update",
                ),
            ))
Esempio n. 8
0
    def traits_view(self):
        origin_grp = VGroup(UItem('filter_origin_value',
                                  tooltip='Fuzzy filter list of repositories available at "Origin". '
                                          'e.g. "foo" will match "foo", "foobar", "fobaro", "barfoo", etc'),
                            UItem('repository_names',
                                  editor=TabularEditor(selected='selected_repository',
                                                       column_clicked='origin_column_clicked',
                                                       adapter=OriginAdapter(),
                                                       editable=False)),
                            show_border=True, label='Origin')

        local_grp = VGroup(UItem('filter_repository_value',
                                 tooltip='Fuzzy filter list of repositories available at on this computer. '
                                         'e.g. "foo" will match "foo", "foobar", "fobaro", "barfoo", etc'),
                           UItem('local_names',
                                 editor=TabularEditor(adapter=RepoAdapter(),
                                                      column_clicked='column_clicked',
                                                      selected='selected_local_repositories',
                                                      editable=False,
                                                      multi_select=True,
                                                      )),
                           show_border=True, label='Local')

        v = View(VGroup(local_grp, origin_grp))
        return v
Esempio n. 9
0
    def traits_view(self):
        pr_group = VGroup(HGroup(icon_button_editor('add_production_button', 'database_add',
                                                    tooltip='Add a Production Ratio'),
                                 icon_button_editor('edit_production_button', 'database_edit',
                                                    enabled_when='selected_production',
                                                    tooltip='Edit Production Ratio')),
                          VSplit(UItem('productions', editor=TabularEditor(adapter=ProductionAdapter(),
                                                                           editable=False,
                                                                           selected='selected_production')),
                                 UItem('selected_production', style='custom')),
                          label='Production Ratios')

        editor = TabularEditor(adapter=TrayAdapter(),
                               editable=False,
                               selected='selected_tray')
        tray_grp = VGroup(HGroup(icon_button_editor('add_tray_button', 'add',
                                                    tooltip='Add a tray from file')),
                          HSplit(UItem('trays', editor=editor, width=0.25),
                                 UItem('canvas', editor=ComponentEditor(), width=0.75)),
                          label='Tray')

        v = View(Item('name'),
                 Group(
                     pr_group,
                     tray_grp,
                     layout='tabbed'),
                 resizable=True,
                 width=550,
                 height=650,
                 title=self.title,
                 kind='livemodal',
                 buttons=['OK', 'Cancel'])
        return v
Esempio n. 10
0
    def traits_view(self):
        g1 = Group(UItem('source_parameters',
                         editor=TabularEditor(adapter=DictTabularAdapter(),
                                              editable=False)),
                   show_border=True,
                   label='Source')

        g4 = Group(UItem('filament_parameters',
                         editor=TabularEditor(adapter=DictTabularAdapter(),
                                              editable=False)),
                   show_border=True,
                   label='Filament')

        g2 = Group(UItem('deflections',
                         editor=TabularEditor(adapter=DictTabularAdapter(),
                                              editable=False)),
                   show_border=True,
                   label='Deflections')

        g3 = Group(UItem('gains',
                         editor=TabularEditor(adapter=DictTabularAdapter(),
                                              editable=False)),
                   show_border=True,
                   label='Gains')
        v = View(HGroup(VGroup(g1, g4), VGroup(g2, g3)))
        return v
Esempio n. 11
0
 def traits_view(self):
     v = View(
         UItem('values', editor=TabularEditor(adapter=IAValuesAdapter())),
         UItem('uvalues', editor=TabularEditor(adapter=IAUValuesAdapter())),
         UItem('analyses',
               editor=TabularEditor(adapter=IAAnalysesAdapter())))
     return v
Esempio n. 12
0
 def traits_view(self):
     v = View(
         VGroup(
             UItem(
                 'object.selected.unknowns',
                 width=200,
                 editor=TabularEditor(
                     adapter=self.unknowns_adapter,
                     update='refresh_table_needed',
                     multi_select=True,
                     column_clicked='object.selected.column_clicked',
                     # drag_external=True,
                     # drop_factory=self.model.drop_factory,
                     dclicked='dclicked_unknowns',
                     selected='selected_unknowns',
                     operations=['delete'])),
             UItem(
                 'object.selected.references',
                 visible_when='object.selected.references',
                 editor=TabularEditor(
                     adapter=self.references_adapter,
                     update='refresh_table_needed',
                     # drag_external=True,
                     multi_select=True,
                     dclicked='dclicked_references',
                     selected='selected_references',
                     operations=['delete']))),
         handler=AnalysesPaneHandler())
     return v
Esempio n. 13
0
 def traits_view(self):
     v = View(
         VGroup(
             HGroup(
                 icon_button_editor('up_button',
                                    'arrow_left',
                                    tooltip='Go back one directory'),
                 CustomLabel('up_directory_name', size=14, color='maroon'),
                 spring),
             VSplit(
                 VGroup(
                     UItem('directories',
                           editor=TabularEditor(
                               selected='selected_directory',
                               dclicked='directory_dclicked',
                               editable=False,
                               adapter=ScriptBrowserAdapter()),
                           height=0.25),
                     HGroup(
                         Label('Current Dir.'),
                         CustomLabel('selected_directory_name',
                                     size=14,
                                     color='maroon'))),
                 UItem('items',
                       editor=TabularEditor(selected='selected',
                                            dclicked='dclicked',
                                            editable=False,
                                            adapter=ScriptBrowserAdapter()),
                       height=0.75))))
     return v
Esempio n. 14
0
 def traits_view(self):
     v = View(
         UItem('blank_changes',
               editor=TabularEditor(adapter=BlankAdapter(),
                                    editable=False)),
         UItem('fit_changes',
               editor=TabularEditor(adapter=FitAdapter(), editable=False)))
     return v
Esempio n. 15
0
class NBSNetworkParameter(HasTraits):

    choices1 = List(Str)
    selected1 = List(Str)

    choices2 = List(Str)
    selected2 = List(Str)

    view = View(
        HGroup(
            Group(HGroup(
                Item('choices1',
                     show_label=False,
                     editor=TabularEditor(show_titles=False,
                                          selected='selected1',
                                          editable=False,
                                          multi_select=True,
                                          adapter=MultiSelectAdapter())),
                Item('selected1',
                     show_label=False,
                     editor=TabularEditor(show_titles=False,
                                          editable=False,
                                          adapter=MultiSelectAdapter())),
            ),
                  label="First group"),
            Group(HGroup(
                Item('choices2',
                     show_label=False,
                     editor=TabularEditor(show_titles=False,
                                          selected='selected2',
                                          editable=False,
                                          multi_select=True,
                                          adapter=MultiSelectAdapter())),
                Item('selected2',
                     show_label=False,
                     editor=TabularEditor(show_titles=False,
                                          editable=False,
                                          adapter=MultiSelectAdapter())),
            ),
                  label="Second group"),
        ),
        title='Select networks',
        width=0.5,
        height=0.5,
        buttons=['OK'],
        resizable=True,
    )

    def __init__(self, cfile, **traits):
        super(NBSNetworkParameter, self).__init__(**traits)

        li = []
        for cobj in cfile.connectome_network:
            li.append(cobj.obj.name)

        self.choices1 = li
        self.choices2 = li
Esempio n. 16
0
 def traits_view(self):
     v = View(
         VGroup(
             HGroup(Item('pr_name', label='Name', style='readonly')),
             UItem('interferences',
                   editor=TabularEditor(adapter=InterferenceAdapter(),
                                        editable=False)),
             UItem('productions',
                   editor=TabularEditor(adapter=InterferenceAdapter(),
                                        editable=False))))
     return v
Esempio n. 17
0
    def traits_view(self):
        project_grp = VGroup(
            HGroup(
                spacer(), Label('Filter'), UItem('project_filter', width=75),
                icon_button_editor('clear_selection_button',
                                   'cross',
                                   tooltip='Clear selected'),
                icon_button_editor(
                    'edit_project_button',
                    'database_edit',
                    tooltip='Edit selected project in database'),
                icon_button_editor('add_project_button',
                                   'database_add',
                                   tooltip='Add project to database')),
            UItem('projects',
                  editor=TabularEditor(editable=False,
                                       selected='selected_projects',
                                       adapter=ProjectAdapter(),
                                       multi_select=False),
                  width=75))

        sample_grp = VGroup(
            HGroup(
                #Label('Filter'),
                UItem('sample_filter_parameter',
                      editor=EnumEditor(name='sample_filter_parameters')),
                UItem('sample_filter', width=75),
                UItem('sample_filter',
                      editor=EnumEditor(name='sample_filter_values'),
                      width=-25),
                #UItem('filter_non_run_samples',
                #      tooltip='Omit non-analyzed samples'),
                icon_button_editor('configure_sample_table',
                                   'cog',
                                   tooltip='Configure Sample Table'),
                icon_button_editor('edit_sample_button',
                                   'database_edit',
                                   tooltip='Edit sample in database'),
                icon_button_editor('add_sample_button',
                                   'database_add',
                                   tooltip='Add sample to database')),
            UItem('samples',
                  editor=TabularEditor(adapter=self.sample_tabular_adapter,
                                       editable=False,
                                       selected='selected_sample',
                                       multi_select=False,
                                       column_clicked='column_clicked',
                                       stretch_last_section=False),
                  width=75))
        v = View(VSplit(project_grp, sample_grp))
        return v
Esempio n. 18
0
    def traits_view(self):
        commit_grp = VGroup(Item('ncommits', label='Limit'),
                            VGroup(UItem('commits',
                                         editor=TabularEditor(adapter=CommitAdapter(),
                                                              selected='selected_commit')),
                                   show_border=True, label='Commits'))
        bookmark_grp = VGroup(VGroup(UItem('git_tags', editor=TabularEditor(adapter=GitTagAdapter()),
                                           height=200),
                                     show_border=True, label='Bookmarks'))

        v = View(VGroup(UItem('branch',
                              editor=EnumEditor(name='branches')),
                        VSplit(commit_grp, bookmark_grp)))
        return v
Esempio n. 19
0
    def _get_browser_group(self):
        project_grp = VGroup(
            HGroup(
                Label('Filter'), UItem('project_filter', width=75),
                icon_button_editor('clear_selection_button',
                                   'cross',
                                   tooltip='Clear selected')),
            UItem('projects',
                  editor=TabularEditor(editable=False,
                                       selected='selected_projects',
                                       adapter=ProjectAdapter(),
                                       multi_select=True),
                  width=75))

        sample_grp = VGroup(
            HGroup(
                #Label('Filter'),
                UItem('sample_filter_parameter',
                      editor=EnumEditor(name='sample_filter_parameters')),
                UItem('sample_filter', width=75),
                UItem('sample_filter',
                      editor=EnumEditor(name='sample_filter_values'),
                      width=-25),
                # UItem('filter_non_run_samples',
                #       tooltip='Omit non-analyzed samples'),
                icon_button_editor('configure_sample_table',
                                   'cog',
                                   tooltip='Configure Sample Table')),
            UItem(
                'samples',
                editor=TabularEditor(
                    adapter=self.sample_tabular_adapter,
                    editable=False,
                    selected='selected_samples',
                    multi_select=True,
                    dclicked='dclicked_sample',
                    column_clicked='column_clicked',
                    #update='update_sample_table',
                    #refresh='update_sample_table',
                    stretch_last_section=False),
                width=75))

        grp = VSplit(
            project_grp,
            sample_grp,
            self._get_analysis_group(),
            # label='Project/Sample'
        )

        return grp
Esempio n. 20
0
 def traits_view(self):
     '''
     '''
     content = []
     n = self.graph.get_num_plots()
     if n == 1:
         t = Item('table0', show_label=False, editor=TabularEditor(adapter=self.adapter))
         content.append(t)
     else:
         for i in range(n):
             t = Item('table%i' % i, show_label=False, editor=TabularEditor(adapter=self.adapter),
                label='Table %i' % i)
             content.append(t)
     return View(Group(content=content, layout='tabbed'))
Esempio n. 21
0
    def traits_view(self):
        g1 = Group(UItem('source_parameters',
                         editor=TabularEditor(adapter=DictTabularAdapter(),
                                              editable=False)),
                   show_border=True,
                   label='Source')

        g2 = Group(UItem('deflections',
                         editor=TabularEditor(adapter=DictTabularAdapter(),
                                              editable=False)),
                   show_border=True,
                   label='Deflections')
        v = View(VGroup(g1, g2))
        return v
Esempio n. 22
0
 def traits_view(self):
     l = UItem('left_values',
               editor=TabularEditor(adapter=ValueTabularAdapter(),
                                    editable=False,
                                    selected_row='selected_row'))
     d = UItem('diff_values',
               editor=TabularEditor(adapter=DiffTabularAdapter(),
                                    editable=False,
                                    selected_row='selected_row'))
     r = UItem('right_values',
               editor=TabularEditor(adapter=ValueTabularAdapter(),
                                    editable=False,
                                    selected_row='selected_row'))
     v = View(HSplit(l, d, r))
     return v
Esempio n. 23
0
 def traits_view(self):
     v = View(VGroup(
         HGroup(Item('name', label='Analysis Group Name')),
         VGroup(
             UItem('items',
                   editor=TabularEditor(adapter=AnalysisAdapter(),
                                        operations=['delete'])),
             UItem('ritems',
                   editor=TabularEditor(adapter=AnalysisAdapter(),
                                        operations=['delete'])))),
              resizable=True,
              buttons=['OK', 'Cancel'],
              kind='livemodal',
              title='Analysis Group Entry')
     return v
Esempio n. 24
0
    def traits_view(self):
        cgrp = VGroup(
            UItem('conflicts',
                  editor=TabularEditor(adapter=ConflictAdapter(),
                                       operations=[],
                                       multi_select=True,
                                       selected='controller.selected',
                                       dclicked='controller.dclicked')))

        bgrp = VGroup(UItem('controller.accept_our_button'),
                      UItem('controller.accept_their_button'),
                      enabled_when='controller.selected')

        tgrp = HGroup(
            VGroup(UItem('our_text',
                         style='custom',
                         editor=TextEditor(read_only=True)),
                   show_border=True,
                   label='Our'),
            VGroup(UItem('their_text',
                         style='custom',
                         editor=TextEditor(read_only=True)),
                   show_border=True,
                   label='Their'))

        v = View(VGroup(HGroup(cgrp, bgrp), tgrp),
                 buttons=['OK'],
                 title='Merge',
                 resizable=True)
        return v
Esempio n. 25
0
class Report(HasTraits):
    people = List(Person)

    selected = Instance(Person)

    selected_row = Int(-1)

    # Event for triggering a UI repaint.
    refresh = Event

    # Event for triggering a UI table update.
    update = Event

    traits_view = View(
        Item(
            name="people",
            editor=TabularEditor(
                adapter=ReportAdapter(),
                selected="selected",
                selected_row="selected_row",
                refresh="refresh",
                update="update",
            ),
        )
    )
Esempio n. 26
0
 def traits_view(self):
     v = View(UItem('items', editor=TabularEditor(adapter=ImageAdapter(),
                                                  editable=False,
                                                  selected='selected_items',
                                                  auto_update=True,
                                                  multi_select=True)))
     return v
Esempio n. 27
0
 def traits_view(self):
     v = View(
         UItem('subviews',
               editor=TabularEditor(adapter=ViewAdapter(),
                                    editable=False,
                                    selected='selected_view')))
     return v
Esempio n. 28
0
class _StringListEditor(UIEditor):

    # Indicate that the editor is scrollable/resizable:
    scrollable = True

    # The list of available editor choices:
    choices = List(Str)

    # The list of currently selected items:
    selected = List(Str)

    # The traits UI view used by the editor:
    traits_view = View(Item('choices',
                            show_label=False,
                            editor=TabularEditor(
                                show_titles=False,
                                selected='selected',
                                editable=False,
                                multi_select=True,
                                adapter=MultiSelectAdapter())),
                       id='string_list_editor',
                       resizable=True)

    def init_ui(self, parent):

        self.sync_value(self.factory.choices, 'choices', 'from', is_list=True)
        self.selected = self.value

        return self.edit_traits(parent=parent, kind='subpanel')

    @on_trait_change('selected')
    def _selected_modified(self):
        self.value = self.selected
Esempio n. 29
0
    def traits_view(self):
        agrp = HGroup(
            UItem('mass_spectrometer',
                  editor=EnumEditor(name='mass_spectrometers')),
            Item('n', label='Limit'))

        adapter = AnalysisAdapter()
        adapter.run_history_columns()

        v = View(VSplit(
            VGroup(
                agrp,
                UItem('analyses',
                      editor=TabularEditor(dclicked='selected',
                                           editable=False,
                                           adapter=adapter))),
            UItem('analysis_view',
                  visible_when='analysis_view',
                  style='custom',
                  editor=InstanceEditor())),
                 title='Run History',
                 width=700,
                 height=700,
                 resizable=True,
                 buttons=['OK'])
        return v
Esempio n. 30
0
    def traits_view(self):
        auth_grp = VGroup(Item('host'),
                          Item('user'),
                          Item('password'),
                          show_border=True,
                          label='Authentication')

        v = View(VGroup(auth_grp,
                        HGroup(icon_button_editor('check_status_button', 'database_go_fatcow',
                                                  tooltip='Check slave status. Equivalent to "Show Slave Status"'),
                               icon_button_editor('start_button', 'start',
                                                  tooltip='Start replication. Equivalent to "Start Slave"',
                                                  enabled_when='not running'),
                               icon_button_editor('stop_button', 'stop',
                                                  tooltip='Stop replication. Equivalent to "Stop Slave"',
                                                  enabled_when='running'),
                               icon_button_editor('skip_button', 'skip_occurrence',
                                                  tooltip='Set global skip counter.\n'
                                                          'Equivalent to "Stop Slave;'
                                                          'Set GLOBAL SQL_SKIP_COUNTER=N;Start Slave;"\n'
                                                          'where N is the number of SQL statements to skip'),
                               UItem('skip_count',
                                     tooltip='Number of SQL statements to skip')),
                        UItem('status_items', editor=TabularEditor(adapter=StatusItemsAdapter(),
                                                                   editable=False)),
                        VGroup(UReadonly('last_error',
                                         height=200,
                                         style_sheet='color: red; font-weight: bold'),
                               label='Error',
                               show_border=True),
                        label='Slave',
                        show_border=True))

        v.width = 500
        return v