From 138d6c719379225729995e16610cb71577bd57e4 Mon Sep 17 00:00:00 2001
From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Fri, 30 Jul 2010 12:26:40 +0000
Subject: [PATCH] InspectorWidget, fix changing renderoptions when multiple
 objects are selected

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2621 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 .../render_options/custom_render_options.cc   |  2 +
 modules/gui/pymod/scene/cpk_widget.py         |  1 +
 modules/gui/pymod/scene/custom_widget.py      | 10 +++--
 modules/gui/pymod/scene/hsc_widget.py         | 38 +++++++++++++++----
 modules/gui/pymod/scene/line_trace_widget.py  |  2 +
 modules/gui/pymod/scene/simple_widget.py      |  2 +-
 modules/gui/pymod/scene/sline_widget.py       |  5 ++-
 modules/gui/pymod/scene/trace_widget.py       |  3 +-
 modules/gui/pymod/scene/tube_widget.py        |  8 +++-
 9 files changed, 55 insertions(+), 16 deletions(-)

diff --git a/modules/gfx/src/render_options/custom_render_options.cc b/modules/gfx/src/render_options/custom_render_options.cc
index 8d121ca9d..eb4f62a43 100644
--- a/modules/gfx/src/render_options/custom_render_options.cc
+++ b/modules/gfx/src/render_options/custom_render_options.cc
@@ -46,6 +46,8 @@ void CustomRenderOptions::ApplyRenderOptions(RenderOptionsPtr render_options){
 
   sphere_detail_=options->GetSphereDetail();
   arc_detail_=options->GetArcDetail();
+  sphere_rad_=options->GetSphereRad();
+  bond_rad_=options->GetBondRad();
   this->NotifyStateChange();
 }
 
diff --git a/modules/gui/pymod/scene/cpk_widget.py b/modules/gui/pymod/scene/cpk_widget.py
index 5f6c7de3c..81070180d 100644
--- a/modules/gui/pymod/scene/cpk_widget.py
+++ b/modules/gui/pymod/scene/cpk_widget.py
@@ -61,6 +61,7 @@ class CPKWidget(RenderModeWidget):
     
   def UpdateSphereDetail(self, value):
     self.GetOptions().SetSphereDetail(value)
+    self.ApplyOptions()
     
   def UpdateGui(self,options):
     self.sphere_spinbox_.setValue(options.GetSphereDetail())
diff --git a/modules/gui/pymod/scene/custom_widget.py b/modules/gui/pymod/scene/custom_widget.py
index 9f8c3ffc0..a778ed436 100644
--- a/modules/gui/pymod/scene/custom_widget.py
+++ b/modules/gui/pymod/scene/custom_widget.py
@@ -128,7 +128,7 @@ class CustomWidget(RenderModeWidget):
   def UpdateSphereDetail(self, value):
     self.GetOptions().SetSphereDetail(value)
     self.ApplyOptions()
-    
+
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
     self.ApplyOptions()
@@ -137,18 +137,22 @@ class CustomWidget(RenderModeWidget):
     self.GetOptions().SetBondRad(value)
     if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()):
       self.GetOptions().SetSphereRad(value)
+    self.ApplyOptions()
     
   def UpdateSliderBondRadius(self, value):
     self.GetOptions().SetBondRad(value/100.0)
-
+    self.ApplyOptions()
+    
   def UpdateSphereRadius(self, value):
     self.GetOptions().SetSphereRad(value)
     if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()):
       self.GetOptions().SetBondRad(value)
+    self.ApplyOptions()
     
   def UpdateSliderSphereRadius(self, value):
     self.GetOptions().SetSphereRad(value/100.0)
-
+    self.ApplyOptions()
+    
   def UpdateSphereRadiusGui(self,value):
     if(abs(value*100.0 - self.radius_sphere_slider_.value())>=self.radius_sphere_spinbox_.singleStep()):
       self.radius_sphere_slider_.setValue(value*100.0)
diff --git a/modules/gui/pymod/scene/hsc_widget.py b/modules/gui/pymod/scene/hsc_widget.py
index b5f716a0a..8a0464841 100644
--- a/modules/gui/pymod/scene/hsc_widget.py
+++ b/modules/gui/pymod/scene/hsc_widget.py
@@ -325,70 +325,92 @@ class HSCWidget(RenderModeWidget):
     
   def UpdatePolyMode(self, value):
     self.GetOptions().SetPolyMode(value)
+    self.ApplyOptions()
     
   def UpdateSplineDetail(self, value):
     self.GetOptions().SetSplineDetail(value)
+    self.ApplyOptions()
     
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
+    self.ApplyOptions()
     
   def UpdateTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value)
+    self.ApplyOptions()
     
   def UpdateSliderTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value/10.0)
