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!"
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
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()
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!"
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()
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()