Пример #1
0
    def onChangeDesc(self, event):
        selected = self.GetFirstSelected()
        item = self.GetItem(selected, 3)
        name = self.GetItem(selected, 0).GetText()
        description = item.GetText()
        model = self.fmf.model
        try:
            df = model[name]
        except KeyError:
            pass

        dlg = wx.TextEntryDialog(self, 'Insert new description:',
                                 'Change description', description)

        if dlg.ShowModal() == wx.ID_OK:
            newdescription = dlg.GetValue()
        else:
            return

        try:
            df['description'] = newdescription
            self.SetStringItem(selected, 3, newdescription)
            HKEConfig.add_loaded_file(df, name=name)
        except NameError:
            print "Item not found in model!"
Пример #2
0
 def onDelete(self, event):
     selected = self.GetFirstSelected()
     item = self.GetItem(selected, 0)
     name = item.GetText()
     model = self.fmf.model
     try:
         del model[name]
         self.DeleteItem(selected)
         HKEConfig.remove_loaded_file(name=name)
     except KeyError:
         pass
Пример #3
0
    def onLoadButton(self, event):
        # Load the specified file into the model
        model = self.fmf.model
        fname = self.fbbFileBrowser.GetValue()

        calfname = self.fbbCalFileBrowser.GetValue()
        if not (os.path.isfile(fname) and os.path.isfile(calfname)):
            errtxt = ('Data file ({0}) or Cal file ({1}) does not exist! '
                      'File not loaded!')
            errtxt = errtxt.format(fname, calfname)
            dlg = wx.MessageDialog(self, errtxt,
                                   "Failed to load file",
                                   (wx.OK | wx.ICON_INFORMATION))
            dlg.ShowModal()
            dlg.Destroy()
            return

        overwrite = self.chkOverwrite.IsChecked()
        if overwrite:
            boardfname = self.fbbBoardFileBrowser.GetValue()
        else:
            boardfname = None
        try:
            model.loadfile(fname, calfname, bcfgfile=boardfname,
                           handleerrors=False)
        except (HKEPlotError, HKEBinaryError, IOError) as e:
            errtxt = str(e)
            dlg = wx.MessageDialog(self, errtxt,
                                   "Failed to load file",
                                   (wx.OK | wx.ICON_INFORMATION))
            dlg.ShowModal()
            dlg.Destroy()
            return

        # Update the listctrl with the newly added data file
        name = model.keys()[-1]
        df = model[name]
        fname2 = df['filename']
        dewar = df['dewar']
        description = df['description']
        row = [name, fname2, dewar, description]
        self.lctrlData.Append(row)
        HKEConfig.add_loaded_file(df, name=name)

        self.adjustColumnSizes()
Пример #4
0
    def onRename(self, event):
        selected = self.GetFirstSelected()
        item = self.GetItem(selected, 0)
        name = item.GetText()
        model = self.fmf.model

        dlg = wx.TextEntryDialog(self, 'Insert new name:',
                                 'Rename data model item', name)

        if dlg.ShowModal() == wx.ID_OK:
            newname = dlg.GetValue()
        else:
            return

        try:
            model.rename(name, newname)
            df = model[newname]
            HKEConfig.remove_loaded_file(name=name)
            HKEConfig.add_loaded_file(df, name=newname)
            self.SetStringItem(selected, 0, newname)
        except ValueError:
            print "Item not found in model!"
Пример #5
0
    def onChangeReg(self, event):
        selected = self.GetFirstSelected()
        name = self.GetItem(selected, 0).GetText()
        model = self.fmf.model

        dlg = RegistersDialog(self, wx.ID_ANY, name, model,
                              title='Source Registers')

        dlg.CenterOnScreen()
        val = dlg.ShowModal()

        if val == wx.ID_OK:
            treg = dlg.chTemp.GetString(dlg.chTemp.GetSelection())
            tch = int(dlg.chTchannel.GetString(dlg.chTchannel.GetSelection()))
            s1reg = dlg.chSide1.GetString(dlg.chSide1.GetSelection())
            s2reg = dlg.chSide2.GetString(dlg.chSide2.GetSelection())

            model.change_sources(name, treg=treg, tch=tch,
                                 s1reg=s1reg, s2reg=s2reg)
            df = model[name]
            HKEConfig.add_loaded_file(df)

        dlg.Destroy()
Пример #6
0
    def preload_files(self, configfname='.hkeplot'):
        """
        Load the files specified in the config file.
        """
        model = self.fmf.model
        fdict = HKEConfig.get_loaded_files(configfname)

        for fname, d in fdict.items():
            propername = d['proper name']
            absname = d['data file']
            calname = d['cal file']
            dewar = d['dewar']
            desc = d['description']
            taddress = int(d['temperature address'])
            tchannel = int(d['temperature channel'])
            try:
                model.loadfile(absname, calname, description=desc)#, #DELME?
                               # taddress=taddress, tchannel=tchannel)
                model.rename(-1, propername)

                # Update the listctrl with the newly added data file
                name = model.keys()[-1]
                df = model[name]
                fname2 = df['filename']
                dewar = df['dewar']
                description = df['description']
                row = [name, fname2, dewar, description]
                self.lctrlData.Append(row)

                self.adjustColumnSizes()
            except (HKEPlotError, HKEBinaryError) as e:
                errtxt = str(e)
                dlg = wx.MessageDialog(self, errtxt,
                                       "Failed to load file",
                                       (wx.OK | wx.ICON_INFORMATION))
                dlg.ShowModal()
                dlg.Destroy()