KiCad PCB EDA Suite
|
Returns metadata for a specific type. More...
Public Member Functions | |
CLASS_DESC (TYPE_ID aId) | |
Unique type identifier (obtained using TYPE_HASH) | |
void | rebuild () |
Traverses the class inheritance hierarchy bottom-to-top, gathering all properties available to a type. | |
void | collectPropsRecur (PROPERTY_LIST &aResult, PROPERTY_SET &aReplaced, PROPERTY_DISPLAY_ORDER &aDisplayOrder, PROPERTY_SET &aMasked) const |
Public Attributes | |
const TYPE_ID | m_id |
Types after which this type inherits. | |
std::vector< std::reference_wrapper< CLASS_DESC > > | m_bases |
Properties unique to this type (i.e. not inherited) | |
std::map< wxString, std::unique_ptr< PROPERTY_BASE > > | m_ownProperties |
Type converters available for this type. | |
std::map< TYPE_ID, std::unique_ptr< TYPE_CAST_BASE > > | m_typeCasts |
Properties from bases that should be masked (hidden) on this subclass. | |
PROPERTY_SET | m_maskedBaseProperties |
Overrides for base class property availabilities. | |
PROPERTY_FUNCTOR_MAP | m_availabilityOverrides |
Overrides for base class property writeable status. | |
PROPERTY_FUNCTOR_MAP | m_writeabilityOverrides |
All properties (both unique to the type and inherited) | |
std::vector< PROPERTY_BASE * > | m_allProperties |
Compiled display order for all properties. | |
PROPERTY_DISPLAY_ORDER | m_displayOrder |
List of property groups provided by this class in display order. | |
std::vector< wxString > | m_groupDisplayOrder |
Non-owning list of classes's direct properties in display order. | |
std::vector< PROPERTY_BASE * > | m_ownDisplayOrder |
The property groups provided by this class. | |
std::set< wxString > | m_groups |
Replaced properties (TYPE_ID / name) | |
PROPERTY_SET | m_replaced |
Recreates the list of properties. | |
Returns metadata for a specific type.
Definition at line 295 of file property_mgr.h.
|
inline |
Unique type identifier (obtained using TYPE_HASH)
Definition at line 297 of file property_mgr.h.
References m_groupDisplayOrder, and m_groups.
void PROPERTY_MANAGER::CLASS_DESC::collectPropsRecur | ( | PROPERTY_LIST & | aResult, |
PROPERTY_SET & | aReplaced, | ||
PROPERTY_DISPLAY_ORDER & | aDisplayOrder, | ||
PROPERTY_SET & | aMasked | ||
) | const |
Definition at line 339 of file property_mgr.cpp.
Referenced by rebuild().
void PROPERTY_MANAGER::CLASS_DESC::rebuild | ( | ) |
Traverses the class inheritance hierarchy bottom-to-top, gathering all properties available to a type.
Definition at line 297 of file property_mgr.cpp.
References collectPropsRecur(), group, m_allProperties, m_bases, m_displayOrder, and m_groupDisplayOrder.
std::vector<PROPERTY_BASE*> PROPERTY_MANAGER::CLASS_DESC::m_allProperties |
Compiled display order for all properties.
Definition at line 326 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::GetProperty(), and rebuild().
PROPERTY_FUNCTOR_MAP PROPERTY_MANAGER::CLASS_DESC::m_availabilityOverrides |
Overrides for base class property writeable status.
Definition at line 320 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::IsAvailableFor(), and PROPERTY_MANAGER::OverrideAvailability().
std::vector<std::reference_wrapper<CLASS_DESC> > PROPERTY_MANAGER::CLASS_DESC::m_bases |
Properties unique to this type (i.e. not inherited)
Definition at line 308 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::InheritsAfter(), PROPERTY_MANAGER::PropertyChanged(), and rebuild().
PROPERTY_DISPLAY_ORDER PROPERTY_MANAGER::CLASS_DESC::m_displayOrder |
List of property groups provided by this class in display order.
Definition at line 329 of file property_mgr.h.
Referenced by rebuild().
std::vector<wxString> PROPERTY_MANAGER::CLASS_DESC::m_groupDisplayOrder |
Non-owning list of classes's direct properties in display order.
Definition at line 332 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::AddProperty(), CLASS_DESC(), and rebuild().
std::set<wxString> PROPERTY_MANAGER::CLASS_DESC::m_groups |
Replaced properties (TYPE_ID / name)
Definition at line 338 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::AddProperty(), and CLASS_DESC().
const TYPE_ID PROPERTY_MANAGER::CLASS_DESC::m_id |
Types after which this type inherits.
Definition at line 305 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::PropertyChanged().
PROPERTY_SET PROPERTY_MANAGER::CLASS_DESC::m_maskedBaseProperties |
Overrides for base class property availabilities.
Definition at line 317 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::Mask().
std::vector<PROPERTY_BASE*> PROPERTY_MANAGER::CLASS_DESC::m_ownDisplayOrder |
The property groups provided by this class.
Definition at line 335 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::AddProperty().
std::map<wxString, std::unique_ptr<PROPERTY_BASE> > PROPERTY_MANAGER::CLASS_DESC::m_ownProperties |
Type converters available for this type.
Definition at line 311 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::AddProperty().
PROPERTY_SET PROPERTY_MANAGER::CLASS_DESC::m_replaced |
Recreates the list of properties.
Definition at line 341 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::ReplaceProperty().
std::map<TYPE_ID, std::unique_ptr<TYPE_CAST_BASE> > PROPERTY_MANAGER::CLASS_DESC::m_typeCasts |
Properties from bases that should be masked (hidden) on this subclass.
Definition at line 314 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::AddTypeCast(), and PROPERTY_MANAGER::InheritsAfter().
PROPERTY_FUNCTOR_MAP PROPERTY_MANAGER::CLASS_DESC::m_writeabilityOverrides |
All properties (both unique to the type and inherited)
Definition at line 323 of file property_mgr.h.
Referenced by PROPERTY_MANAGER::IsWriteableFor(), and PROPERTY_MANAGER::OverrideWriteability().