![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Basic implementation of interface IParamsSet. More...
#include <CParamsSet.h>
Public Member Functions | |
CParamsSet (const IParamsSet *slaveSetPtr=nullptr) | |
const IParamsSet * | GetSlaveSet () const |
Get slave parameter set. | |
void | SetSlaveSet (const IParamsSet *slaveSetPtr) |
Set slave parameter set. | |
virtual bool | SetEditableParameter (const QByteArray &id, istd::TOptDelPtr< iser::ISerializable > parameterPtr) |
Set editable parameter in this set. | |
const QByteArray & | GetParametersTypeId () const |
Get ID of this parameters type. | |
void | SetParametersTypeId (const QByteArray &id) |
Set ID of this parameters type. | |
QByteArray | GetFactoryId () const override |
Ids | GetParamIds (bool editableOnly=false) const override |
Get list of used parameter IDs in the parameter set. | |
const iser::ISerializable * | GetParameter (const QByteArray &id) const override |
Get any parameter. | |
iser::ISerializable * | GetEditableParameter (const QByteArray &id) override |
Get access to editable parameter. | |
bool | Serialize (iser::IArchive &archive) override |
Load or store state of this object as a archive stream. | |
quint32 | GetMinimalVersion (int versionId) const override |
Get minimal needed version to correct storing of this data. | |
bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override |
Reset data to its default state. | |
![]() | |
![]() | |
![]() | |
![]() | |
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 std::unique_ptr< IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
Make a copy of this object. | |
virtual QMutex * | GetChangesLock () const |
Get mutex beeing locked during changes, if available. | |
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. | |
Protected Types | |
typedef std::map< QByteArray, istd::TOptDelPtr< iser::ISerializable > > | Params |
Protected Member Functions | |
virtual bool | SerializeParam (iser::IArchive &archive, const QByteArray &id, iser::ISerializable ¶m) |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Protected Attributes | |
Params | m_params |
imod::CModelUpdateBridge | m_updateBridge |
Additional Inherited Members | |
![]() | |
typedef QSet< QByteArray > | Ids |
![]() | |
enum | ChangeFlags { CF_ICF_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 , SO_CHANGE_LOCK = 1 << 5 } |
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... | |
![]() | |
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. | |
Basic implementation of interface IParamsSet.
Definition at line 27 of file CParamsSet.h.
|
protected |
Definition at line 79 of file CParamsSet.h.
|
explicit |
|
override |
|
overridevirtual |
Get access to editable parameter.
id | ID of parameter. It is application specified. |
Implements iprm::IParamsSet.
|
overridevirtual |
Reimplemented from iser::IObject.
|
overridevirtual |
Get minimal needed version to correct storing of this data.
In implementation shold be calculated maximum version of this and composed component.
Reimplemented from iser::ISerializable.
|
overridevirtual |
Get any parameter.
id | ID of parameter. It is application specified. |
Implements iprm::IParamsSet.
const QByteArray & iprm::CParamsSet::GetParametersTypeId | ( | ) | const |
Get ID of this parameters type.
|
overridevirtual |
Get list of used parameter IDs in the parameter set.
Implements iprm::IParamsSet.
|
inline |
Get slave parameter set.
Slave parameter set will be used for non editable parameter query. If no slave parameter set is defined, it returns nullptr.
Definition at line 92 of file CParamsSet.h.
|
overridevirtual |
Reset data to its default state.
Default implementation in istd::IChangeable does nothing. You may check, if this functionality is supported over GetSupportedOperations()
.
true
if the operation was successful, and false
otherwise. Reimplemented from istd::IChangeable.
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Implements iser::ISerializable.
|
protectedvirtual |
Reimplemented in iprm::CComposedParamsSetComp.
|
virtual |
Set editable parameter in this set.
Editable parameters are stored in set directly, the non editable in slave sets.
void iprm::CParamsSet::SetParametersTypeId | ( | const QByteArray & | id | ) |
Set ID of this parameters type.
|
inline |
Set slave parameter set.
Slave parameter set will be used for non editable parameter query.
slaveSetPtr | slave parameter set, or nullptr, if no set is used. |
Definition at line 98 of file CParamsSet.h.
|
protected |
Definition at line 80 of file CParamsSet.h.
|
protected |
Definition at line 81 of file CParamsSet.h.
© Witold Gantzke and Kirill Lepskiy