Salome HOME
Refactoring
authorouv <ouv@opencascade.com>
Thu, 10 Dec 2009 08:28:09 +0000 (08:28 +0000)
committerouv <ouv@opencascade.com>
Thu, 10 Dec 2009 08:28:09 +0000 (08:28 +0000)
src/SMESHGUI/SMESHGUI_Hypotheses.cxx
src/SMESHGUI/SMESHGUI_Hypotheses.h
src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.cxx
src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx
src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.h

index 793cc17518e2b183a1fc31e78f1db8cadc332d14..ae38ba269a66f85c1ba33d3a2b67237fadb09632 100644 (file)
@@ -42,6 +42,8 @@
 #include <LightApp_Application.h>
 #include <SalomeApp_Application.h>
 #include <SalomeApp_IntSpinBox.h>
+#include <SalomeApp_Notebook.h>
+//#include <SalomeApp_Study.h>
 
 // Qt includes
 #include <QFrame>
@@ -54,7 +56,8 @@
 #define MARGIN  11
 
 SMESHGUI_GenericHypothesisCreator::SMESHGUI_GenericHypothesisCreator( const QString& theHypType )
-  : myHypType( theHypType ), myIsCreate( false ), myDlg( 0 )
+  : SMESHGUI_Helper( SMESHGUI::GetSMESHGUI() ),
+    myHypType( theHypType ), myIsCreate( false ), myDlg( 0 )
 {
 }
 
@@ -193,11 +196,10 @@ QFrame* SMESHGUI_GenericHypothesisCreator::buildStdFrame()
         break;
       case QVariant::String:
         {
-          /* ouv: temporarily disabled
           if((*anIt).isVariable) {
-            _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
             QString aVar = (*anIt).myValue.toString();
-            if(aStudy->IsInteger(aVar.toLatin1().constData())){
+            QVariant::Type aType = getNotebook()->getType( aVar );
+            if(aType == QVariant::Int) {
               SalomeApp_IntSpinBox* sb = new SalomeApp_IntSpinBox( GroupC1 );
               sb->setObjectName( (*anIt).myName );
               attuneStdWidget( sb, i );
@@ -205,7 +207,7 @@ QFrame* SMESHGUI_GenericHypothesisCreator::buildStdFrame()
               connect( sb, SIGNAL( valueChanged( int ) ), this, SLOT( onValueChanged() ) );
               w = sb;
             }
-            else if(aStudy->IsReal(aVar.toLatin1().constData())){
+            else if( aType == QVariant::Double ) {
               SalomeApp_DoubleSpinBox* sb = new SMESHGUI_SpinBox( GroupC1 );
               sb->setObjectName( (*anIt).myName );
               attuneStdWidget( sb, i );
@@ -215,14 +217,13 @@ QFrame* SMESHGUI_GenericHypothesisCreator::buildStdFrame()
             }
           }
           else {
-          */
             QLineEdit* le = new QLineEdit( GroupC1 );
             le->setObjectName( (*anIt).myName );
             attuneStdWidget( le, i );
             le->setText( (*anIt).myValue.toString() );
             connect( le, SIGNAL( textChanged( const QString& ) ), this, SLOT( onValueChanged() ) );
             w = le;
-          //}
+          }
         }
         break;
       }
index 70da0b4d3506f9c4963b19fd670538f0ca3eb02b..ac6fa8d720ee30837256f8db43b8c143a24742e2 100644 (file)
@@ -29,6 +29,7 @@
 // SMESH includes
 #include "SMESH_SMESHGUI.hxx"
 #include "SMESHGUI_HypothesesUtils.h"
+#include "SMESHGUI_Helper.h"
 
 // Qt includes
 #include <QtxDialog.h>
@@ -43,7 +44,7 @@ class QEventLoop;
 /*!
  * \brief Auxiliary class for creation of hypotheses
 */
