]> Creatis software - cpPlugins.git/blobdiff - appli/examples/example_TestParameters.cxx
...
[cpPlugins.git] / appli / examples / example_TestParameters.cxx
index 0c865ea3640939b8736efb2e8cf7f093f39278cc..2e6e9e0375e0906dd1973262213f90264857ccb4 100644 (file)
@@ -1,9 +1,6 @@
 #include <iostream>
 #include <vector>
 
-#include <itkIndex.h>
-#include <itkPoint.h>
-
 #include <cpPlugins/Interface/Parameters.h>
 
 // -------------------------------------------------------------------------
@@ -21,149 +18,110 @@ void PrintList( const L& lst, const std::string& desc )
 int main( int argc, char* argv[] )
 {
   typedef cpPlugins::Interface::Parameters TParameters;
-  typedef itk::Index< 3 > TIndex;
-  typedef itk::Point< float, 3 > TPoint;
-
-  TParameters parameters;
-
-  parameters.Configure( TParameters::String, "StringParam" );
-  parameters.Configure( TParameters::Bool, "BoolParam" );
-  parameters.Configure( TParameters::Int, "IntParam" );
-  parameters.Configure( TParameters::Uint, "UintParam" );
-  parameters.Configure( TParameters::Real, "RealParam" );
-  parameters.Configure( TParameters::Index, "IndexParam" );
-  parameters.Configure( TParameters::Point, "PointParam" );
-  parameters.Configure( TParameters::StringList, "StringListParam" );
-  parameters.Configure( TParameters::BoolList, "BoolListParam" );
-  parameters.Configure( TParameters::IntList, "IntListParam" );
-  parameters.Configure( TParameters::UintList, "UintListParam" );
-  parameters.Configure( TParameters::RealList, "RealListParam" );
-  parameters.Configure( TParameters::IndexList, "IndexListParam" );
-  parameters.Configure( TParameters::PointList, "PointListParam" );
-
-  parameters.SetValueAsString( "StringParam", "test_value" );
-  parameters.SetValueAsBool( "BoolParam", true );
-  parameters.SetValueAsInt( "IntParam", -1234567 );
-  parameters.SetValueAsUint( "UintParam", 1234567 );
-  parameters.SetValueAsReal( "RealParam", 3.14159244444 );
-  parameters.SetValueAsIndex( "IndexParam", 3, 4, -3, 2 );
-  parameters.SetValueAsPoint( "PointParam", 3, 9.4, 8.3, 7.2 );
-
-  parameters.ClearStringList( "StringListParam" );
-  parameters.ClearBoolList( "BoolListParam" );
-  parameters.ClearIntList( "IntListParam" );
-  parameters.ClearUintList( "UintListParam" );
-  parameters.ClearRealList( "RealListParam" );
-  parameters.ClearIndexList( "IndexListParam" );
-  parameters.ClearPointList( "PointListParam" );
-
-  parameters.AddValueToStringList( "StringListParam", "one" );
-  parameters.AddValueToStringList( "StringListParam", "two" );
-  parameters.AddValueToStringList( "StringListParam", "three" );
-  parameters.AddValueToStringList( "StringListParam", "four" );
-
-  parameters.AddValueToBoolList( "BoolListParam", 1 );
-  parameters.AddValueToBoolList( "BoolListParam", 0 );
-  parameters.AddValueToBoolList( "BoolListParam", 0 );
-  parameters.AddValueToBoolList( "BoolListParam", 1 );
-  parameters.AddValueToBoolList( "BoolListParam", 1 );
-
-  parameters.AddValueToIntList( "IntListParam", 1 );
-  parameters.AddValueToIntList( "IntListParam", -2 );
-  parameters.AddValueToIntList( "IntListParam", 3 );
-  parameters.AddValueToIntList( "IntListParam", -4 );
-  parameters.AddValueToIntList( "IntListParam", 5 );
-  parameters.AddValueToIntList( "IntListParam", -6 );
-  parameters.AddValueToIntList( "IntListParam", 7 );
-  parameters.AddValueToIntList( "IntListParam", -8 );
-  parameters.AddValueToIntList( "IntListParam", 9 );
-  parameters.AddValueToIntList( "IntListParam", -10 );
-  parameters.AddValueToIntList( "IntListParam", 11 );
-
-  parameters.AddValueToUintList( "UintListParam", 1 );
-  parameters.AddValueToUintList( "UintListParam", 2 );
-  parameters.AddValueToUintList( "UintListParam", 3 );
-  parameters.AddValueToUintList( "UintListParam", 4 );
-  parameters.AddValueToUintList( "UintListParam", 5 );
-  parameters.AddValueToUintList( "UintListParam", 6 );
-  parameters.AddValueToUintList( "UintListParam", 7 );
-  parameters.AddValueToUintList( "UintListParam", 8 );
-  parameters.AddValueToUintList( "UintListParam", 9 );
-  parameters.AddValueToUintList( "UintListParam", 10 );
-  parameters.AddValueToUintList( "UintListParam", 11 );
-
-  parameters.AddValueToRealList( "RealListParam", 1.9 );
-  parameters.AddValueToRealList( "RealListParam", 2.8 );
-  parameters.AddValueToRealList( "RealListParam", 3.7 );
-  parameters.AddValueToRealList( "RealListParam", 4.6 );
-  parameters.AddValueToRealList( "RealListParam", 5.5 );
-  parameters.AddValueToRealList( "RealListParam", 6.4 );
-  parameters.AddValueToRealList( "RealListParam", 7.3 );
-  parameters.AddValueToRealList( "RealListParam", 8.2 );
-  parameters.AddValueToRealList( "RealListParam", 9.1 );
-  parameters.AddValueToRealList( "RealListParam", 1.0012 );
-  parameters.AddValueToRealList( "RealListParam", 1.131245 );
-
-  parameters.AddValueToIndexList( "IndexListParam", 3, -1, 2, 3 );
-  parameters.AddValueToIndexList( "IndexListParam", 3, 2, -3, 4 );
-  parameters.AddValueToIndexList( "IndexListParam", 3, 3, 4, 7 );
-
-  parameters.AddValueToPointList( "PointListParam", 3, 3.45, 4.67, 7.9 );
-  parameters.AddValueToPointList( "PointListParam", 3, 3.45, 4.67, 3.14 );
-  parameters.AddValueToPointList( "PointListParam", 3, 1.45, 3.67, 2.14 );
-  parameters.AddValueToPointList( "PointListParam", 3, 4.5, 6.7, 4.2 );
-
-  std::vector< TParameters::TString > names = parameters.GetParameters( );
-  std::cout << "Names:" << std::endl;
-  for( unsigned int i = 0; i < names.size( ); ++i )
-    std::cout
-      << "\t... "
-      << names[ i ] << " "
-      << parameters.GetRawValue( names[ i ] ) << "("
-      << parameters.GetParameterType( names[ i ] ) << ")"
-      << std::endl;
-
-  std::cout << std::endl << "Values with type checking" << std::endl;
-  std::cout
-    << "\t... " << "StringParam: "
-    << parameters.GetValueAsString( "StringParam" ) << std::endl
-    << "\t... " << "BoolParam: "
-    << parameters.GetValueAsBool( "BoolParam" ) << std::endl
-    << "\t... " << "IntParam: "
-    << parameters.GetValueAsInt( "IntParam" ) << std::endl
-    << "\t... " << "UintParam: "
-    << parameters.GetValueAsUint( "UintParam" ) << std::endl
-    << "\t... " << "RealParam: "
-    << parameters.GetValueAsReal( "RealParam" ) << std::endl
-    << "\t... " << "IndexParam: "
-    << parameters.GetValueAsIndex< TIndex >( "IndexParam" ) << std::endl
-    << "\t... " << "PointParam: "
-    << parameters.GetValueAsPoint< TPoint >( "PointParam" ) << std::endl;
-
-  std::vector< TParameters::TString > string_lst;
-  std::vector< TParameters::TBool > bool_lst;
-  std::vector< TParameters::TInt > int_lst;
-  std::vector< TParameters::TUint > uint_lst;
-  std::vector< TParameters::TReal > real_lst;
-  std::vector< TIndex > index_lst;
-  std::vector< TPoint > point_lst;
-
-  parameters.GetValueAsStringList( string_lst, "StringListParam" );
-  parameters.GetValueAsBoolList( bool_lst, "BoolListParam" );
-  parameters.GetValueAsIntList( int_lst, "IntListParam" );
-  parameters.GetValueAsUintList( uint_lst, "UintListParam" );
-  parameters.GetValueAsRealList( real_lst, "RealListParam" );
-  parameters.GetValueAsIndexList( index_lst, "IndexListParam" );
-  parameters.GetValueAsPointList( point_lst, "PointListParam" );
-
-  std::cout << "List parameters:" << std::endl;
-  PrintList( string_lst, "StringListParam" );
-  PrintList( bool_lst, "BoolListParam" );
-  PrintList( int_lst, "IntListParam" );
-  PrintList( uint_lst, "UintListParam" );
-  PrintList( real_lst, "RealListParam" );
-  PrintList( index_lst, "IndexListParam" );
-  PrintList( point_lst, "PointListParam" );
+
+  TParameters::Pointer parameters = TParameters::New( );
+
+  parameters->ConfigureAsString( "StringParam" );
+  parameters->ConfigureAsBool( "BoolParam" );
+  parameters->ConfigureAsInt( "IntParam" );
+  parameters->ConfigureAsUint( "UintParam" );
+  parameters->ConfigureAsReal( "RealParam" );
+  parameters->ConfigureAsStringList( "StringListParam" );
+  parameters->ConfigureAsBoolList( "BoolListParam" );
+  parameters->ConfigureAsIntList( "IntListParam" );
+  parameters->ConfigureAsUintList( "UintListParam" );
+  parameters->ConfigureAsRealList( "RealListParam" );
+
+  std::vector< std::string > choices;
+  choices.push_back( "bat" );
+  choices.push_back( "deux" );
+  choices.push_back( "drei" );
+  choices.push_back( "cuatro" );
+  choices.push_back( "cinque" );
+  parameters->ConfigureAsChoices( "ChoicesParam", choices );
+
+  std::cout << "---------------------------------------------" << std::endl;
+  parameters->Print( std::cout );
+  std::cout << "---------------------------------------------" << std::endl;
+
+  parameters->SetString( "StringParam", "test_value" );
+  parameters->SetBool( "BoolParam", true );
+  parameters->SetInt( "IntParam", -1234567 );
+  parameters->SetUint( "UintParam", 1234567 );
+  parameters->SetReal( "RealParam", 3.14159244444 );
+
+  std::cout << "---------------------------------------------" << std::endl;
+  parameters->Print( std::cout );
+  std::cout << "---------------------------------------------" << std::endl;
+
+  parameters->ClearStringList( "StringListParam" );
+  parameters->ClearBoolList( "BoolListParam" );
+  parameters->ClearIntList( "IntListParam" );
+  parameters->ClearUintList( "UintListParam" );
+  parameters->ClearRealList( "RealListParam" );
+
+  parameters->AddToStringList( "StringListParam", "one" );
+  parameters->AddToStringList( "StringListParam", "two" );
+  parameters->AddToStringList( "StringListParam", "three" );
+  parameters->AddToStringList( "StringListParam", "four" );
+
+  parameters->AddToBoolList( "BoolListParam", 1 );
+  parameters->AddToBoolList( "BoolListParam", 0 );
+  parameters->AddToBoolList( "BoolListParam", 0 );
+  parameters->AddToBoolList( "BoolListParam", 1 );
+  parameters->AddToBoolList( "BoolListParam", 1 );
+
+  parameters->AddToIntList( "IntListParam", 1 );
+  parameters->AddToIntList( "IntListParam", -2 );
+  parameters->AddToIntList( "IntListParam", 3 );
+  parameters->AddToIntList( "IntListParam", -4 );
+  parameters->AddToIntList( "IntListParam", 5 );
+  parameters->AddToIntList( "IntListParam", -6 );
+  parameters->AddToIntList( "IntListParam", 7 );
+  parameters->AddToIntList( "IntListParam", -8 );
+  parameters->AddToIntList( "IntListParam", 9 );
+  parameters->AddToIntList( "IntListParam", -10 );
+  parameters->AddToIntList( "IntListParam", 11 );
+
+  parameters->AddToUintList( "UintListParam", 1 );
+  parameters->AddToUintList( "UintListParam", 2 );
+  parameters->AddToUintList( "UintListParam", 3 );
+  parameters->AddToUintList( "UintListParam", 4 );
+  parameters->AddToUintList( "UintListParam", 5 );
+  parameters->AddToUintList( "UintListParam", 6 );
+  parameters->AddToUintList( "UintListParam", 7 );
+  parameters->AddToUintList( "UintListParam", 8 );
+  parameters->AddToUintList( "UintListParam", 9 );
+  parameters->AddToUintList( "UintListParam", 10 );
+  parameters->AddToUintList( "UintListParam", 11 );
+
+  parameters->AddToRealList( "RealListParam", 1.9 );
+  parameters->AddToRealList( "RealListParam", 2.8 );
+  parameters->AddToRealList( "RealListParam", 3.7 );
+  parameters->AddToRealList( "RealListParam", 4.6 );
+  parameters->AddToRealList( "RealListParam", 5.5 );
+  parameters->AddToRealList( "RealListParam", 6.4 );
+  parameters->AddToRealList( "RealListParam", 7.3 );
+  parameters->AddToRealList( "RealListParam", 8.2 );
+  parameters->AddToRealList( "RealListParam", 9.1 );
+  parameters->AddToRealList( "RealListParam", 1.0012 );
+  parameters->AddToRealList( "RealListParam", 1.131245 );
+
+  std::cout << "---------------------------------------------" << std::endl;
+  parameters->Print( std::cout );
+  std::cout << "---------------------------------------------" << std::endl;
+
+  parameters->SetSelectedChoice( "ChoicesParam", "drei" );
+
+  std::cout << "---------------------------------------------" << std::endl;
+  parameters->Print( std::cout );
+  std::cout << "---------------------------------------------" << std::endl;
+
+  parameters->SetSelectedChoice( "ChoicesParam", "zeven" );
+
+  std::cout << "---------------------------------------------" << std::endl;
+  parameters->Print( std::cout );
+  std::cout << "---------------------------------------------" << std::endl;
 
   return( 0 );
 }