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 );
168 virtual void clear();
177 template<
typename PropType >
200 WPropGroup
addPropertyGroup( std::string name, std::string description,
bool hide =
false );
214 template<
typename T>
215 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
bool hide =
false );
230 template<
typename T>
231 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
232 boost::shared_ptr< WCondition > condition,
bool hide =
false );
247 template<
typename T>
248 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
265 template<
typename T>
266 boost::shared_ptr< WPropertyVariable< T > >
addProperty( std::string name, std::string description,
const T& initial,
267 boost::shared_ptr< WCondition > condition,
432 boost::shared_ptr< WCondition > condition,
bool hide =
false );
449 boost::shared_ptr< WCondition > condition,
bool hide =
false );
466 boost::shared_ptr< WCondition > condition,
bool hide =
false );
482 boost::shared_ptr< WCondition > condition,
bool hide =
false );
498 boost::shared_ptr< WCondition > condition,
bool hide =
false );
514 boost::shared_ptr< WCondition > condition,
bool hide =
false );
530 boost::shared_ptr< WCondition > condition,
bool hide =
false );
546 boost::shared_ptr< WCondition > condition,
bool hide =
false );
562 boost::shared_ptr< WCondition > condition,
bool hide =
false );
740 boost::shared_ptr< WCondition > condition,
759 boost::shared_ptr< WCondition > condition,
778 boost::shared_ptr< WCondition > condition,
797 boost::shared_ptr< WCondition > condition,
815 boost::shared_ptr< WCondition > condition,
833 boost::shared_ptr< WCondition > condition,
851 boost::shared_ptr< WCondition > condition,
869 boost::shared_ptr< WCondition > condition,
887 boost::shared_ptr< WCondition > condition,
894 template<
typename PropType >
901 template<
typename T>
904 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
907 p->setHidden( hide );
912 template<
typename T>
914 boost::shared_ptr< WCondition > condition,
bool hide )
916 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
919 p->setHidden( hide );
924 template<
typename T>
928 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
931 p->setHidden( hide );
936 template<
typename T>
938 boost::shared_ptr< WCondition > condition,
941 boost::shared_ptr< WPropertyVariable< T > > p = boost::shared_ptr< WPropertyVariable< T > >(
944 p->setHidden( hide );
949 #endif // WPROPERTYGROUP_H