Exemple #1
0
    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
Exemple #2
0
    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()