]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Added Flag NotConvert.
authorstv <stv@opencascade.com>
Wed, 2 Nov 2011 12:00:11 +0000 (12:00 +0000)
committerstv <stv@opencascade.com>
Wed, 2 Nov 2011 12:00:11 +0000 (12:00 +0000)
src/QDS/QDS.h
src/QDS/QDS_ComboBox.cxx
src/QDS/QDS_Datum.cxx

index 7a96d6538fa99cbf8917468375aacb9491c2cad9..dbace470880d19f38ea753eff9183874020abc8d 100644 (file)
@@ -53,13 +53,14 @@ public:
   //! Enum describes bit flags of the Qt datum view and behaviour
   typedef enum
   {
-    None = 0x00,                   //!< Non specified any flags (Default behaviour)
-    Label = 0x01,                  //!< Create subwidget for datum label
-    Control = 0x02,                //!< Create subwidget for datum input control
-    Units = 0x04,                  //!< Create subwidget for datum units of measure
-    NotFormat = 0x08,              //!< Don't format initial value
-    NotAccel = 0x10,               //!< Not support accelerators in datum label
-    UnitsWithLabel = 0x20,         //!< Display units of measure in label like "<label_text> (<units_text>) instead separate text"
+    None           = 0x00,         //!< Non specified any flags (Default behaviour)
+    Label          = 0x01,         //!< Create subwidget for datum label
+    Control        = 0x02,         //!< Create subwidget for datum input control
+    Units          = 0x04,         //!< Create subwidget for datum units of measure
+    NotFormat      = 0x08,         //!< Don't format initial value
+    NotAccel       = 0x10,         //!< Not support accelerators in datum label
+    NotConvert     = 0x20,         //!< Don't convert numeric value
+    UnitsWithLabel = 0x40,         //!< Display units of measure in label like "<label_text> (<units_text>) instead separate text"
     All = Label | Control | Units  //!< Create all subwidgets
   } DatumFlags;
 
index 89ba7746121d9002fc95729f26638b1ddf43b638..3e37b409e25b6049f76348ab29cc5d66eea9b6b4 100644 (file)
@@ -410,11 +410,11 @@ void QDS_ComboBox::setString( const QString& txt )
   else if ( txt.isEmpty() )
   {
     if ( !cb->isEditable() )
-      cb->setItemText( cb->currentIndex(), txt );
+      cb->setCleared( true );
     else
       cb->lineEdit()->setText( txt );
   }
-  if ( isClear != txt.isEmpty() || ( !isClear && old != cb->currentIndex() ) )
+  if ( isClear != txt.isEmpty() || ( !isClear && old != cb->currentIndex() ) || isClear != cb->isCleared() )
   {
     onParamChanged();
     QString str = getString();
index 2a0ab0b1324cdd10904b4c3762e89d903127095b..270480ba4a38ab98bea36638b173a5eaaea3475e 100644 (file)
@@ -588,7 +588,7 @@ double QDS_Datum::doubleValue() const
   else
   {
     res = getString().toDouble();
-    if ( !myDicItem.IsNull() )
+    if ( !myDicItem.IsNull() && !( flags() & NotConvert ) )
       res = myDicItem->ToSI( res );
   }
 
@@ -613,7 +613,7 @@ int QDS_Datum::integerValue() const
   else
   {
     double val = getString().toDouble();
-    if ( !myDicItem.IsNull() )
+    if ( !myDicItem.IsNull() && !( flags() & NotConvert ) )
       res = (int)myDicItem->ToSI( val );
   }
 
@@ -738,7 +738,7 @@ void QDS_Datum::setDoubleValue( const double num )
 
   mySourceValue = QString().setNum( num, 'g', 16 );
   double val = num;
-  if ( !myDicItem.IsNull() )
+  if ( !myDicItem.IsNull() && !( flags() & NotConvert ) )
     val = myDicItem->FromSI( val );
 
   QString aStr = format( ( flags() & NotFormat ) ? (QString) "" : format(), type(), val );
@@ -766,7 +766,7 @@ void QDS_Datum::setIntegerValue( const int num )
 
   mySourceValue = QString().setNum( num );
   double val = num;
-  if ( !myDicItem.IsNull() )
+  if ( !myDicItem.IsNull() && !( flags() & NotConvert ) )
     val = myDicItem->FromSI( val );
 
   QString aStr = format( ( flags() & NotFormat ) ? (QString) "" : format(), type(), val );