]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ParametersQtDialog.cxx
Coding style improved.
[cpPlugins.git] / lib / cpPlugins / Interface / ParametersQtDialog.cxx
index 1cc5820f30ee9561ba890cff5df75907133ea912..e6c5f5768030aae38f0c77ed827ce257301e0b63 100644 (file)
@@ -3,6 +3,7 @@
 #include <limits>
 #include <vector>
 
+#include <cpPlugins/Interface/ParametersListWidget.h>
 #include <QCheckBox>
 #include <QDialog>
 #include <QDialogButtonBox>
@@ -10,7 +11,6 @@
 #include <QHBoxLayout>
 #include <QLabel>
 #include <QLineEdit>
-#include <QTableWidget>
 #include <QWidget>
 
 // -------------------------------------------------------------------------
@@ -92,24 +92,15 @@ ParametersQtDialog(
       v_double->setValue( parameters.GetValueAsReal( *nIt ) );
       w_input = v_double;
     }
-    else if( pt == Parameters::RealList )
+    else if(
+      pt == Parameters::StringList ||
+      pt == Parameters::IntList ||
+      pt == Parameters::UintList ||
+      pt == Parameters::RealList
+      )
     {
-      QStringList header;
-      header << nIt->c_str( );
-
-      QTableWidget* l_double = new QTableWidget( dlg );
-      l_double->setColumnCount( 1 );
-      l_double->setRowCount( 1 );
-      l_double->setHorizontalHeaderLabels( header );
-      l_double->setShowGrid( true );
-      l_double->setSelectionBehavior( QAbstractItemView::SelectRows );
-      l_double->setSelectionMode( QAbstractItemView::SingleSelection );
-
-      QObject::connect(
-        l_double, SIGNAL( cellDoubleClicked( int, int ) ),
-        l_double, SLOT( insertRow( int ) )
-        );
-
+      cpPlugins::Interface::ParametersListWidget* l_double =
+        new cpPlugins::Interface::ParametersListWidget( *nIt, dlg );
       w_input = l_double;
 
     } // fi
@@ -180,21 +171,44 @@ ParametersQtDialog(
       if( v_double != NULL )
         parameters.SetValueAsReal( *nIt, v_double->value( ) );
     }
-    else if( pt == Parameters::RealList )
+    else if(
+      pt == Parameters::StringList ||
+      pt == Parameters::IntList ||
+      pt == Parameters::UintList ||
+      pt == Parameters::RealList
+      )
     {
-      QTableWidget* l_double =
-        dlg->findChild< QTableWidget* >( nIt->c_str( ) );
+      cpPlugins::Interface::ParametersListWidget* l_double =
+        dlg->findChild< cpPlugins::Interface::ParametersListWidget* >(
+          nIt->c_str( )
+          );
       if( l_double != NULL )
       {
-        for( int r = 0; r < l_double->rowCount( ); ++r )
+        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 )
         {
-          double v =
-            std::atof(
-              l_double->item( r, 0 )->text( ).toStdString( ).c_str( )
-              );
-          parameters.AddValueToRealList( *nIt, v );
+          std::vector< double > values = l_double->GetDoubleValues( );
+          for( int r = 0; r < values.size( ); ++r )
+            parameters.AddValueToRealList( *nIt, values[ r ] );
 
-        } // rof
+        } // fi
 
       } // fi