34 I_REGISTER_INTERFACE(IModelEditor);
35 I_REGISTER_INTERFACE(IObserver);
36 I_ASSIGN_MULTI_0(m_observersCompPtr,
"SlaveObservers",
"List of components that observe the model",
true);
37 I_ASSIGN_TO(m_modelEditorsCompPtr, m_observersCompPtr,
false);
60 void EnsureModelDetached();
Component for binding of more observers to a data model.
icomp::CComponentBase BaseClass
virtual void AfterUpdate(imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override
Callback invoked after an update of the observer's content occurs.
virtual void OnComponentDestroyed() override
virtual void BeforeUpdate(imod::IModel *modelPtr) override
Callback invoked before an update of the observer's content occurs.
virtual void SetReadOnly(bool state) override
Set flag that the model data can be changed.
virtual bool IsReadOnly() const override
Returns true if the model data can be changed.
virtual bool OnModelAttached(imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override
Callback invoked when an observable model is about to be attached to this observer.
virtual void UpdateEditor(const istd::IChangeable::ChangeSet &changeSet) override
Updates editor with model data.
CMultiObserverBinderComp()
virtual bool OnModelDetached(imod::IModel *modelPtr) override
Callback invoked when an observable model is about to be detached from this observer.
virtual bool IsModelAttached(const imod::IModel *modelPtr=NULL) const override
Checks if the specified model is currently attached to this observer.
virtual void UpdateModelFromEditor() const override
Updates model from editor.
Base class for component implementation.
Common interface for an model editor.
Common interface for model objects, that supports Model/Observer design pattern.
Common interface for all classes implementing the Observer functionality in the Model/Observer design...
Set of change flags (its IDs).
This namespace contains basic implementations of standard primitives on the component level.