From 7b9f79ab13d03cead95747570b83e357191af237 Mon Sep 17 00:00:00 2001 From: Markus Rosenstihl Date: Fri, 9 Jan 2015 10:11:34 +0100 Subject: [PATCH] fixes Issue #4 : Redraw graph only once on updating parameter values,i.e. block signals in iupdateTable and emit signal only once. --- data/Container.py | 5 +++++ gui/container_widgets.py | 2 ++ qds.py | 5 ++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/data/Container.py b/data/Container.py index 17d9bf1..4382a10 100644 --- a/data/Container.py +++ b/data/Container.py @@ -79,6 +79,11 @@ class Peak(BaseContainer): self.param_number = 4 def set_id(self, id_num): + """ + Sets color of the peak + :param id_num: peak id + :type id_num: int + """ self.widget.setId(id_num) self.color = id_to_color(id_num) self.widget.setColor(self.color) diff --git a/gui/container_widgets.py b/gui/container_widgets.py index d1383dd..464d222 100644 --- a/gui/container_widgets.py +++ b/gui/container_widgets.py @@ -90,6 +90,7 @@ class BaseWidget(QGroupBox): self.changedTable.emit() def update_table( self, beta, sd_beta=None ): + self.blockSignals(True) for i, arg in enumerate(beta): self.inputs[i].setValue(arg) sd_style="" @@ -112,6 +113,7 @@ class BaseWidget(QGroupBox): sd = "( --- )" self.errors[i].setStyleSheet(sd_style) self.errors[i].setText(sd) + self.blockSignals(False) #self.update() def replaceDoubleSpinBox(self, layout, widget): diff --git a/qds.py b/qds.py index beded1e..214793b 100755 --- a/qds.py +++ b/qds.py @@ -243,7 +243,6 @@ class AppWindow(QMainWindow): msgBox.setText("Click in real part") msgBox.exec_() - def abortFit( self ): for container in self.function_registry.get_registered_functions(): container.abort(True) @@ -313,7 +312,7 @@ class AppWindow(QMainWindow): pass pars.insert(0, self.data.meta["T"]) - pars.insert(1, 1e3/self.data.meta["T"]) + pars.insert(1, 1e3/self.data.meta["1000/T"]) pars.append(self.data.fit_limits[0]) pars.append(self.data.fit_limits[1]) pars = np.array([pars]) @@ -485,7 +484,7 @@ class AppWindow(QMainWindow): def update_plot( self ): - print "redrawing plot" + print "redrawing plot", self.sender() log10fmin, log10fmax = self.fit_boundary_imag.getRegion() self.data.set_fit_xlimits(10**log10fmin, 10**log10fmax)