X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FParameters.h;h=def98e7ddb46dba8efc81ab3c6302596051d3d2f;hb=2361f4f97631e09d88d8a5510a369817dcaa19db;hp=bbf9dfcb47b12bf0ee89b741a257bbfb6867ca35;hpb=a3fd8b70054c862446ed7e3fabf2fd24cfe2ad92;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Parameters.h b/lib/cpPlugins/Interface/Parameters.h index bbf9dfc..def98e7 100644 --- a/lib/cpPlugins/Interface/Parameters.h +++ b/lib/cpPlugins/Interface/Parameters.h @@ -2,8 +2,10 @@ #define __CPPLUGINS__INTERFACE__PARAMETERS__H__ #include +#include #include #include +#include namespace cpPlugins { @@ -11,28 +13,37 @@ namespace cpPlugins { /** */ - class Parameters + class cpPlugins_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; @@ -61,43 +72,25 @@ namespace cpPlugins void SetValueAsIndex( const TString& name, const TUint& n, ... ); void SetValueAsPoint( const TString& name, const TUint& n, ... ); - template< class I > - void SetValueAsStringList( - const TString& name, const I& b, const I& e - ); - - template< class I > - void SetValueAsBoolList( - const TString& name, const I& b, const I& e - ); - - template< class I > - void SetValueAsIntList( - const TString& name, const I& b, const I& e - ); - - template< class I > - void SetValueAsUintList( - const TString& name, const I& b, const I& e - ); - - template< class I > - void SetValueAsRealList( - const TString& name, const I& b, const I& e - ); - - template< class I > - void SetValueAsIndexList( - const TString& name, const I& b, const I& e - ); - - template< class I > - void SetValueAsPointList( - const TString& name, const I& b, const I& e - ); - + void AddValueToStringList( const TString& name, const TString& v ); + void AddValueToBoolList( const TString& name, const TBool& v ); + void AddValueToIntList( const TString& name, const TInt& v ); + void AddValueToUintList( const TString& name, const TUint& v ); + void AddValueToRealList( const TString& name, const TReal& v ); + void AddValueToIndexList( const TString& name, const TUint& n, ... ); + void AddValueToPointList( const TString& name, const TUint& n, ... ); + + void ClearStringList( const TString& name ); + void ClearBoolList( const TString& name ); + void ClearIntList( const TString& name ); + void ClearUintList( const TString& name ); + void ClearRealList( const TString& name ); + void ClearIndexList( const TString& name ); + void ClearPointList( const TString& name ); + std::vector< TString > GetParameters( ) const; Self::Type GetParameterType( const TString& name ) const; + const TString& GetRawValue( const TString& name ) const; const TString& GetValueAsString( const TString& name ) const; TBool GetValueAsBool( const TString& name ) const; TInt GetValueAsInt( const TString& name ) const; @@ -136,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;