#include <PropertyContainer.h>
Classes | |
struct | OffsetBase |
struct | PropertySpec |
Public Member Functions | |
void | addProperty (OffsetBase offsetBase, const char *PropName, Property *Prop, const char *PropertyGroup=nullptr, PropertyType=Prop_None, const char *PropertyDocu=nullptr) |
const PropertySpec * | findProperty (OffsetBase offsetBase, const char *PropName) const |
const PropertySpec * | findProperty (OffsetBase offsetBase, const Property *prop) const |
const char * | getDocumentation (OffsetBase offsetBase, const char *name) const |
const char * | getDocumentation (OffsetBase offsetBase, const Property *prop) const |
const char * | getGroup (OffsetBase offsetBase, const char *name) const |
const char * | getGroup (OffsetBase offsetBase, const Property *prop) const |
const char * | getName (OffsetBase offsetBase, const Property *prop) const |
Property * | getPropertyByName (OffsetBase offsetBase, const char *name) const |
void | getPropertyList (OffsetBase offsetBase, std::vector< Property * > &List) const |
void | getPropertyMap (OffsetBase offsetBase, std::map< std::string, Property * > &Map) const |
void | getPropertyNamedList (OffsetBase offsetBase, std::vector< std::pair< const char *, Property * > > &List) const |
short | getType (OffsetBase offsetBase, const char *name) const |
short | getType (OffsetBase offsetBase, const Property *prop) const |
void | merge (PropertyData *other=nullptr) const |
void | split (PropertyData *other) |
Public Attributes | |
bool | parentMerged = false |
const PropertyData * | parentPropertyData |
bmi::multi_index_container< PropertySpec, bmi::indexed_by< bmi::sequenced<>, bmi::hashed_unique< bmi::member< PropertySpec, const char *, &PropertySpec::Name >, CStringHasher, CStringHasher >, bmi::hashed_unique< bmi::member< PropertySpec, short, &PropertySpec::Offset > > > > | propertyData |
void PropertyData::addProperty | ( | OffsetBase | offsetBase, |
const char * | PropName, | ||
Property * | Prop, | ||
const char * | PropertyGroup = nullptr , |
||
PropertyType | Type = Prop_None , |
||
const char * | PropertyDocu = nullptr |
||
) |
References App::PropertyData::OffsetBase::getOffsetTo(), parentMerged, and propertyData.
Referenced by DocumentObject.Box::init(), and DocumentObject.DocumentObject::onChanged().
const PropertyData::PropertySpec * PropertyData::findProperty | ( | OffsetBase | offsetBase, |
const char * | PropName | ||
) | const |
References merge(), and propertyData.
Referenced by getDocumentation(), getGroup(), getName(), getPropertyByName(), and getType().
const PropertyData::PropertySpec * PropertyData::findProperty | ( | OffsetBase | offsetBase, |
const Property * | prop | ||
) | const |
References App::PropertyData::OffsetBase::getOffsetTo(), merge(), and propertyData.
const char * PropertyData::getDocumentation | ( | OffsetBase | offsetBase, |
const char * | name | ||
) | const |
References App::PropertyData::PropertySpec::Docu, and findProperty().
Referenced by App::PropertyContainer::getPropertyDocumentation().
const char * PropertyData::getDocumentation | ( | OffsetBase | offsetBase, |
const Property * | prop | ||
) | const |
References App::PropertyData::PropertySpec::Docu, and findProperty().
const char * PropertyData::getGroup | ( | OffsetBase | offsetBase, |
const char * | name | ||
) | const |
References findProperty(), and App::PropertyData::PropertySpec::Group.
Referenced by App::PropertyContainer::getPropertyGroup().
const char * PropertyData::getGroup | ( | OffsetBase | offsetBase, |
const Property * | prop | ||
) | const |
References findProperty(), and App::PropertyData::PropertySpec::Group.
const char * PropertyData::getName | ( | OffsetBase | offsetBase, |
const Property * | prop | ||
) | const |
References findProperty(), and App::PropertyData::PropertySpec::Name.
Referenced by App::PropertyContainer::getPropertyName().
Property * PropertyData::getPropertyByName | ( | OffsetBase | offsetBase, |
const char * | name | ||
) | const |
References findProperty(), App::PropertyData::OffsetBase::getOffset(), and App::PropertyData::PropertySpec::Offset.
Referenced by App::PropertyContainer::getPropertyByName().
void PropertyData::getPropertyList | ( | OffsetBase | offsetBase, |
std::vector< Property * > & | List | ||
) | const |
References App::PropertyData::OffsetBase::getOffset(), merge(), and propertyData.
Referenced by App::PropertyContainer::getPropertyList().
void PropertyData::getPropertyMap | ( | OffsetBase | offsetBase, |
std::map< std::string, Property * > & | Map | ||
) | const |
References App::PropertyData::OffsetBase::getOffset(), merge(), and propertyData.
Referenced by App::PropertyContainer::getPropertyMap().
void PropertyData::getPropertyNamedList | ( | OffsetBase | offsetBase, |
std::vector< std::pair< const char *, Property * > > & | List | ||
) | const |
References App::PropertyData::OffsetBase::getOffset(), merge(), and propertyData.
Referenced by App::PropertyContainer::getPropertyNamedList().
short PropertyData::getType | ( | OffsetBase | offsetBase, |
const char * | name | ||
) | const |
References findProperty(), and App::PropertyData::PropertySpec::Type.
Referenced by PathScripts.PathToolEdit.ToolEditor::updateToolType(), and PathScripts.PathToolEdit.ToolEditor::updateUI().
short PropertyData::getType | ( | OffsetBase | offsetBase, |
const Property * | prop | ||
) | const |
References findProperty(), and App::PropertyData::PropertySpec::Type.
Referenced by PathScripts.PathToolEdit.ToolEditor::updateToolType(), and PathScripts.PathToolEdit.ToolEditor::updateUI().
void PropertyData::merge | ( | PropertyData * | other = nullptr | ) | const |
References merge(), parentMerged, parentPropertyData, and propertyData.
Referenced by findProperty(), getPropertyList(), getPropertyMap(), getPropertyNamedList(), and merge().
void PropertyData::split | ( | PropertyData * | other | ) |
References parentMerged, parentPropertyData, and propertyData.
|
mutable |
Referenced by addProperty(), merge(), and split().
const PropertyData* App::PropertyData::parentPropertyData |
|
mutable |
Referenced by addProperty(), findProperty(), getPropertyList(), getPropertyMap(), getPropertyNamedList(), merge(), and split().