-class SMESHGUI_EXPORT SMESHGUI_GenericHypothesisCreator : public QObject
+class SMESHGUI_EXPORT SMESHGUI_GenericHypothesisCreator : public QObject, public SMESHGUI_Helper
 {
   Q_OBJECT
 
index 4283d4760f7cc6941092174c8cd251c38a4ef688..1d51257686912f8d557196c164f3148b4d8b7809 100644 (file)
@@ -305,16 +305,16 @@ bool StdMeshersGUI_NbSegmentsCreator::readParamsFromHypo( NbSegmentsHypothesisDa
 
   h_data.myNbSeg = (int) h->GetNumberOfSegments();
   
-  SMESH::ListOfParameters_var aParameters = h->GetLastParameters();
+  SALOME::StringArray* aParameters = h->GetParameters();
 
-  h_data.myNbSegVarName  = (aParameters->length() > 0) ? QString(aParameters[0].in()) : QString("");
+  h_data.myNbSegVarName  = (aParameters->length() > 0) ? QString(aParameters->operator[](0)) : QString("");
 
   int distr = (int) h->GetDistrType();
   h_data.myDistrType = distr;
   h_data.myScale = distr==1 ? h->GetScaleFactor() : 1.0;
   
   if(distr==1){
-    h_data.myScaleVarName  = (aParameters->length() > 1) ? QString(aParameters[1].in()) : QString("");
+    h_data.myScaleVarName  = (aParameters->length() > 1) ? QString(aParameters->operator[](1)) : QString("");
   }
   else 
     h_data.myScaleVarName = QString("");
@@ -379,7 +379,9 @@ bool StdMeshersGUI_NbSegmentsCreator::storeParamsToHypo( const NbSegmentsHypothe
     //the function will be checked with old conversion mode, so that it may occurs
     //unexpected errors for user
 
+    /* ouv: temporarily disabled
     h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+    */
   }
   catch(const SALOME::SALOME_Exception& ex)
   {
index b5b2d12086c21786e341ac6f07b3698ab25d0798..f929b5ffafc53b2b5471f01706c25bfd6b643984 100644 (file)
@@ -421,9 +421,9 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         StdMeshers::StdMeshers_LocalLength::_narrow( hypothesis() );
 
       h->SetLength( params[0].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       h->SetPrecision( params[1].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
     }
     else if( hypType()=="MaxLength" )
     {
@@ -431,7 +431,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         StdMeshers::StdMeshers_MaxLength::_narrow( hypothesis() );
 
       h->SetLength( params[0].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       h->SetUsePreestimatedLength( widget< QCheckBox >( 1 )->isChecked() );
       if ( !h->HavePreestimatedLength() && !h->_is_equivalent( initParamsHypothesis() )) {
         StdMeshers::StdMeshers_MaxLength_var hInit =
@@ -445,7 +445,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         StdMeshers::StdMeshers_SegmentLengthAroundVertex::_narrow( hypothesis() );
 
       h->SetLength( params[0].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
     }
     else if( hypType()=="Arithmetic1D" )
     {
@@ -456,9 +456,9 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         widget< StdMeshersGUI_SubShapeSelectorWdg >( 2 );
 
       h->SetStartLength( params[0].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       h->SetEndLength( params[1].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       if (w) {
         h->SetReversedEdges( w->GetListOfIDs() );
         h->SetObjectEntry( w->GetMainShapeEntry() );
@@ -476,7 +476,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         widget< StdMeshersGUI_SubShapeSelectorWdg >( 1 );
 
       if (w1) {
-        h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+        //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
         h->SetPoints( w1->GetListOfPoints() );
         h->SetNbSegments( w1->GetListOfSegments() );
       }
@@ -489,7 +489,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
     {
       StdMeshers::StdMeshers_MaxElementArea_var h =
         StdMeshers::StdMeshers_MaxElementArea::_narrow( hypothesis() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       h->SetMaxElementArea( params[0].myValue.toDouble() );
     }
     else if( hypType()=="MaxElementVolume" )
@@ -498,7 +498,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         StdMeshers::StdMeshers_MaxElementVolume::_narrow( hypothesis() );
 
       h->SetMaxElementVolume( params[0].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
     }
     else if( hypType()=="StartEndLength" )
     {
@@ -509,9 +509,9 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         widget< StdMeshersGUI_SubShapeSelectorWdg >( 2 );
 
       h->SetStartLength( params[0].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       h->SetEndLength( params[1].myValue.toDouble() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       if (w) {
         h->SetReversedEdges( w->GetListOfIDs() );
         h->SetObjectEntry( w->GetMainShapeEntry() );
@@ -521,7 +521,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
     {
       StdMeshers::StdMeshers_Deflection1D_var h =
         StdMeshers::StdMeshers_Deflection1D::_narrow( hypothesis() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
       h->SetDeflection( params[0].myValue.toDouble() );
     }
     else if( hypType()=="AutomaticLength" )
@@ -537,7 +537,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         StdMeshers::StdMeshers_NumberOfLayers::_narrow( hypothesis() );
 
       h->SetNumberOfLayers( params[0].myValue.toInt() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
     }
     else if( hypType()=="LayerDistribution" )
     {
@@ -547,8 +547,8 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         widget< StdMeshersGUI_LayerDistributionParamWdg >( 0 );
       
       h->SetLayerDistribution( w->GetHypothesis() );
-      h->SetParameters(w->GetHypothesis()->GetParameters());
-      w->GetHypothesis()->ClearParameters();
+      //h->SetParameters(w->GetHypothesis()->GetParameters());
+      //w->GetHypothesis()->ClearParameters();
     }
     else if( hypType()=="NumberOfLayers2D" )
     {
@@ -556,7 +556,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         StdMeshers::StdMeshers_NumberOfLayers2D::_narrow( hypothesis() );
 
       h->SetNumberOfLayers( params[0].myValue.toInt() );
-      h->SetParameters(aVariablesList.join(":").toLatin1().constData());
+      //h->SetParameters(aVariablesList.join(":").toLatin1().constData());
     }
     else if( hypType()=="LayerDistribution2D" )
     {
@@ -566,8 +566,8 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
         widget< StdMeshersGUI_LayerDistributionParamWdg >( 0 );
       
       h->SetLayerDistribution( w->GetHypothesis() );
-      h->SetParameters(w->GetHypothesis()->GetParameters());
-      w->GetHypothesis()->ClearParameters();
+      //h->SetParameters(w->GetHypothesis()->GetParameters());
+      //w->GetHypothesis()->ClearParameters();
     }
     else if( hypType()=="ProjectionSource1D" )
     {
@@ -653,7 +653,8 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
   }
   
   SMESH::SMESH_Hypothesis_var hyp = initParamsHypothesis();
-  SMESH::ListOfParameters_var aParameters = hyp->GetLastParameters();
+  //SMESH::ListOfParameters_var aParameters = hyp->GetLastParameters();
+  SALOME::StringArray* aParameters = hyp->GetParameters();
 
   if( hypType()=="LocalLength" )
   {
@@ -881,10 +882,12 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
     //Set into not published hypo last variables
     QStringList aLastVarsList;
     for(int i = 0;i<aParameters->length();i++) 
-      aLastVarsList.append(QString(aParameters[i].in()));
+      aLastVarsList.append(QString(aParameters->operator[](i)));
 
+    /* ouv: temporarily disabled
     if(!aLastVarsList.isEmpty())
       h->GetLayerDistribution()->SetLastParameters(aLastVarsList.join(":").toLatin1().constData());
+    */
     
     customWidgets()->append
       ( new StdMeshersGUI_LayerDistributionParamWdg( h->GetLayerDistribution(), hypName(), dlg()));
@@ -907,10 +910,12 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
     //Set into not published hypo last variables
     QStringList aLastVarsList;
     for(int i = 0;i<aParameters->length();i++) 
-      aLastVarsList.append(QString(aParameters[i].in()));
+      aLastVarsList.append(QString(aParameters->operator[](i)));
 
+    /* ouv: temporarily disabled
     if(!aLastVarsList.isEmpty())
       h->GetLayerDistribution()->SetLastParameters(aLastVarsList.join(":").toLatin1().constData());
+    */
     
     customWidgets()->append
       ( new StdMeshersGUI_LayerDistributionParamWdg( h->GetLayerDistribution(), hypName(), dlg()));
@@ -1261,11 +1266,12 @@ void StdMeshersGUI_StdHypothesisCreator::valueChanged( QWidget* paramWidget)
  */
 //================================================================================
 
-bool StdMeshersGUI_StdHypothesisCreator::initVariableName(SMESH::ListOfParameters_var theParameters, 
+bool StdMeshersGUI_StdHypothesisCreator::initVariableName(SALOME::StringArray* theParameters, 
                                                           StdParam &theParams, 
                                                           int order) const
 {
-  QString aVaribaleName = (theParameters->length() > order) ? QString(theParameters[order].in()) : QString("");
+  QString aVaribaleName = (theParameters->length() > order) ?
+    QString( CORBA::string_dup( theParameters->operator[]( order ) ) ) : QString("");
   theParams.isVariable = !aVaribaleName.isEmpty();
   if(theParams.isVariable) 
     theParams.myValue = aVaribaleName;
index 011ff8945b5a4caebe3c6b210e71b97f4de2ad59..2f44689d79ee0a1b755f0937869edcc610dbdf1e 100644 (file)
@@ -59,7 +59,7 @@ protected:
   virtual QWidget* getWidgetForParam( int paramIndex ) const;
   virtual ListOfWidgets* customWidgets() const;
   virtual void     onReject();
-  virtual bool     initVariableName(SMESH::ListOfParameters_var theParameters, StdParam& theParams, int order) const;
+  virtual bool     initVariableName(SALOME::StringArray* theParameters, StdParam& theParams, int order) const;
 
   virtual void     valueChanged( QWidget* );