29template <
typename FIELD_ADD_ON_BASE_CLASS,
typename PIMPL_OBJ_TYPE=
void*>
39 FIELD_ADD_ON_BASE_CLASS(fieldContainerRef),
82 auto it = _fieldAddOns.begin();
90 for (; it !=
getFieldAddOns().end(); it++){ (*it)->handleFieldActivationChanges(); }
101 auto it = _fieldAddOns.begin();
FieldChangeState
Describes the type of a field changes detected in handleFieldChanges(Field *field).
@ NoChange
No change took place.
virtual FieldChangeState getMergedFieldChangeState(FieldChangeState state1, FieldChangeState state2) const
Returns a FieldChangeState which best represents a merge of the two given states.
void addFields() override
void handleFieldActivationChanges() override
Handle class changes according to Module::activateAttachments.
FieldAddOnList(FieldContainer &fieldContainerRef)
Constructor, setting the reference of the FieldContainer managing the fields.
FieldAddOnContainer & getFieldAddOns()
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
virtual bool hasFieldAddOn(FIELD_ADD_ON_BASE_CLASS *fieldAddOn) const
Returns true if the passed fieldPtr is in _fieldPointers, otherwise false.
const FieldAddOnContainer & getFieldAddOns() const
Returns the constant referenced container.
~FieldAddOnList() override
Destructor.
std::vector< BASE_FIELD_ADD_ON_TYPE * > FieldAddOnContainer
virtual void registerFieldAddOn(FIELD_ADD_ON_BASE_CLASS *fieldAddOn)
Register a FieldAddOn in *this; nullptr fieldAddOn pointers are ignored and not added.