25 #ifndef WPROPERTYGROUP_H
26 #define WPROPERTYGROUP_H
32 #include "WConditionSet.h"
33 #include "WPropertyBase.h"
34 #include "WPropertyGroupBase.h"
35 #include "WPropertyTypes.h"
36 #include "WPropertyVariable.h"
37 #include "WSharedSequenceContainer.h"
38 #include "exceptions/WPropertyNotUnique.h"
54 typedef boost::shared_ptr< WPropertyGroup >
SPtr;
55 typedef boost::shared_ptr< const WPropertyGroup >
ConstSPtr;
89 WPropertyGroup( std::string name =
"unnamed group", std::string description =
"an unnamed group of properties" );
122 virtual boost::shared_ptr< WPropertyBase >
clone();
129 virtual PROPERTY_TYPE
getType()
const;
159 virtual bool set( boost::shared_ptr< WPropertyBase > value,
bool recommendedOnly = false );
173 virtual bool set( boost::shared_ptr< WPropertyGroup > value, std::vector< std::string > exclude = std::vector< std::string >(),
174 bool recommendedOnly =
false );
183 virtual void clear();
192 template<
typename PropType >
215 WPropGroup
addPropertyGroup( std::string name, std::string description,
bool hide =
false );
229 template<
typename T>
230 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
bool hide =
false );
245 template<
typename T>
246 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
247 boost::shared_ptr< WCondition > condition,
bool hide =
false );
262 template<
typename T>
263 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
280 template<
typename T>
281 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
282 boost::shared_ptr< WCondition > condition,
447 boost::shared_ptr< WCondition > condition,
bool hide =
false );
464 boost::shared_ptr< WCondition > condition,
bool hide =
false );
481 boost::shared_ptr< WCondition > condition,
bool hide =
false );
497 boost::shared_ptr< WCondition > condition,
bool hide =
false );
513 boost::shared_ptr< WCondition > condition,
bool hide =
false );
529 boost::shared_ptr< WCondition > condition,
bool hide =
false );
545 boost::shared_ptr< WCondition > condition,
bool hide =
false );
561 boost::shared_ptr< WCondition > condition,
bool hide =
false );
577 boost::shared_ptr< WCondition > condition,
bool hide =
false );
755 boost::shared_ptr< WCondition > condition,
774 boost::shared_ptr< WCondition > condition,
793 boost::shared_ptr< WCondition > condition,
812 boost::shared_ptr< WCondition > condition,
830 boost::shared_ptr< WCondition > condition,
848 boost::shared_ptr< WCondition > condition,
866 boost::shared_ptr< WCondition > condition,
884 boost::shared_ptr< WCondition > condition,
902 boost::shared_ptr< WCondition > condition,
916 virtual bool setImpl( boost::shared_ptr< WPropertyGroup > value, std::string path =
"",
917 std::vector< std::string > exclude = std::vector< std::string >(),
918 bool recommendedOnly =
false );
923 template<
typename PropType >
930 template<
typename T>
933 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
936 p->setHidden( hide );
941 template<
typename T>
943 boost::shared_ptr< WCondition > condition,
bool hide )
945 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
948 p->setHidden( hide );
953 template<
typename T>
957 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
960 p->setHidden( hide );
965 template<
typename T>
967 boost::shared_ptr< WCondition > condition,
970 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
973 p->setHidden( hide );
978 #endif // WPROPERTYGROUP_H