]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ParametersQtDialog.cxx
Coding style improved.
[cpPlugins.git] / lib / cpPlugins / Interface / ParametersQtDialog.cxx
index 819abd3ca49daf02f38f1d31eb99ce2930341cc0..e6c5f5768030aae38f0c77ed827ce257301e0b63 100644 (file)
@@ -3,6 +3,7 @@
 #include <limits>
 #include <vector>
 
+#include <cpPlugins/Interface/ParametersListWidget.h>
 #include <QCheckBox>
 #include <QDialog>
 #include <QDialogButtonBox>
@@ -47,7 +48,6 @@ ParametersQtDialog(
        BoolList,
        IntList,
        UintList,
-       RealList,
        IndexList,
        PointList,
        NoType
@@ -91,6 +91,17 @@ ParametersQtDialog(
       v_double->setMaximum(  std::numeric_limits< double >::max( ) );
       v_double->setValue( parameters.GetValueAsReal( *nIt ) );
       w_input = v_double;
+    }
+    else if(
+      pt == Parameters::StringList ||
+      pt == Parameters::IntList ||
+      pt == Parameters::UintList ||
+      pt == Parameters::RealList
+      )
+    {
+      cpPlugins::Interface::ParametersListWidget* l_double =
+        new cpPlugins::Interface::ParametersListWidget( *nIt, dlg );
+      w_input = l_double;
 
     } // fi
 
@@ -159,6 +170,47 @@ ParametersQtDialog(
         dlg->findChild< QDoubleSpinBox* >( nIt->c_str( ) );
       if( v_double != NULL )
         parameters.SetValueAsReal( *nIt, v_double->value( ) );
+    }
+    else if(
+      pt == Parameters::StringList ||
+      pt == Parameters::IntList ||
+      pt == Parameters::UintList ||
+      pt == Parameters::RealList
+      )
+    {
+      cpPlugins::Interface::ParametersListWidget* l_double =
+        dlg->findChild< cpPlugins::Interface::ParametersListWidget* >(
+          nIt->c_str( )
+          );
+      if( l_double != NULL )
+      {
+        if( pt == Parameters::StringList )
+        {
+          std::vector< std::string > values = l_double->GetStringValues( );
+          for( int r = 0; r < values.size( ); ++r )
+            parameters.AddValueToStringList( *nIt, values[ r ] );
+        }
+        else if( pt == Parameters::IntList )
+        {
+          std::vector< int > values = l_double->GetIntValues( );
+          for( int r = 0; r < values.size( ); ++r )
+            parameters.AddValueToIntList( *nIt, values[ r ] );
+        }
+        else if( pt == Parameters::UintList )
+        {
+          std::vector< unsigned int > values = l_double->GetUintValues( );
+          for( int r = 0; r < values.size( ); ++r )
+            parameters.AddValueToUintList( *nIt, values[ r ] );
+        }
+        else if( pt == Parameters::RealList )
+        {
+          std::vector< double > values = l_double->GetDoubleValues( );
+          for( int r = 0; r < values.size( ); ++r )
+            parameters.AddValueToRealList( *nIt, values[ r ] );
+
+        } // fi
+
+      } // fi
 
     } // fi