diff --git a/invesalius/data/slice_.py b/invesalius/data/slice_.py index 7b24943..ff7a991 100644 --- a/invesalius/data/slice_.py +++ b/invesalius/data/slice_.py @@ -157,6 +157,8 @@ class Slice(object): def __set_current_mask_threshold(self, evt_pubsub): session = ses.Session() + print session.project_status != const.PROJ_OPEN + print session.project_status #FIXME: find a better way to implement this if (self.num_gradient >= 2) or \ (session.project_status != const.PROJ_OPEN): @@ -275,11 +277,6 @@ class Slice(object): proj = Project() proj.mask_dict[self.current_mask.index].threshold_range = threshold_range - - session = ses.Session() - session.ChangeProject() - - def ShowMask(self, index, value): diff --git a/invesalius/gui/task_slice.py b/invesalius/gui/task_slice.py index 16aa810..7a78c50 100644 --- a/invesalius/gui/task_slice.py +++ b/invesalius/gui/task_slice.py @@ -31,6 +31,7 @@ import gui.widgets.foldpanelbar as fpb import widgets.colourselect as csel from project import Project +import session as ses BTN_NEW = wx.NewId() @@ -476,6 +477,8 @@ class MaskProperties(wx.Panel): if self.bind_evt_gradient: ps.Publisher().sendMessage('Set threshold values', (thresh_min, thresh_max)) + session = ses.Session() + session.ChangeProject() def OnSelectColour(self, evt): colour = evt.GetValue() diff --git a/invesalius/gui/widgets/gradient.py b/invesalius/gui/widgets/gradient.py index 98c6e69..b01e7bf 100755 --- a/invesalius/gui/widgets/gradient.py +++ b/invesalius/gui/widgets/gradient.py @@ -558,6 +558,7 @@ class GradientSlider(wx.Panel): def ChangeMinValue(self, e): # Why do I need to change slide min value if it has been changed for # the user? + if not self.slided: self.GradientPanel.SetMinValue(int(self.SpinMin.GetValue())) self._GenerateEvent() @@ -582,7 +583,9 @@ class GradientSlider(wx.Panel): except AttributeError: pass self.GradientPanel.SetMinValue(value) + self.slided = 1 self.SpinMin.SetValue(int(value)) + self.slided = 0 self.GradientPanel.Refresh() def SetMaxValue(self, value): @@ -591,7 +594,9 @@ class GradientSlider(wx.Panel): except AttributeError: pass self.GradientPanel.SetMaxValue(value) + self.slided = 1 self.SpinMax.SetValue(int(value)) + self.slided = 0 self.GradientPanel.Refresh() def SetMaxRange(self, value): -- libgit2 0.21.2