]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Fix for Bug PAL11197:
authorenk <enk@opencascade.com>
Mon, 16 Jan 2006 12:48:53 +0000 (12:48 +0000)
committerenk <enk@opencascade.com>
Mon, 16 Jan 2006 12:48:53 +0000 (12:48 +0000)
SMESH and VISU: In scalar bar preferences, there is no control that X+width<=1 and Y+height<=1

src/VISUGUI/VisuGUI.cxx

index ee5f57a240509c6bb3c81704d2e5415fa3c149da..e2742d98a7a916e5be66398798aabda37c699a51 100644 (file)
@@ -3029,8 +3029,52 @@ void VisuGUI::createPreferences()
                  LightApp_Preferences::Bool, "VISU", "represent_shading" );
 }
 
-void VisuGUI::preferencesChanged( const QString&, const QString& )
+void VisuGUI::preferencesChanged( const QString& a, const QString& b)
 {
+  if (a != QString("VISU")) return;
+  if (b == QString("scalar_bar_orientation")) return;
+  SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
+  float sbX1,sbY1,sbW,sbH;
+  if(b == QString("scalar_bar_vertical_x") || b == QString("scalar_bar_vertical_width")){
+    sbX1 = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_x", sbX1);
+    sbW = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_width", sbW);
+    if(sbX1+sbW > 1.0){
+      sbX1=0.01;
+      sbW=0.05;
+      aResourceMgr->setValue("VISU", "scalar_bar_vertical_x", sbX1);
+      aResourceMgr->setValue("VISU", "scalar_bar_vertical_width", sbW);
+    }
+  }
+  else if(b == QString("scalar_bar_vertical_y") || b == QString("scalar_bar_vertical_height")){
+    sbY1 = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_y", sbY1);
+    sbH = aResourceMgr->doubleValue("VISU", "scalar_bar_vertical_height",sbH);
+    if(sbY1+sbH > 1.0){
+      sbY1=0.01;
+      sbH=0.5;
+      aResourceMgr->setValue("VISU", "scalar_bar_vertical_y", sbY1);
+      aResourceMgr->setValue("VISU", "scalar_bar_vertical_height",sbH);
+    }
+  }
+  else if(b ==  QString("scalar_bar_horizontal_x") || b ==  QString("scalar_bar_horizontal_width")){
+    sbX1 = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_x", sbX1);
+    sbW = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_width", sbW);
+    if(sbX1+sbW > 1.0){
+      sbX1=0.2;
+      sbW=0.6;
+      aResourceMgr->setValue("VISU", "scalar_bar_horizontal_x", sbX1);
+      aResourceMgr->setValue("VISU", "scalar_bar_horizontal_width", sbW);
+    }
+  }
+  else if(b ==  QString("scalar_bar_horizontal_y") || b ==  QString("scalar_bar_horizontal_height")){
+    sbY1 = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_y", sbY1);
+    sbH = aResourceMgr->doubleValue("VISU", "scalar_bar_horizontal_height",sbH);
+    if(sbY1+sbH > 1.0){
+      sbY1=0.01;
+      sbH=0.12;
+      aResourceMgr->setValue("VISU", "scalar_bar_horizontal_y", sbY1);
+      aResourceMgr->setValue("VISU", "scalar_bar_horizontal_height",sbH);
+    }
+  }
 }
 
 SUIT_ViewManager*