]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Integrate patch for 0020997: [CEA 420] Problem with VISU preferences V5_1_6_BR V5_1_6 V5_1_6_patch01 V5_1_6rc1 V5_1_6rc2
authorvsr <vsr@opencascade.com>
Mon, 1 Aug 2011 11:08:00 +0000 (11:08 +0000)
committervsr <vsr@opencascade.com>
Mon, 1 Aug 2011 11:08:00 +0000 (11:08 +0000)
src/VISUGUI/VisuGUI.cxx
src/VISUGUI/VisuGUI_Prs3dDlg.cxx

index 5b3cc7ee918b66843717e50419fbf6f0b2e68be2..65fda50006c76a365f8efa67bf616750c0fac7f5 100644 (file)
@@ -3737,6 +3737,8 @@ extern "C" {
 
 void VisuGUI::createPreferences()
 {
+  SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
+
   // TAB: General
   int genTab   = addPreference( tr( "VISU_PREF_GENERAL" ) );
   // Quantities with individual precision settings
@@ -3839,18 +3841,10 @@ void VisuGUI::createPreferences()
   int imposedGr = addPreference( tr( "VISU_MINMAX_IMPOSED_RANGE" ), sbarTab );
   setPreferenceProperty( imposedGr, "columns", 4 );
 
-  int min = addPreference( tr( "VISU_MIN" ), imposedGr, LightApp_Preferences::DblSpin, "VISU", "scalar_range_min" );
-  int max = addPreference( tr( "VISU_MAX" ), imposedGr, LightApp_Preferences::DblSpin, "VISU", "scalar_range_max" );
-
-  setPreferenceProperty( min, "min",    -1.e12 );
-  setPreferenceProperty( min, "max",     1.e12 );
-  setPreferenceProperty( min, "step",      0.1 );
-  setPreferenceProperty( min, "precision", -12 );
-
-  setPreferenceProperty( max, "min",    -1.e12 );
-  setPreferenceProperty( max, "max",     1.e12 );
-  setPreferenceProperty( max, "step",      0.1 );
-  setPreferenceProperty( max, "precision", -12 );
+  int min = addPreference( tr( "VISU_MIN" ), imposedGr, LightApp_Preferences::Double, "VISU", "scalar_range_min" );
+  int max = addPreference( tr( "VISU_MAX" ), imposedGr, LightApp_Preferences::Double, "VISU", "scalar_range_max" );
+  setPreferenceProperty( min, "decimals", qAbs( aResourceMgr->integerValue( "VISU", "visual_data_precision", 0 ) ) );
+  setPreferenceProperty( max, "decimals", qAbs( aResourceMgr->integerValue( "VISU", "visual_data_precision", 0 ) ) );
 
   // group: "Font"
   int fontGr = addPreference( tr( "VISU_FONT" ), sbarTab );
@@ -4284,8 +4278,6 @@ void VisuGUI::createPreferences()
   addPreference( tr( "VISU_EDGE_COLOR" ), representGr, LightApp_Preferences::Color, "VISU", "edge_color" );
   addPreference( "", representGr, LightApp_Preferences::Space );
 
-  SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
-
   int typeOfMarker = addPreference( tr( "VISU_TYPE_OF_MARKER" ), representGr, LightApp_Preferences::Selector, "VISU", "type_of_marker" );
 
   QList<QVariant> aMarkerTypeIndicesList;
@@ -4432,6 +4424,15 @@ void VisuGUI::preferencesChanged( const QString& a, const QString& b)
       aResourceMgr->setValue("VISU", "scalar_bar_horizontal_height",sbH);
     }
   }
+  else if(b == "visual_data_precision") {
+    LightApp_Preferences* pref = preferences();
+    QtxPreferenceItem* min = pref->findItem( tr( "VISU_MIN" ), true );
+    QtxPreferenceItem* max = pref->findItem( tr( "VISU_MAX" ), true );
+    if ( min )
+      setPreferenceProperty( min->id(), "decimals", qAbs( aResourceMgr->integerValue( "VISU", "visual_data_precision", 0 ) ) );
+    if ( max )
+      setPreferenceProperty( max->id(), "decimals", qAbs( aResourceMgr->integerValue( "VISU", "visual_data_precision", 0 ) ) );
+  }
 
   if ( !aWarning.isEmpty() ){
     aWarning += "The default values are applied instead.";
index 94c04d6cd3bd798e8d80367808757c943c6c43d7..96ab94be43250fa1d32fadcbab02d6466afc1f16 100644 (file)
@@ -1493,8 +1493,8 @@ void VisuGUI_ScalarBarPane::setRange( double imin, double imax, bool sbRange )
   SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
   int aPrecision = qAbs( aResourceMgr->integerValue("VISU", "visual_data_precision", 0) );
 
-  MinEdit->setText(QString::number(imin, 'g', aPrecision));
-  MaxEdit->setText(QString::number(imax, 'g', aPrecision));
+  MinEdit->setText(QString::number(imin, 'g', aPrecision+1)); // VSR +1 is for 'g' format
+  MaxEdit->setText(QString::number(imax, 'g', aPrecision+1)); // VSR +1 is for 'g' format
 
   if( sbRange )
     RBIrange->setChecked( true );