30 #ifndef _CEGUIPropertySet_h_
31 #define _CEGUIPropertySet_h_
33 #include "CEGUI/Base.h"
34 #include "CEGUI/String.h"
35 #include "CEGUI/IteratorBase.h"
36 #include "CEGUI/Property.h"
37 #include "CEGUI/PropertyHelper.h"
38 #include "CEGUI/TypedProperty.h"
41 #include "CEGUI/TplWindowProperty.h"
42 #include "CEGUI/Exceptions.h"
46 # pragma warning(push)
47 # pragma warning(disable : 4251)
87 void addProperty(
Property* property);
100 void removeProperty(
const String& name);
123 void clearProperties(
void);
136 bool isPropertyPresent(
const String& name)
const;
151 const String& getPropertyHelp(
const String& name)
const;
177 PropertyRegistry::const_iterator pos = d_properties.find(name);
179 if (pos == d_properties.end())
184 Property* baseProperty = pos->second;
215 void setProperty(
const String& name,
const String& value);
226 PropertyRegistry::iterator pos = d_properties.find(name);
228 if (pos == d_properties.end())
233 Property* baseProperty = pos->second;
259 bool isPropertyDefault(
const String& name)
const;
277 PropertyRegistry d_properties;
291 PropertyIterator getPropertyIterator(
void)
const;
306 #define CEGUI_DEFINE_PROPERTY(class_type, property_native_type, name, help, setter, getter, default_value)\
308 static ::CEGUI::TplWindowProperty<class_type, property_native_type> sProperty(\
309 name, help, propertyOrigin, setter, getter, default_value);\
311 this->addProperty(&sProperty);\
328 #define CEGUI_DEFINE_PROPERTY_NO_XML(class_type, property_native_type, name, help, setter, getter, default_value)\
330 static ::CEGUI::TplWindowProperty<class_type, property_native_type> sProperty(\
331 name, help, propertyOrigin, setter, getter, default_value, false);\
333 this->addProperty(&sProperty);\
338 #if defined(_MSC_VER)
339 # pragma warning(pop)
342 #endif // end of guard _CEGUIPropertySet_h_