]> Creatis software - cpPlugins.git/blob - appli/examples/example_TestParameters.cxx
Widget integration (step 5/6): Interactive plugins now supported, widgets updates...
[cpPlugins.git] / appli / examples / example_TestParameters.cxx
1 #include <iostream>
2 #include <vector>
3
4 #include <itkIndex.h>
5 #include <itkPoint.h>
6
7 #include <cpPlugins/Interface/Parameters.h>
8
9 // -------------------------------------------------------------------------
10 template< class L >
11 void PrintList( const L& lst, const std::string& desc )
12 {
13   std::cout << "\t " << desc << ": ";
14   typename L::const_iterator lIt = lst.begin( );
15   for( ; lIt != lst.end( ); ++lIt )
16     std::cout << *lIt << " ## ";
17   std::cout << std::endl;
18 }
19
20 // -------------------------------------------------------------------------
21 int main( int argc, char* argv[] )
22 {
23   typedef cpPlugins::Interface::Parameters TParameters;
24   typedef itk::Index< 3 > TIndex;
25   typedef itk::Point< float, 3 > TPoint;
26
27   TParameters::Pointer parameters = TParameters::New( );
28
29   TIndex idx; idx[ 0 ] = 1; idx[ 1 ] = 2; idx[ 2 ] = 3;
30   TPoint pnt; pnt[ 0 ] = 3.1; pnt[ 1 ] = 2.2; pnt[ 2 ] = 1.3;
31
32   parameters->ConfigureAsString( "StringParam", "String_Value" );
33   parameters->ConfigureAsBool( "BoolParam", false );
34   parameters->ConfigureAsInt( "IntParam", -314 );
35   parameters->ConfigureAsUint( "UintParam", 314 );
36   parameters->ConfigureAsReal( "RealParam", 3.14 );
37   parameters->ConfigureAsIndex( "IndexParam", 3, idx );
38   parameters->ConfigureAsPoint( "PointParam", 3, pnt );
39   parameters->ConfigureAsStringList( "StringListParam" );
40   parameters->ConfigureAsBoolList( "BoolListParam" );
41   parameters->ConfigureAsIntList( "IntListParam" );
42   parameters->ConfigureAsUintList( "UintListParam" );
43   parameters->ConfigureAsRealList( "RealListParam" );
44   parameters->ConfigureAsIndexList( "IndexListParam" );
45   parameters->ConfigureAsPointList( "PointListParam" );
46
47   std::vector< std::string > choices;
48   choices.push_back( "bat" );
49   choices.push_back( "deux" );
50   choices.push_back( "drei" );
51   choices.push_back( "cuatro" );
52   choices.push_back( "cinque" );
53   parameters->ConfigureAsChoices( "ChoicesParam", choices );
54
55   std::cout << "---------------------------------------------" << std::endl;
56   parameters->Print( std::cout );
57   std::cout << "---------------------------------------------" << std::endl;
58
59   parameters->SetString( "StringParam", "test_value" );
60   parameters->SetBool( "BoolParam", true );
61   parameters->SetInt( "IntParam", -1234567 );
62   parameters->SetUint( "UintParam", 1234567 );
63   parameters->SetReal( "RealParam", 3.14159244444 );
64
65   idx[ 0 ] = 10; idx[ 1 ] = 20; idx[ 2 ] = 30;
66   pnt[ 0 ] = 30.1; pnt[ 1 ] = 21.2; pnt[ 2 ] = 12.3;
67   parameters->SetIndex( "IndexParam", 3, idx );
68   parameters->SetPoint( "PointParam", 3, pnt );
69
70   std::cout << "---------------------------------------------" << std::endl;
71   parameters->Print( std::cout );
72   std::cout << "---------------------------------------------" << std::endl;
73
74   parameters->ClearStringList( "StringListParam" );
75   parameters->ClearBoolList( "BoolListParam" );
76   parameters->ClearIntList( "IntListParam" );
77   parameters->ClearUintList( "UintListParam" );
78   parameters->ClearRealList( "RealListParam" );
79   parameters->ClearIndexList( "IndexListParam" );
80   parameters->ClearPointList( "PointListParam" );
81
82   parameters->AddToStringList( "StringListParam", "one" );
83   parameters->AddToStringList( "StringListParam", "two" );
84   parameters->AddToStringList( "StringListParam", "three" );
85   parameters->AddToStringList( "StringListParam", "four" );
86
87   parameters->AddToBoolList( "BoolListParam", 1 );
88   parameters->AddToBoolList( "BoolListParam", 0 );
89   parameters->AddToBoolList( "BoolListParam", 0 );
90   parameters->AddToBoolList( "BoolListParam", 1 );
91   parameters->AddToBoolList( "BoolListParam", 1 );
92
93   parameters->AddToIntList( "IntListParam", 1 );
94   parameters->AddToIntList( "IntListParam", -2 );
95   parameters->AddToIntList( "IntListParam", 3 );
96   parameters->AddToIntList( "IntListParam", -4 );
97   parameters->AddToIntList( "IntListParam", 5 );
98   parameters->AddToIntList( "IntListParam", -6 );
99   parameters->AddToIntList( "IntListParam", 7 );
100   parameters->AddToIntList( "IntListParam", -8 );
101   parameters->AddToIntList( "IntListParam", 9 );
102   parameters->AddToIntList( "IntListParam", -10 );
103   parameters->AddToIntList( "IntListParam", 11 );
104
105   parameters->AddToUintList( "UintListParam", 1 );
106   parameters->AddToUintList( "UintListParam", 2 );
107   parameters->AddToUintList( "UintListParam", 3 );
108   parameters->AddToUintList( "UintListParam", 4 );
109   parameters->AddToUintList( "UintListParam", 5 );
110   parameters->AddToUintList( "UintListParam", 6 );
111   parameters->AddToUintList( "UintListParam", 7 );
112   parameters->AddToUintList( "UintListParam", 8 );
113   parameters->AddToUintList( "UintListParam", 9 );
114   parameters->AddToUintList( "UintListParam", 10 );
115   parameters->AddToUintList( "UintListParam", 11 );
116
117   parameters->AddToRealList( "RealListParam", 1.9 );
118   parameters->AddToRealList( "RealListParam", 2.8 );
119   parameters->AddToRealList( "RealListParam", 3.7 );
120   parameters->AddToRealList( "RealListParam", 4.6 );
121   parameters->AddToRealList( "RealListParam", 5.5 );
122   parameters->AddToRealList( "RealListParam", 6.4 );
123   parameters->AddToRealList( "RealListParam", 7.3 );
124   parameters->AddToRealList( "RealListParam", 8.2 );
125   parameters->AddToRealList( "RealListParam", 9.1 );
126   parameters->AddToRealList( "RealListParam", 1.0012 );
127   parameters->AddToRealList( "RealListParam", 1.131245 );
128
129   idx.Fill( 1 );
130   parameters->AddToIndexList( "IndexListParam", 3, idx );
131   idx.Fill( 2 );
132   parameters->AddToIndexList( "IndexListParam", 3, idx );
133   idx.Fill( 3 );
134   parameters->AddToIndexList( "IndexListParam", 3, idx );
135
136   pnt.Fill( 1.2 );
137   parameters->AddToPointList( "PointListParam", 3, pnt );
138   pnt.Fill( 3.14 );
139   parameters->AddToPointList( "PointListParam", 3, pnt );
140   pnt.Fill( 6.28 );
141   parameters->AddToPointList( "PointListParam", 3, pnt );
142   pnt.Fill( 1.63 );
143   parameters->AddToPointList( "PointListParam", 3, pnt );
144
145   std::cout << "---------------------------------------------" << std::endl;
146   parameters->Print( std::cout );
147   std::cout << "---------------------------------------------" << std::endl;
148
149   parameters->SetSelectedChoice( "ChoicesParam", "drei" );
150
151   std::cout << "---------------------------------------------" << std::endl;
152   parameters->Print( std::cout );
153   std::cout << "---------------------------------------------" << std::endl;
154
155   parameters->SetSelectedChoice( "ChoicesParam", "zeven" );
156
157   std::cout << "---------------------------------------------" << std::endl;
158   parameters->Print( std::cout );
159   std::cout << "---------------------------------------------" << std::endl;
160
161   return( 0 );
162 }
163
164 // eof - $RCSfile$