Go to the documentation of this file.
30 namespace Base {
class AbstractWriter; }
31 namespace Base {
class AbstractXMLReader; }
32 namespace Base {
class PersistenceVersion; }
37 class PropertyContainer;
38 class DynamicPropertyP;
58 void getPropertyList(std::vector<Property*> &List)
const;
82 const char* doc=0,
short attr=0,
bool ro=
false,
bool hidden=
false);
105 short getPropertyType(
const Property* prop)
const;
142 const char *g=0,
const char *d=0,
short a=0,
bool ro=
false,
bool h=
false)
143 :property(prop),name(
std::move(n)),pName(pn)
144 ,
group(g?g:
""),doc(d?d:
""),attr(a),readonly(ro),hidden(h)
148 return pName?pName:name.c_str();
155 std::string getUniquePropertyName(
PropertyContainer &pc,
const char *Name)
const;
158 std::unique_ptr<DynamicPropertyP> mPimpl;
const char * getPropertyGroup(const char *name) const
Get the group name of a named property.
bool removeDynamicProperty(const char *name)
const char * getPropertyDocumentation(const Property *prop) const
Get the documentation of a property.
std::size_t operator()(const char *s) const
Definition: DynamicProperty.h:41
short attr
Definition: DynamicProperty.h:137
void clear()
Remove all properties.
Property * property
Definition: DynamicProperty.h:132
std::string group
Definition: DynamicProperty.h:135
Property * addDynamicProperty(PropertyContainer &pc, const char *type, const char *name=0, const char *group=0, const char *doc=0, short attr=0, bool ro=false, bool hidden=false)
basic_group< entity, Types... > group
Alias declaration for the most common use case.
Definition: entt.hpp:3822
const char * getPropertyName(const Property *prop) const
Get the name of a property.
Definition: PropertyContainer.h:93
std::string doc
Definition: DynamicProperty.h:136
size_t size() const
Get property count.
bool operator()(const char *a, const char *b) const
Definition: Persistence.h:13
Definition: DynamicProperty.h:131
bool readonly
Definition: DynamicProperty.h:138
bool hidden
Definition: DynamicProperty.h:139
void getPropertyMap(std::map< std::string, Property * > &Map) const
Get all properties of the class (including parent)
std::string name
Definition: DynamicProperty.h:133
std::vector< std::string > getDynamicPropertyNames() const
Get a list of all dynamic properties.
Property * restore(PropertyContainer &pc, const char *PropName, const char *TypeName, Base::AbstractXMLReader &reader, Base::PersistenceVersion &version)
void save(const Property *prop, Base::AbstractWriter &writer, Base::PersistenceVersion &version)
Definition: AbstractXMLReader.h:7
const char * getPropertyDocumentation(const char *name) const
Get the documentation of a named property.
bool addProperty(Property *prop)
const char * getPropertyGroup(const Property *prop) const
Get the group name of a property.
short getPropertyType(const char *name) const
Get the attributes of a named property.
const char * pName
Definition: DynamicProperty.h:134
PropData getDynamicPropertyData(const Property *prop) const
LX_CORE_EXPORT Version & version
Definition: GlobalId.h:64
Definition: Property.h:72
Property * getDynamicPropertyByName(const char *name) const
Find a dynamic property by its name.
const char * getName() const
Definition: DynamicProperty.h:147
PropData(Property *prop=0, std::string &&n=std::string(), const char *pn=0, const char *g=0, const char *d=0, short a=0, bool ro=false, bool h=false)
Definition: DynamicProperty.h:141
Definition: DynamicProperty.h:51
virtual ~DynamicProperty()
Definition: AbstractXMLReader.h:5
Definition: PropertyLink.h:16
bool removeProperty(const Property *prop)
Remove pre-existing property, which will not be deleted.