|
ACF $AcfVersion:0$
|
Delegates calls of IChangeable methods to the given slave. More...
#include <CChangeDelegator.h>
Public Types | |
| typedef istd::IChangeable | BaseClass |
Public Types inherited from istd::IChangeable | |
| enum | ChangeFlags { CF_ACF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
| Data model change notification flags. More... | |
| enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 } |
| Flags for supported operations. More... | |
| enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
| Control how relationship betweeen objects are interpreted. More... | |
| typedef QMultiMap< QByteArray, QVariant > | ChangeInfoMap |
Public Member Functions | |
| CChangeDelegator () | |
| CChangeDelegator (istd::IChangeable *slavePtr) | |
| virtual void | SetSlavePtr (istd::IChangeable *slavePtr) override |
| Sets the slave object pointer for change delegation. | |
| virtual istd::IChangeable * | GetSlavePtr () const override |
| Gets the slave object pointer. | |
| virtual void | OnBeginChanges () override |
| Callback function for begin change event. | |
| virtual void | OnEndChanges (const ChangeSet &changeSet) override |
| Callback function for end change event. | |
Public Member Functions inherited from istd::IChangeable | |
| virtual int | GetSupportedOperations () const |
| Get set of flags for supported operations. | |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
| Copy this object from another one. | |
| virtual bool | IsEqual (const IChangeable &object) const |
| Compare this object with another object. | |
| virtual istd::TUniqueInterfacePtr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
| Make a copy of this object. | |
| virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
| Reset data to its default state. | |
| virtual void | BeginChanges (const ChangeSet &changeSet) |
| Starts the change transaction. | |
| virtual void | EndChanges (const ChangeSet &changeSet) |
| Ends the change transaction. | |
| virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
| Starts group of changes. | |
| virtual void | EndChangeGroup (const ChangeSet &changeSet) |
| Ends group of changes. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Additional Inherited Members | |
Static Public Member Functions inherited from istd::IChangeable | |
| static const ChangeSet & | GetNoChanges () |
| Get empty set of changes. | |
| static const ChangeSet & | GetAnyChange () |
| Get anonymous change set. | |
| static const ChangeSet & | GetAllChanges () |
| Get anonymous change set. | |
| static const ChangeSet & | GetDelegatedChanges () |
| Get delegated change set. | |
Delegates calls of IChangeable methods to the given slave.
Definition at line 18 of file CChangeDelegator.h.
Definition at line 21 of file CChangeDelegator.h.
| istd::CChangeDelegator::CChangeDelegator | ( | ) |
|
explicit |
|
inlineoverridevirtual |
Gets the slave object pointer.
The slave object will receive change notifications when this object's state changes. If no slave is set, returns nullptr.
Implements istd::IChangeDelegator.
Definition at line 47 of file CChangeDelegator.h.
|
overridevirtual |
Callback function for begin change event.
Please note, that in some cases no following OnEndChanges can be called.
Reimplemented from istd::IChangeable.
Reimplemented in istd::TChangeDelegator< Base >, istd::TChangeDelegator< ibase::IHierarchicalCommand >, and istd::TChangeDelegator< IHierarchicalMessageContainer >.
|
overridevirtual |
Callback function for end change event.
Reimplemented from istd::IChangeable.
Reimplemented in istd::TChangeDelegator< Base >, istd::TChangeDelegator< ibase::IHierarchicalCommand >, and istd::TChangeDelegator< IHierarchicalMessageContainer >.
|
inlineoverridevirtual |
Sets the slave object pointer for change delegation.
When a slave is set, all change notifications (BeginChanges and EndChanges) from this object will be automatically forwarded to the slave. This enables hierarchical change notification where child objects notify their parents of changes.
| slavePtr | Pointer to the IChangeable object that should receive delegated change notifications. Pass nullptr to disable delegation. |
Implements istd::IChangeDelegator.
Definition at line 41 of file CChangeDelegator.h.