]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Merge fixes from V6_1_0
authorvsr <vsr@opencascade.com>
Fri, 8 Oct 2010 11:52:41 +0000 (11:52 +0000)
committervsr <vsr@opencascade.com>
Fri, 8 Oct 2010 11:52:41 +0000 (11:52 +0000)
src/Qtx/QtxDoubleSpinBox.cxx
src/Qtx/QtxIntSpinBox.cxx
src/SVTK/SALOME_Actor.cxx
src/SalomeApp/SalomeApp_DoubleSpinBox.cxx

index 87120b243d338520c9a66dc6a7aad82534be09ed..2c8b3baacff18f7a1359264a5d318c86cc6039d1 100644 (file)
@@ -75,6 +75,12 @@ QtxDoubleSpinBox::QtxDoubleSpinBox( QWidget* parent )
 : QDoubleSpinBox( parent ),
   myCleared( false )
 {
+  // VSR 01/07/2010: Disable thousands separator for spin box
+  // (to avoid incosistency of double-2-string and string-2-double conversion)
+  QLocale loc;
+  loc.setNumberOptions(loc.numberOptions() | QLocale::OmitGroupSeparator | QLocale::RejectGroupSeparator);
+  setLocale(loc);
+
   // Use precision equal to default Qt decimals
   myPrecision = decimals();
   
@@ -98,6 +104,12 @@ QtxDoubleSpinBox::QtxDoubleSpinBox( double min, double max, double step, QWidget
 : QDoubleSpinBox( parent ),
   myCleared( false )
 {
+  // VSR 01/07/2010: Disable thousands separator for spin box
+  // (to avoid incosistency of double-2-string and string-2-double conversion)
+  QLocale loc;
+  loc.setNumberOptions(loc.numberOptions() | QLocale::OmitGroupSeparator | QLocale::RejectGroupSeparator);
+  setLocale(loc);
+
   // Use precision equal to default Qt decimals
   myPrecision = decimals();
   
@@ -129,6 +141,12 @@ QtxDoubleSpinBox::QtxDoubleSpinBox( double min, double max, double step, int pre
   myCleared( false ),
   myPrecision( prec )
 {
+  // VSR 01/07/2010: Disable thousands separator for spin box
+  // (to avoid incosistency of double-2-string and string-2-double conversion)
+  QLocale loc;
+  loc.setNumberOptions(loc.numberOptions() | QLocale::OmitGroupSeparator | QLocale::RejectGroupSeparator);
+  setLocale(loc);
+
   setDecimals( dec );
   setMinimum( min );
   setMaximum( max );
@@ -221,7 +239,7 @@ double QtxDoubleSpinBox::valueFromText( const QString& text ) const
 */
 QString QtxDoubleSpinBox::textFromValue( double val ) const
 {
-  QString s = QLocale().toString( val, myPrecision >= 0 ? 'f' : 'g', qAbs( myPrecision ) );
+  QString s = locale().toString( val, myPrecision >= 0 ? 'f' : 'g', qAbs( myPrecision ) );
   return removeTrailingZeroes( s );
 }
 
@@ -232,7 +250,7 @@ QString QtxDoubleSpinBox::textFromValue( double val ) const
 */
 QString QtxDoubleSpinBox::removeTrailingZeroes( const QString& src ) const
 {
-  QString delim( QLocale().decimalPoint() );
+  QString delim( locale().decimalPoint() );
 
   int idx = src.lastIndexOf( delim );
   if ( idx == -1 )
@@ -344,7 +362,7 @@ QValidator::State QtxDoubleSpinBox::validate( QString& str, int& pos ) const
     }
     else if ( myPrecision < 0 ){
       // Consider too large negative exponent as Invalid
-      QChar e( QLocale().exponential() );
+      QChar e( locale().exponential() );
       int epos = str.indexOf( e, 0, Qt::CaseInsensitive );
       if ( epos != -1 ){
         epos++; // Skip exponential symbol itself
index cb3dd5bff9de685a932bc8ef38d8529088d8386a..a851c3cf48be24d2520245b1e41929750c83afeb 100755 (executable)
@@ -61,6 +61,12 @@ QtxIntSpinBox::QtxIntSpinBox( QWidget* parent )
 : QSpinBox( parent ),
   myCleared( false )
 {
+  // VSR 01/07/2010: Disable thousands separator for spin box
+  // (to avoid incosistency of double-2-string and string-2-double conversion)
+  QLocale loc;
+  loc.setNumberOptions(loc.numberOptions() | QLocale::OmitGroupSeparator | QLocale::RejectGroupSeparator);
+  setLocale(loc);
+
   setCorrectionMode( QSpinBox::CorrectToNearestValue );
   connect( lineEdit(), SIGNAL( textChanged( const QString& ) ), 
            this, SLOT( onTextChanged( const QString& ) ) );
@@ -81,6 +87,12 @@ QtxIntSpinBox::QtxIntSpinBox( int min, int max, int step, QWidget* parent )
 : QSpinBox( parent ),
   myCleared( false )
 {
+  // VSR 01/07/2010: Disable thousands separator for spin box
+  // (to avoid incosistency of double-2-string and string-2-double conversion)
+  QLocale loc;
+  loc.setNumberOptions(loc.numberOptions() | QLocale::OmitGroupSeparator | QLocale::RejectGroupSeparator);
+  setLocale(loc);
+
   setMinimum( min );
   setMaximum( max );
   setSingleStep( step );
index f7b54f6bce6f2a1b714316e0b9a089de54a9f428..13b2a0224223f11c9730a02396f8bd230280cb57 100644 (file)
@@ -495,14 +495,15 @@ SALOME_Actor
 
   if( !theIsHighlight ) {
     SetPreSelected( false );
-    VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
-    vtkActorCollection* theActors = aCopy.GetActors();
-    theActors->InitTraversal();
-    while( vtkActor *ac = theActors->GetNextActor() )
-      if( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( ac ) )
-        if( anActor->hasIO() && myIO->isSame( anActor->getIO() ) )
-          anActor->SetPreSelected( false );
-
+    if ( hasIO() ) {
+      VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
+      vtkActorCollection* theActors = aCopy.GetActors();
+      theActors->InitTraversal();
+      while( vtkActor *ac = theActors->GetNextActor() )
+       if( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( ac ) )
+         if( anActor->hasIO() && myIO->isSame( anActor->getIO() ) )
+           anActor->SetPreSelected( false );
+    }
   }else{
     switch(aSelectionMode) {
     case NodeSelection: 
@@ -595,15 +596,17 @@ SALOME_Actor
       if( !mySelector->IsSelected( myIO ) ) {
         SetPreSelected( true );
 
-        VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
-        vtkActorCollection* theActors = aCopy.GetActors();
-        theActors->InitTraversal();
-        while( vtkActor *anAct = theActors->GetNextActor() ) {
-          if( anAct != this )
-            if( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( anAct ) )
-              if( anActor->hasIO() && myIO->isSame( anActor->getIO() ) )
-                anActor->SetPreSelected( true );
-        }
+       if ( hasIO() ) {
+         VTK::ActorCollectionCopy aCopy(aRenderer->GetActors());
+         vtkActorCollection* theActors = aCopy.GetActors();
+         theActors->InitTraversal();
+         while( vtkActor *anAct = theActors->GetNextActor() ) {
+           if( anAct != this )
+             if( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( anAct ) )
+               if( anActor->hasIO() && myIO->isSame( anActor->getIO() ) )
+                 anActor->SetPreSelected( true );
+         }
+       }
       }
     }
     default:
@@ -658,7 +661,7 @@ SALOME_Actor
       int aVtkId = myPointPicker->GetPointId();
       if( aVtkId >= 0 && mySelector->IsValid( this, aVtkId, true ) ) {
         int anObjId = GetNodeObjId( aVtkId );
-        if( anObjId >= 0 ) {
+        if( hasIO() && anObjId >= 0 ) {
           mySelector->AddOrRemoveIndex( myIO, anObjId, anIsShift );
           mySelector->AddIObject( this );
         }
@@ -677,7 +680,7 @@ SALOME_Actor
       if( aVtkId >= 0 && mySelector->IsValid( this, aVtkId ) ) {
         int anObjId = GetElemObjId( aVtkId );
         if( anObjId >= 0 ) {
-          if ( CheckDimensionId(aSelectionMode,this,anObjId) ) {
+          if ( hasIO() && CheckDimensionId(aSelectionMode,this,anObjId) ) {
             mySelector->AddOrRemoveIndex( myIO, anObjId, anIsShift );
             mySelector->AddIObject( this );
           }
@@ -695,7 +698,7 @@ SALOME_Actor
         int anObjId = GetElemObjId( aVtkId );
         if( anObjId >= 0 ) {
           int anEdgeId = GetEdgeId(this,myCellPicker.GetPointer(),anObjId);
-          if( anEdgeId < 0 ) {
+          if( hasIO() && anEdgeId < 0 ) {
             mySelector->AddOrRemoveIndex( myIO, anObjId, false );
             mySelector->AddOrRemoveIndex( myIO, anEdgeId, true );
             mySelector->AddIObject( this );
@@ -706,10 +709,12 @@ SALOME_Actor
     }
     case ActorSelection : 
     {
-      if( mySelector->IsSelected( myIO ) && anIsShift )
-        mySelector->RemoveIObject( this );
-      else {
-        mySelector->AddIObject( this );
+      if ( hasIO() ) {
+       if( mySelector->IsSelected( myIO ) && anIsShift )
+         mySelector->RemoveIObject( this );
+       else {
+         mySelector->AddIObject( this );
+       }
       }
       break;
     }
@@ -749,14 +754,15 @@ SALOME_Actor
         }
       }
       
-      if( !anIndexes.IsEmpty() ) {
-        mySelector->AddOrRemoveIndex( myIO, anIndexes, anIsShift );
-        mySelector->AddIObject( this );
-        anIndexes.Clear();
+      if ( hasIO() ) {
+       if( !anIndexes.IsEmpty() ) {
+         mySelector->AddOrRemoveIndex( myIO, anIndexes, anIsShift );
+         mySelector->AddIObject( this );
+         anIndexes.Clear();
+       }
+       else if ( !anIsShift )
+         mySelector->RemoveIObject( this );
       }
-      else if ( !anIsShift )
-        mySelector->RemoveIObject( this );
-
       break;
     }
     case ActorSelection :
@@ -811,13 +817,16 @@ SALOME_Actor
             }
         }
       }
-      if( !anIndexes.IsEmpty() ) {
-        mySelector->AddOrRemoveIndex( myIO, anIndexes, anIsShift );
-        mySelector->AddIObject( this );
-        anIndexes.Clear();
+      
+      if ( hasIO() ) {
+       if( !anIndexes.IsEmpty() ) {
+         mySelector->AddOrRemoveIndex( myIO, anIndexes, anIsShift );
+         mySelector->AddIObject( this );
+         anIndexes.Clear();
+       }
+       else if ( !anIsShift )
+         mySelector->RemoveIObject( this );
       }
-      else if ( !anIsShift )
-        mySelector->RemoveIObject( this );
     }
     default:
       break;
index 984bb04b0371eb18b4b83c4d393186ef6658e3d7..3ef39e1bf13cbf10c6bfdb92d522a8041aa1794d 100644 (file)
@@ -377,7 +377,7 @@ SalomeApp_DoubleSpinBox::State SalomeApp_DoubleSpinBox::isValid( const QString&
   if( aSearchState == NotFound )
   {
     bool ok = false;
-    value = QLocale().toDouble( text, &ok );
+    value = locale().toDouble( text, &ok );
     if ( !ok )
       return NoVariable;
   }