Example #1
0
    def OnLabelRightClick(self, click_event):
        # a little test for the metadata
        if not self.core.mdata.name == "test":
            self.core.mdata.name = "test"
        else:
            self.core.mdata.name = "changed again"

        if click_event.GetRow() == -1:  # Make sure this is a column label
            menu = wx.Menu()
            ids = {}
            att = self.view[click_event.GetCol() + 1]
            old_unit = datastore.sample_attributes.get_unit(att)

            def OnColumnMenuSelect(menu_event):
                new_unit = ids[menu_event.GetId()]
                for sample in self.samples:
                    sample[att].units = new_unit
                self.display_samples()

            for unit in samples.get_conv_units(old_unit):
                id = wx.NewId()
                ids[id] = unit
                menu.Append(id, unit)
                wx.EVT_MENU(menu, id, OnColumnMenuSelect)
            self.grid.PopupMenu(menu, click_event.GetPosition())
            menu.Destroy()
Example #2
0
            def sel_field_changed(self, event=None):
                value = self.fcombo.GetValue()
                if value == self.ignoretxt:
                    unit = ''
                    unitset = ('',)
                    haserr = False
                else:
                    att = datastore.sample_attributes[value]
                    unit = str(att.unit)
                    unitset = samples.get_conv_units(unit)
                    haserr = att.has_error

                self.unittext.SetLabel(unitset[0])
                self.ucombo.SetItems(unitset)
                self.ucombo.SetStringSelection(unit)
                self.unittext.Show(len(unitset) == 1)
                self.ucombo.Show(len(unitset) > 1)
                self.errpanel.Show(haserr)
                self.GetParent().Layout()