-
+    self.ApplyOptions()
+    
   def UpdateTubeRatio(self, value):
     self.GetOptions().SetTubeRatio(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderTubeRatio(self, value):
     self.GetOptions().SetTubeRatio(value/10.0)
-
+    self.ApplyOptions()
+    
   def UpdateTubeProfileType(self, value):
     self.GetOptions().SetTubeProfileType(value)
+    self.ApplyOptions()
     
   def UpdateHelixWidth(self, value):
     self.GetOptions().SetHelixWidth(value) 
+    self.ApplyOptions()
     
   def UpdateSliderHelixWidth(self, value):
     self.GetOptions().SetHelixWidth(value/10.0)
+    self.ApplyOptions()
     
   def UpdateHelixThickness(self, value):
     self.GetOptions().SetHelixThickness(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderHelixThickness(self, value):
     self.GetOptions().SetHelixThickness(value/10.0)
+    self.ApplyOptions()
     
   def UpdateHelixEcc(self, value):
     self.GetOptions().SetHelixEcc(value)
+    self.ApplyOptions()
     
   def UpdateHelixProfileType(self, value):
     self.GetOptions().SetHelixProfileType(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderHelixEcc(self, value):
     self.GetOptions().SetHelixEcc(value/10.0)
+    self.ApplyOptions()
     
   def UpdateStrandWidth(self, value):
     self.GetOptions().SetStrandWidth(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderStrandWidth(self, value):
     self.GetOptions().SetStrandWidth(value/10.0)
+    self.ApplyOptions()
     
   def UpdateStrandThickness(self, value):
     self.GetOptions().SetStrandThickness(value)
+    self.ApplyOptions()
     
   def UpdateSliderStrandThickness(self, value):
     self.GetOptions().SetStrandThickness(value/10.0)
+    self.ApplyOptions()
     
   def UpdateStrandEcc(self, value):
     self.GetOptions().SetStrandEcc(value)
+    self.ApplyOptions()
     
   def UpdateSliderStrandEcc(self, value):
     self.GetOptions().SetStrandEcc(value/10.0)
-
+    self.ApplyOptions()
+    
   def UpdateStrandProfileType(self, value):
     self.GetOptions().SetStrandProfileType(value)
-
+    self.ApplyOptions()
+    
   def UpdateTubeRadiusGui(self,value):
     if(abs(value*10.0 - self.width_tube_slider_.value())>=self.width_tube_spinbox_.singleStep()):
       self.width_tube_slider_.setValue(value*10.0)
diff --git a/modules/gui/pymod/scene/line_trace_widget.py b/modules/gui/pymod/scene/line_trace_widget.py
index 1b06bb96d..fc8510346 100644
--- a/modules/gui/pymod/scene/line_trace_widget.py
+++ b/modules/gui/pymod/scene/line_trace_widget.py
@@ -72,9 +72,11 @@ class LineTraceWidget(RenderModeWidget):
     
   def UpdateAA(self, value):
     self.GetOptions().SetAALines(value)
+    self.ApplyOptions()
     
   def UpdateLineWidth(self, value):
     self.GetOptions().SetLineWidth(value)
+    self.ApplyOptions()
     
   def UpdateGui(self,options):
     self.aa_rendering_cb_.setChecked(options.GetAALines())    
diff --git a/modules/gui/pymod/scene/simple_widget.py b/modules/gui/pymod/scene/simple_widget.py
index 958d8bdc7..f757f8877 100644
--- a/modules/gui/pymod/scene/simple_widget.py
+++ b/modules/gui/pymod/scene/simple_widget.py
@@ -92,7 +92,7 @@ class SimpleWidget(RenderModeWidget):
   def UpdateLineWidth(self, value):
     self.GetOptions().SetLineWidth(value)
     self.ApplyOptions()
-
+    
   def UpdateBO(self, value):
     self.GetOptions().SetBondOrderFlag(value)
     self.ApplyOptions()
diff --git a/modules/gui/pymod/scene/sline_widget.py b/modules/gui/pymod/scene/sline_widget.py
index e4bffa439..6b45cb76c 100644
--- a/modules/gui/pymod/scene/sline_widget.py
+++ b/modules/gui/pymod/scene/sline_widget.py
@@ -79,12 +79,15 @@ class SlineWidget(RenderModeWidget):
   
   def UpdateDetail(self, value):
     self.GetOptions().SetSplineDetail(value)
-  
+    self.ApplyOptions()
+    
   def UpdateAA(self, value):
     self.GetOptions().SetAALines(value)
+    self.ApplyOptions()
     
   def UpdateLineWidth(self, value):
     self.GetOptions().SetLineWidth(value)
+    self.ApplyOptions()
     
   def UpdateGui(self,options):
     self.detail_spinbox_.setValue(options.GetSplineDetail())
diff --git a/modules/gui/pymod/scene/trace_widget.py b/modules/gui/pymod/scene/trace_widget.py
index 8fd8a0c16..a67649071 100644
--- a/modules/gui/pymod/scene/trace_widget.py
+++ b/modules/gui/pymod/scene/trace_widget.py
@@ -92,9 +92,11 @@ class TraceWidget(RenderModeWidget):
     
   def UpdatePolyMode(self, value):
     self.GetOptions().SetPolyMode(value)
+    self.ApplyOptions()
         
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
+    self.ApplyOptions()
     
   def UpdateTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value)
@@ -102,7 +104,6 @@ class TraceWidget(RenderModeWidget):
   def UpdateSliderTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value/10.0)
 
-
   def UpdateTubeRadiusGui(self,value):
     if(abs(value*10.0 - self.width_tube_slider_.value())>=self.width_tube_spinbox_.singleStep()):
       self.width_tube_slider_.setValue(value*10.0)
diff --git a/modules/gui/pymod/scene/tube_widget.py b/modules/gui/pymod/scene/tube_widget.py
index 033d09ea7..e2148ac67 100644
--- a/modules/gui/pymod/scene/tube_widget.py
+++ b/modules/gui/pymod/scene/tube_widget.py
@@ -134,15 +134,19 @@ class TubeWidget(RenderModeWidget):
    
   def UpdatePolyMode(self, value):
     self.GetOptions().SetPolyMode(value)
+    self.ApplyOptions()
     
   def UpdateSplineDetail(self, value):
     self.GetOptions().SetSplineDetail(value)
-    
+    self.ApplyOptions()
+        
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
-
+    self.ApplyOptions()
+    
   def UpdateRadius(self, value):
     self.GetOptions().SetTubeRadius(value)
+    self.ApplyOptions()
     
   def UpdateSliderRadius(self, value):
     self.GetOptions().SetTubeRadius(value/10.0)
-- 
GitLab