Commit 962461fa807e8621331d5b608e7083be0c333cfc
1 parent
d7cad2db
Exists in
master
and in
6 other branches
FIX: Resolved the mad comportment in gradient
Showing
1 changed file
with
14 additions
and
1 deletions
Show diff stats
invesalius/gui/widgets/gradient.py
... | ... | @@ -141,6 +141,16 @@ class SliderBorder(object): |
141 | 141 | elif self.type == MAXBORDER and self.pos+self.width >= self.WindowWidth: |
142 | 142 | self.pos = self.WindowWidth - self.width |
143 | 143 | |
144 | + def SetPosition(self, pos): | |
145 | + """ | |
146 | + Move the border | |
147 | + """ | |
148 | + self.pos = pos | |
149 | + if self.type == MINBORDER and self.pos < 0: | |
150 | + self.pos = 0 | |
151 | + elif self.type == MAXBORDER and self.pos+self.width >= self.WindowWidth: | |
152 | + self.pos = self.WindowWidth - self.width | |
153 | + | |
144 | 154 | def GetCursor(self): |
145 | 155 | """ |
146 | 156 | This function returns the cursor related to the SliderBorder |
... | ... | @@ -432,7 +442,10 @@ class GradientPanel(wx.Panel): |
432 | 442 | slide = x - self.MousePositionX |
433 | 443 | self.MousePositionX += slide |
434 | 444 | self.SetCursor(self.SelectedObject.GetCursor()) |
435 | - self.SelectedObject.DoSlide(slide) | |
445 | + if isinstance(self.SelectedObject, SliderControl): | |
446 | + self.SelectedObject.DoSlide(slide) | |
447 | + else: | |
448 | + self.SelectedObject.SetPosition(x) | |
436 | 449 | self.Slider.Calculate(self.SelectedObject) |
437 | 450 | if self.GetMin() >= self.GetMax(): |
438 | 451 | self.SetMinValue(self.GetMax()-1) | ... | ... |