|
ACF $AcfVersion:0$
|
Common interface for data model objects, which can be changed. More...
#include <IChangeable.h>
Classes | |
| class | ChangeSet |
| Set of change flags (its IDs). More... | |
Public Types | |
| 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 | |
| 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 () |
Static Public Member Functions | |
| 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. | |
Protected Member Functions | |
| virtual void | OnBeginChanges () |
| Callback function for begin change event. | |
| virtual void | OnEndChanges (const ChangeSet &changeSet) |
| Callback function for end change event. | |
Common interface for data model objects, which can be changed.
Data model changes are executed in two steps: begin and end. The caller can also put some flags and additional data to the update functions, to control the update logic.
Definition at line 27 of file IChangeable.h.
| typedef QMultiMap<QByteArray,QVariant> istd::IChangeable::ChangeInfoMap |
Definition at line 30 of file IChangeable.h.
Data model change notification flags.
Definition at line 143 of file IChangeable.h.
Control how relationship betweeen objects are interpreted.
It is also used to define how objects are copied.
Definition at line 218 of file IChangeable.h.
Flags for supported operations.
This flags can be combined.
Definition at line 181 of file IChangeable.h.
|
inlinevirtual |
Starts group of changes.
It doesn't start signaling of changes, it allows simply to group set of changes into single transaction block.
Reimplemented in MockChangeableForGroup.
Definition at line 393 of file IChangeable.h.
Referenced by istd::CChangeGroup::CChangeGroup().
|
inlinevirtual |
Starts the change transaction.
OnBeginChanges instead. EndChanges Reimplemented in MockChangeableForNotifier, istd::TCachedUpdateManagerWrap< iimg::CGeneralBitmap >, and istd::TCachedUpdateManagerWrap< iser::ISerializable >.
Definition at line 381 of file IChangeable.h.
References OnBeginChanges().
Referenced by istd::CChangeNotifier::CChangeNotifier().
|
inlinevirtual |
Make a copy of this object.
Reimplemented in i2d::CAffineTransformation2d, i2d::CAnnulus, i2d::CAnnulusSegment, i2d::CArc, i2d::CCircle, i2d::CGraphData2d, i2d::CLabel, i2d::CLine2d, i2d::CObject2dProxyComp, i2d::COrientedCircle, i2d::CParallelogram, i2d::CPolygon, i2d::CPolyline, i2d::CPolypoint, i2d::CPosition2d, i2d::CQuadrangle, i2d::CRectangle, i2d::CSpline, i2d::CSplineSegment, icmm::CCieLabColorModel, icmm::CCmyColorModel, icmm::CCmykColorModel, icmm::CIlluminant, icmm::CRgbColorModel, icmm::CSpectralColorModel, icmm::CSpectrum, icmm::CSpectrumInfo, icmm::CSubstractiveColorModel, icmm::CTristimulusSpecification, idoc::CStandardDocumentMetaInfo, iimg::CBitmap, iimg::CGeneralBitmap, iimg::TMultiPageBitmap< BitmapImpl >, ilog::CExtMessage, ilog::CMessage, ilog::CMessageContainer, ilog::TExtMessage< Element >, imath::CSampledFunction, iprm::CSelectionParam, iprm::CEnableableParam, iprm::CIdParam, iprm::CNameParam, iprm::CTextParam, and iqtgui::CHierarchicalCommand.
Definition at line 369 of file IChangeable.h.
|
inlinevirtual |
Copy this object from another one.
Default implementation in istd::IChangeable does nothing.
Reimplemented in ilog::CExtMessage, ilog::TExtMessage< Element >, i2d::CAffineTransformation2d, i2d::CObject2dBase, icmm::CCieLabColorModel, icmm::CIlluminant, icmm::CRgbColorModel, icmm::CSpectralColorModel, icmm::CSpectralColorSpecificationBase, icmm::CSubstractiveColorModel, icmm::CSubstractiveColorModelBase, icmm::CTristimulusSpecification, idoc::TMultiPageDocumentWrap< Base >, idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >, iimg::CBitmap, iimg::CGeneralBitmap, iimg::CMultiPageBitmapBase, iimg::CScanlineMask, ilog::CMessage, ilog::CMessageContainer, iprm::CSelectionParam, iqtgui::CHierarchicalCommand, iser::CArchiveHeaderInfo, iprm::CMultiParamsManagerComp, iprm::CParamsManagerComp, iprm::CParamsManagerCompBase::ParamSet, iser::TCopySerializedWrap< ibase::ICommandsProvider >, iser::TCopySerializedWrap< ibase::TContainer >, iser::TCopySerializedWrap< iimg::CBitmap >, iser::TCopySerializedWrap< iprm::CEnableableParam >, iser::TCopySerializedWrap< iprm::CParamsManagerCompBase::SelectedParams >, iser::TCopySerializedWrap< iprm::CSelectionParam >, iser::TCopySerializedWrap< iqtgui::CGuiComponentBase::VisualStatus >, and iser::TCopySerializedWrap< iser::IObject >.
Definition at line 357 of file IChangeable.h.
Referenced by idoc::TMultiPageDocumentWrap< Base >::CopyFrom().
|
inlinevirtual |
Ends group of changes.
It doesn't start signaling of changes, it allows simply to group set of changes into single transaction block.
Reimplemented in MockChangeableForGroup.
Definition at line 398 of file IChangeable.h.
Referenced by istd::CChangeGroup::~CChangeGroup().
|
inlinevirtual |
Ends the change transaction.
OnEndChanges instead. | changeSet | set of IDs used to identify what kind of change was done. for the empty set you can assume, that no change was done. |
BeginChanges Reimplemented in MockChangeableForNotifier, istd::TCachedUpdateManagerWrap< iimg::CGeneralBitmap >, and istd::TCachedUpdateManagerWrap< iser::ISerializable >.
Definition at line 387 of file IChangeable.h.
References OnEndChanges().
Referenced by istd::CChangeNotifier::~CChangeNotifier().
|
inlinestatic |
Get anonymous change set.
Definition at line 419 of file IChangeable.h.
Referenced by ibase::TFactorisableContainer< InterfaceClass >::Serialize().
|
inlinestatic |
Get anonymous change set.
Definition at line 413 of file IChangeable.h.
|
inlinestatic |
Get delegated change set.
Definition at line 425 of file IChangeable.h.
|
inlinestatic |
Get empty set of changes.
Definition at line 407 of file IChangeable.h.
|
inlinevirtual |
Get set of flags for supported operations.
Reimplemented in i2d::CAnnulus, i2d::CAnnulusSegment, i2d::CArc, i2d::CCircle, i2d::CGraphData2d, i2d::CLabel, i2d::CLine2d, i2d::COrientedCircle, i2d::CParallelogram, i2d::CPolypoint, i2d::CPosition2d, i2d::CQuadrangle, i2d::CRectangle, i2d::CSpline, i2d::CSplineSegment, icmm::CCieLabColorModel, icmm::CIlluminant, icmm::CRgbColorModel, icmm::CSpectralColorModel, icmm::CSpectralColorSpecificationBase, icmm::CSpectrum, icmm::CSpectrumInfo, icmm::CSubstractiveColorModel, icmm::CSubstractiveColorModelBase, icmm::CTristimulusSpecification, ifile::CFileNameParam, iimg::CBitmap, iimg::CGeneralBitmap, iimg::CScanlineMask, ilog::CMessageContainer, imath::CSampledFunction, iprm::CComposedParamsSetComp, iprm::CIdParam, iprm::CNameParam, iprm::COptionsManager, iprm::CParamsManagerComp, iprm::CTextParam, iqtgui::CHierarchicalCommand, iser::TCopySerializedWrap< ibase::ICommandsProvider >, iser::TCopySerializedWrap< ibase::TContainer >, iser::TCopySerializedWrap< iimg::CBitmap >, iser::TCopySerializedWrap< iprm::CEnableableParam >, iser::TCopySerializedWrap< iprm::CParamsManagerCompBase::SelectedParams >, iser::TCopySerializedWrap< iprm::CSelectionParam >, iser::TCopySerializedWrap< iqtgui::CGuiComponentBase::VisualStatus >, and iser::TCopySerializedWrap< iser::IObject >.
Definition at line 351 of file IChangeable.h.
References SO_NONE.
|
inlinevirtual |
Compare this object with another object.
| object | Object to be compared |
true if the objects are identical and false otherwise. Reimplemented in i2d::CPosition2d, ilog::CMessageContainer, iqtgui::CHierarchicalCommand, iser::TCopySerializedWrap< ibase::ICommandsProvider >, iser::TCopySerializedWrap< ibase::TContainer >, iser::TCopySerializedWrap< iimg::CBitmap >, iser::TCopySerializedWrap< iprm::CEnableableParam >, iser::TCopySerializedWrap< iprm::CParamsManagerCompBase::SelectedParams >, iser::TCopySerializedWrap< iprm::CSelectionParam >, iser::TCopySerializedWrap< iqtgui::CGuiComponentBase::VisualStatus >, iser::TCopySerializedWrap< iser::IObject >, icmm::CIlluminant, icmm::CSpectralColorSpecificationBase, and icmm::CTristimulusSpecification.
Definition at line 363 of file IChangeable.h.
|
inlineprotectedvirtual |
Callback function for begin change event.
Please note, that in some cases no following OnEndChanges can be called.
Reimplemented in istd::CChangeDelegator, istd::TChangeDelegator< Base >, istd::TChangeDelegator< ibase::IHierarchicalCommand >, istd::TChangeDelegator< IHierarchicalMessageContainer >, MockChangeable, MockChangeableForGroup, and MockChangeableForNotifier.
Definition at line 433 of file IChangeable.h.
Referenced by BeginChanges().
|
inlineprotectedvirtual |
Callback function for end change event.
Reimplemented in iimg::CBitmapSurface, iqtdoc::CMultiDocumentWorkspaceGuiComp, iqtdoc::CSingleDocumentWorkspaceGuiComp, istd::CChangeDelegator, MockChangeable, MockChangeableForGroup, MockChangeableForNotifier, istd::TChangeDelegator< Base >, istd::TChangeDelegator< ibase::IHierarchicalCommand >, and istd::TChangeDelegator< IHierarchicalMessageContainer >.
Definition at line 438 of file IChangeable.h.
Referenced by EndChanges().
|
inlinevirtual |
Reset data to its default state.
Default implementation in istd::IChangeable does nothing.
true if the operation was successful, and false otherwise. Reimplemented in idoc::TMultiPageDocumentWrap< Base >, idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >, ilog::CMessageContainer, i2d::CAnnulusComp, i2d::CObject2dBase, icmm::CSpectrum, icmm::CSpectrumInfo, idoc::CStandardDocumentMetaInfo, iimg::CBitmap, iimg::CGeneralBitmap, iimg::CMultiPageBitmapBase, iimg::CScanlineMask, imath::CSampledFunction, iprm::CIdParam, iprm::CNameParam, iprm::CParamsSet, and iprm::CTextParam.
Definition at line 375 of file IChangeable.h.