30 #ifndef _CEGUIProperty_h_
31 #define _CEGUIProperty_h_
33 #include "CEGUI/Base.h"
34 #include "CEGUI/String.h"
35 #include "CEGUI/XMLSerializer.h"
45 class CEGUIEXPORT PropertyReceiver
49 virtual ~PropertyReceiver() {}
60 class CEGUIEXPORT Property :
61 public AllocatedObject<Property>
64 static const String XMLElementName;
65 static const String NameXMLAttributeName;
66 static const String ValueXMLAttributeName;
91 Property(
const String& name,
const String& help,
const String& defaultValue =
"",
bool writesXML =
true,
const String& dataType =
"Unknown",
const String& origin =
"Unknown") :
94 d_default(defaultValue),
95 d_writeXML(writesXML),
104 virtual ~Property(
void) {}
114 const String& getHelp(
void)
const {
return d_help;}
124 const String& getName(
void)
const {
return d_name;}
133 const String& getDataType(
void)
const {
return d_dataType;}
142 const String& getOrigin(
void)
const {
return d_origin;}
154 virtual String get(
const PropertyReceiver* receiver)
const = 0;
220 virtual bool isReadable()
const;
230 virtual bool isWritable()
const;
236 virtual bool doesWriteXML()
const;
241 virtual Property* clone()
const = 0;
256 #endif // end of guard _CEGUIProperty_h_