]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Compilable version
authorouv <ouv@opencascade.com>
Tue, 24 Nov 2009 14:10:32 +0000 (14:10 +0000)
committerouv <ouv@opencascade.com>
Tue, 24 Nov 2009 14:10:32 +0000 (14:10 +0000)
src/SalomeApp/SalomeApp_Notebook.cxx
src/SalomeApp/SalomeApp_Notebook.h

index bf53ab5af241adc241ce03a73aa61709e63ca5b4..d24a6f0b69d08f4e5bc6b5b722496d9fe91ebd52 100644 (file)
 
 SalomeApp_Notebook::SalomeApp_Notebook( SalomeApp_Study* theStudy )
 {
-  SALOME::Notebook_var aRes;
   SALOMEDS_Study* aStudy = dynamic_cast<SALOMEDS_Study*>( theStudy->studyDS().operator->() );
   if( aStudy )
-    aRes = aStudy->GetStudy()->GetNotebook();
-  myNotebook = aRes._retn();
+    myNotebook = aStudy->GetStudy()->GetNotebook();
 }
 
 SalomeApp_Notebook::~SalomeApp_Notebook()
@@ -99,7 +97,7 @@ QVariant SalomeApp_Notebook::get( const QString& theName ) const
   return convert( myNotebook->GetParameter( theName.toLatin1().constData() ) );
 }
 
-QVariant SalomeApp_Notebook::calculate( const QString& theExpr ) const
+QVariant SalomeApp_Notebook::calculate( const QString& theExpr )
 {
   if( CORBA::is_nil( myTmp ) )
   {
@@ -111,8 +109,8 @@ QVariant SalomeApp_Notebook::calculate( const QString& theExpr ) const
       myTmp = myNotebook->GetParameter( TMP_NAME );
     }
   }
-  myTmp->SetExpression( theExpr );
-  myTmp->Update();
+  myTmp->SetExpression( theExpr.toLatin1().constData() );
+  myTmp->Update( myNotebook._retn() );
   return convert( myTmp );
 }
 
@@ -120,28 +118,24 @@ QVariant SalomeApp_Notebook::convert( SALOME::Parameter_ptr theParam ) const
 {
   QVariant aRes;
   if( !CORBA::is_nil( theParam ) )
-    switch( aParam->GetType() )
+    switch( theParam->GetType() )
     {
     case SALOME::TBoolean:
-      aRes = aParam->AsBoolean();
+      aRes = theParam->AsBoolean();
       break;
     case SALOME::TInteger:
-      aRes = (int)aParam->AsInteger();
+      aRes = (int)theParam->AsInteger();
       break;
     case SALOME::TReal:
-      aRes = aParam->AsReal();
+      aRes = theParam->AsReal();
       break;
     case SALOME::TString:
-      aRes = aParam->AsString();
+      aRes = theParam->AsString();
       break;
     }
   return aRes;
 }
 
-QVariant SalomeApp_Notebook::calculate( const QString& theExpr ) const
-{
-}
-
 void SalomeApp_Notebook::update()
 {
   myNotebook->Update();
@@ -170,25 +164,26 @@ QStringList SalomeApp_Notebook::absentParameters() const
 
 void SalomeApp_Notebook::setParameters( SALOME::ParameterizedObject_ptr theObject, int theCount, QAbstractSpinBox* theFirstSpin, ... )
 {
-  SALOME::StringArray aParams;
-  aParams.length( theCount );
-  QAbstractSpinBox** aSpin = &theFirstSpin;
-  for( int i=0; i<theCount; i++, aSpin++ )
+  SALOME::StringArray_var aParams = new SALOME::StringArray();
+  aParams->length( theCount );
+
+  QAbstractSpinBox** aSpinArray = &theFirstSpin;
+  for( int i=0; i<theCount; i++, aSpinArray++ )
   {
-    SalomeApp_DoubleSpinBox* aDbl = dynamic_cast<SalomeApp_DoubleSpinBox*>( *aSpin );
-    if( aDbl )
-    {
-      continue;
-    }
+    QAbstractSpinBox* aSpin = *aSpinArray;
+    QString aText = aSpin->text();
 
-    SalomeApp_IntSpinBox* anInt = dynamic_cast<SalomeApp_IntSpinBox*>( *aSpin );
-    if( anInt )
-    {
-      continue;
-    }
+    bool anIsValue = false;
+    if( dynamic_cast<SalomeApp_DoubleSpinBox*>( aSpin ) )
+      aText.toDouble( &anIsValue );
+    else if( dynamic_cast<SalomeApp_IntSpinBox*>( aSpin ) )
+      aText.toInt( &anIsValue );
+
+    if( anIsValue )
+      aText = "";
 
-    aParams[i] = CORBA::string_dup( "" );
+    aParams[i] = CORBA::string_dup( aText.toLatin1().constData() );
   }
 
-  theObject->SetParameters( myNotebook, aParams );
+  theObject->SetParameters( myNotebook._retn(), aParams );
 }
index 8ffc0f312d8eb7654067f83a936336319c446576..6117e35ee90ed1d3520fa39f166be36bc16cacd7 100644 (file)
@@ -49,7 +49,7 @@ public:
   bool isParameter( const QString& theName ) const;
   void set( const QString& theName, const QVariant& theValue );
   QVariant get( const QString& theName ) const;
-  QVariant calculate( const QString& theExpr ) const;
+  QVariant calculate( const QString& theExpr );
 
   void update();
 
@@ -63,8 +63,8 @@ protected:
   QVariant convert( SALOME::Parameter_ptr theParam ) const;
 
 private:
-  SALOME::Notebook_ptr myNotebook;
-  SALOME::Parameter_ptr myTmp;
+  SALOME::Notebook_var myNotebook;
+  SALOME::Parameter_var myTmp;
 };
 
 #endif