]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Parameters.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / Parameters.h
index 65bf2a86253c56115e79bfba8ab7dd289cd26d31..0e54f0f7fdfae594e9fd9a55cb7042fde4a22a10 100644 (file)
@@ -2,8 +2,10 @@
 #define __CPPLUGINS__INTERFACE__PARAMETERS__H__
 
 #include <map>
+#include <ostream>
 #include <string>
 #include <vector>
+#include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
 
 namespace cpPlugins
 {
@@ -11,28 +13,37 @@ namespace cpPlugins
   {
     /**
      */
-    class Parameters
+    class cpPlugins_Interface_EXPORT Parameters
     {
+      // -------------------------------------------------------------------
+      friend std::ostream& operator<<(
+        std::ostream& os, const Parameters& p
+        )
+      {
+        Parameters::TParameters::const_iterator pIt =
+          p.m_Parameters.begin( );
+        for( ; pIt != p.m_Parameters.end( ); ++pIt )
+        {
+          os
+            << pIt->first << ": ("
+            << pIt->second.first << ", "
+            << pIt->second.second << ")"
+            << std::endl;
+
+        } // rof
+        return( os );
+      }
+
     public:
       typedef Parameters Self;
 
       enum Type
       {
-        String = 0,
-        Bool,
-        Int,
-        Uint,
-        Real,
-        Index,
-        Point,
-        StringList,
-        BoolList,
-        IntList,
-        UintList,
-        RealList,
-        IndexList,
-        PointList,
-        NoType
+        String    , Bool       , Int      ,
+        Uint      , Real       , Index    ,
+        Point     , StringList , BoolList ,
+        IntList   , UintList   , RealList ,
+        IndexList , PointList  , NoType
       };
 
       typedef bool          TBool;
@@ -118,6 +129,20 @@ namespace cpPlugins
         std::vector< P >& lst, const TString& name
         ) const;
 
+      bool HasStringValue( const TString& name ) const;
+      bool HasBoolValue( const TString& name ) const;
+      bool HasIntValue( const TString& name ) const;
+      bool HasUintValue( const TString& name ) const;
+      bool HasRealValue( const TString& name ) const;
+      bool HasIndexValue( const TString& name ) const;
+      bool HasPointValue( const TString& name ) const;
+      bool HasStringListValue( const TString& name ) const;
+      bool HasBoolListValue( const TString& name ) const;
+      bool HasIntListValue( const TString& name ) const;
+      bool HasUintListValue( const TString& name ) const;
+      bool HasRealListValue( const TString& name ) const;
+      bool HasIndexListValue( const TString& name ) const;
+      bool HasPointListValue( const TString& name ) const;
 
     protected:
       TParameters m_Parameters;