Reflects the changes of observed objects as changes of some other object (over istd::IChangeable),...
Basic implementation of interface IParamsSet.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
const QByteArray & GetParametersTypeId() const
Get ID of this parameters type.
virtual quint32 GetMinimalVersion(int versionId) const override
Get minimal needed version to correct storing of this data.
const ParameterInfos & GetParameterInfos() const
Get access to all parameters.
virtual iser::ISerializable * GetEditableParameter(const QByteArray &id) override
Get access to editable parameter (read-write access).
ParameterInfo * FindParameterInfo(const QByteArray ¶meterId) const
void SetParametersTypeId(const QByteArray &id)
Set ID of this parameters type.
virtual const iser::ISerializable * GetParameter(const QByteArray &id) const override
Get any parameter (read-only access).
const IParamsSet * m_slaveSetPtr
virtual Ids GetParamIds(bool editableOnly=false) const override
Get list of used parameter IDs in the parameter set.
virtual bool SetEditableParameter(const QByteArray &id, iser::ISerializableUniquePtr ¶meterPtr)
Set editable parameter in this set.
istd::TPointerVector< ParameterInfo > ParameterInfos
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
imod::CModelUpdateBridge m_updateBridge
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset data to its default state.
const IParamsSet * GetSlaveSet() const
Get slave parameter set.
void SetSlaveSet(const IParamsSet *slaveSetPtr)
Set slave parameter set.
virtual bool SetEditableParameter(const QByteArray &id, iser::ISerializable *parameterPtr, bool releaseFlag=false)
Set editable parameter in this set.
virtual QByteArray GetFactoryId() const override
virtual const IParamsInfoProvider * GetParamsInfoProvider() const override
Get parameter information provider.
QByteArray m_paramsTypeId
CParamsSet(const IParamsSet *slaveSetPtr=NULL)
Provider of parameter information (name and description).
Set of general parameters.
Represents an input/output persistence archive for object serialization.
Common class for all classes which objects can be archived or restored from archive.
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
A wrapper for managed and unmanaged interface pointers.
Implementation of a pointer container, which controls the live cycle of the pointer object.
void TakeOver(TUniqueInterfacePtr< InterfaceType > &from) noexcept
Transfer ownership from another unique ptr (take over raw ownership).
Contains interfaces and implementations of flexible parameter concept.
ParameterInfo(const QByteArray ¶meterId, iser::ISerializable *parameterPtr)
ParameterInfo(const QByteArray ¶meterId, iser::ISerializableUniquePtr ¶meterPtr)
istd::TOptInterfacePtr< iser::ISerializable > parameterPtr