From 453ffb503d08df57e8d32e9c6d9b4e9d8b5a9d28 Mon Sep 17 00:00:00 2001
From: Stefan Bienert <stefan.bienert@unibas.ch>
Date: Tue, 5 Jul 2011 14:06:39 +0200
Subject: [PATCH] Adopted solution for BZSNG-273 to smooth trace widget

---
 modules/gui/pymod/scene/tube_widget.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/modules/gui/pymod/scene/tube_widget.py b/modules/gui/pymod/scene/tube_widget.py
index e1fa92c67..561728800 100644
--- a/modules/gui/pymod/scene/tube_widget.py
+++ b/modules/gui/pymod/scene/tube_widget.py
@@ -158,14 +158,18 @@ class TubeWidget(RenderModeWidget):
     self.GetOptions().SetTubeRatio(value/10.0)
 
   def UpdateRadiusGui(self,value):
-    if(abs(value*10.0 - self.radius_slider_.value())>=self.radius_spinbox_.singleStep()):
+    value = round(value, 2)
+    if(abs(value*10.0 - self.radius_slider_.value())>=self.radius_slider_.singleStep()):
       self.radius_slider_.setValue(value*10.0)
-    self.radius_spinbox_.setValue(value)
+    if(abs(value - self.radius_spinbox_.value())>=self.radius_spinbox_.singleStep()):
+      self.radius_spinbox_.setValue(value)
   
   def UpdateRatioGui(self,value):
-    if(abs(value*10.0 - self.ratio_slider_.value())>=self.ratio_spinbox_.singleStep()):
+    value = round(value, 2)
+    if(abs(value*10.0 - self.ratio_slider_.value())>=self.ratio_slider_.singleStep()):
       self.ratio_slider_.setValue(value*10.0)
-    self.ratio_spinbox_.setValue(value)
+    if(abs(value - self.ratio_spinbox_.value())>=self.ratio_spinbox_.singleStep()):
+      self.ratio_spinbox_.setValue(value)
 
   def GetText(self):
     return self.text_
-- 
GitLab