|
ACF $AcfVersion:0$
|
Conditional model-observer binder depending on actual selection. More...
#include <CSelectedDocModelBinderComp.h>
Public Types | |
| typedef icomp::CComponentBase | BaseClass |
| typedef imod::TSingleModelObserverBase< IDocumentManager > | BaseClass2 |
Public Member Functions | |
| CSelectedDocModelBinderComp () | |
Public Member Functions inherited from icomp::CComponentBase | |
| CComponentBase () | |
| Create component and assign it to specific context. | |
| virtual const icomp::IComponent * | GetParentComponent (bool ownerOnly=false) const override |
| Get parent of this component. | |
| virtual void * | GetInterface (const istd::CClassInfo &interfaceType, const QByteArray &subId="") override |
| Get access to specified component interface. | |
| virtual IComponentContextSharedPtr | GetComponentContext () const override |
| Get access to component context describing all application-specified component information loaded from components registry. | |
| virtual void | SetComponentContext (const IComponentContextSharedPtr &contextPtr, const icomp::IComponent *parentPtr, bool isParentOwner) override |
| Set component context of this component. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Protected Member Functions | |
| void | TryConnectObservers () |
| void | TryDisconnectObservers () |
| virtual void | BeforeUpdate (imod::IModel *modelPtr) override |
| Callback invoked before an update of the observer's content occurs. | |
| 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 | OnComponentCreated () override |
| virtual void | OnComponentDestroyed () override |
Protected Member Functions inherited from icomp::CComponentBase | |
| bool | IsComponentActive () const |
| Check if component is active. | |
| virtual const icomp::IRealComponentStaticInfo & | GetComponentStaticInfo () const =0 |
| Get access to static info of this component. | |
Protected Member Functions inherited from imod::TSingleModelObserverBase< IDocumentManager > | |
| virtual IDocumentManager * | CastFromModel (imod::IModel *modelPtr) const |
| TSingleModelObserverBase () | |
| IDocumentManager * | GetObservedObject () const |
| Get instance of observed object. | |
| IDocumentManager * | GetObjectPtr () const |
| Get instance of observed object. | |
| bool | AttachOrSetObject (IDocumentManager *objectPtr) |
| Attach to model of object or set object pointer, if no connection is possible. | |
| 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 bool | OnModelDetached (imod::IModel *modelPtr) override |
| Callback invoked when an observable model is about to be detached from this observer. | |
Protected Member Functions inherited from imod::CSingleModelObserverBase | |
| void | SetModelPtr (imod::IModel *modelPtr) |
| Set internal model pointer to specified value. | |
| virtual void | OnUpdate (const istd::IChangeable::ChangeSet &changeSet) |
| Called on update of observed model. | |
| CSingleModelObserverBase () | |
| virtual | ~CSingleModelObserverBase () |
| imod::IModel * | GetObservedModel () const |
| Get access to observed model. | |
| imod::IModel * | GetModelPtr () const |
| Get access to observed model. | |
| void | EnsureModelDetached () |
| Make sure this observer is detached. | |
| void | SetObservedIds (const istd::IChangeable::ChangeSet &changeMask) |
| Set list of ID's beeing observed. | |
| virtual bool | IsModelAttached (const imod::IModel *modelPtr=NULL) const override |
| Checks if the specified model is currently attached to this observer. | |
Additional Inherited Members | |
Protected Types inherited from imod::TSingleModelObserverBase< IDocumentManager > | |
| typedef CSingleModelObserverBase | BaseClass |
| typedef IDocumentManager | ModelType |
Protected Types inherited from imod::CSingleModelObserverBase | |
| typedef imod::IModel | ModelType |
Static Protected Member Functions inherited from icomp::CComponentBase | |
| static const icomp::IRealComponentStaticInfo & | InitStaticInfo (IComponent *componentPtr) |
| static QByteArray | GetComponentId (const icomp::IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray()) |
Static Protected Attributes inherited from imod::CSingleModelObserverBase | |
| static const istd::IChangeable::ChangeSet | s_undoChanges |
Conditional model-observer binder depending on actual selection.
This component allows to work-around of problems with observing of selected document or view. It connects model with observer only if some document (or view) is currently selected. Please note, that there is no assumption that connected model must be the same as observed model.
Definition at line 24 of file CSelectedDocModelBinderComp.h.
Definition at line 29 of file CSelectedDocModelBinderComp.h.
| typedef imod::TSingleModelObserverBase<IDocumentManager> idoc::CSelectedDocModelBinderComp::BaseClass2 |
Definition at line 30 of file CSelectedDocModelBinderComp.h.
| idoc::CSelectedDocModelBinderComp::CSelectedDocModelBinderComp | ( | ) |
|
overrideprotectedvirtual |
Callback invoked after an update of the observer's content occurs.
This is the primary notification method where observers react to model changes. It's called after the model has finished updating its state. The implementation should examine the changeSet to determine what changed and update accordingly.
| modelPtr | Pointer to the model that has changed |
| changeSet | Contains information about what changed in the model. Use changeSet.Contains(changeId) to check for specific changes. The changeSet respects the mask specified in OnModelAttached(). |
Reimplemented from imod::CSingleModelObserverBase.
|
overrideprotectedvirtual |
Callback invoked before an update of the observer's content occurs.
This method is called at the start of a model update cycle, before any data actually changes. It allows the observer to prepare for the update, such as saving current state for comparison or disabling UI updates temporarily.
| modelPtr | Pointer to the model that is about to change |
Reimplemented from imod::CSingleModelObserverBase.
|
overrideprotectedvirtual |
Reimplemented from icomp::CComponentBase.
|
overrideprotectedvirtual |
Reimplemented from icomp::CComponentBase.
|
protected |
|
protected |