def on_load_data(self, event): """ Open a file dialog to allow the user to select a given file. The user is only allow to load file with extension .DAT or .dat. Display the slit size corresponding to the loaded data. """ path = self.choose_data_file(location=self._default_save_location) if path is None: return self._default_save_location = path try: #Load data from load_thread import DataReader ## If a thread is already started, stop it if self.reader is not None and self.reader.isrunning(): self.reader.stop() if self.parent.parent is not None: wx.PostEvent(self.parent.parent, StatusEvent(status="Loading...", type="progress")) self.reader = DataReader(path=path, completefn=self.complete_loading, updatefn=self.load_update) self.reader.queue() self.load_update() except: if self.parent.parent is None: return msg = "Slit Length Calculator: %s" % (sys.exc_value) wx.PostEvent(self.parent.parent, StatusEvent(status=msg, type='stop')) return
def on_click_browse(self, event): """ Open a file dialog to allow the user to select a given file. Display the loaded data if available. """ path = self.choose_data_file(location=self._default_save_location) if path is None: return if self.parent.parent is not None: wx.PostEvent(self.parent.parent, StatusEvent(status="Loading...", info="info", type="progress")) self.done = False self._default_save_location = path try: #Load data from load_thread import DataReader ## If a thread is already started, stop it if self.reader is not None and self.reader.isrunning(): self.reader.stop() self.reader = DataReader(path=path, completefn=self.complete_loading, updatefn=None) self.reader.queue() except: msg = "Data Editor: %s" % (sys.exc_value) load_error(msg) return event.Skip()