ICF 3.0.5.47
Technical documentation of ICF Libraries
iprm::CComposedParamsSetComp Class Reference

Implementation of interface IParamsSet as component. More...

#include <CComposedParamsSetComp.h>

Inheritance diagram for iprm::CComposedParamsSetComp:
Collaboration diagram for iprm::CComposedParamsSetComp:

Public Types

typedef icomp::CComponentBase BaseClass
 
typedef CParamsSet BaseClass2
 
- Public Types inherited from iprm::IParamsSet
typedef QSet< QByteArray > Ids
 
- Public Types inherited from istd::IChangeable
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...
 
- Public Types inherited from iprm::IOptionsManager
enum  ChangeFlags { CF_OPTION_ADDED = 0x26be73a , CF_OPTION_REMOVED }
 Data model change notification flags. More...
 
enum  OptionOperationFlags {
  OOF_COUNT_FIXED = 1 , OOF_SUPPORT_RENAME = 2 , OOF_SUPPORT_INSERT = 4 , OOF_SUPPORT_DELETE = 8 ,
  OOF_SUPPORT_SWAP = 16 , OOF_DISABLE_ALLOWED = 32 , OOF_SUPPORT_ENABLING = 64
}
 Bitwise coded flags used to find out supported features. More...
 
- Public Types inherited from iprm::IOptionsList
enum  ChangeFlags { CF_OPTIONS_CHANGED = 0x8263d86 , CF_OPTION_RENAMED }
 Flags for changes related to this interface. More...
 
enum  OptionsFlags { SCF_NONE = 0 , SCF_SUPPORT_UNIQUE_ID = 256 , SFC_DISABLE_ALLOWED = 32 }
 Flags for control constraints behavior. More...
 
- Public Types inherited from istd::TIHierarchical< Interface >
enum  HierarchicalFlags { HF_CHILDS_SUPPORTED = 0x01 , HF_PARENT_SUPPORTED = 0x02 }
 Flags describing supported features of this hierarchical graph. More...
 
typedef Interface InterfaceType
 

Public Member Functions

Ids GetParamIds (bool editableOnly=false) const override
 Get list of used parameter IDs in the parameter set.
 
const iser::ISerializableGetParameter (const QByteArray &id) const override
 Get any parameter.
 
iser::ISerializableGetEditableParameter (const QByteArray &id) override
 Get access to editable parameter.
 
int GetOptionOperationFlags (int index=-1) const override
 Get operation control flags of some option or whole manager.
 
bool SetOptionEnabled (int index, bool isEnabled=true) override
 Enables a given option.
 
bool RemoveOption (int index) override
 Remove an option at the given index.
 
bool InsertOption (const QString &optionName, const QByteArray &optionId, const QString &optionDescription=QString(), int index=-1) override
 Insert an option at some position.
 
bool SwapOptions (int index1, int index2) override
 Swap two options.
 
bool SetOptionName (int optionIndex, const QString &optionName) override
 Set a new name for the option at the given index optionIndex.
 
bool SetOptionDescription (int optionIndex, const QString &optionDescription) override
 Set a new description for the option at the given index optionIndex.
 
int GetOptionsFlags () const override
 Get constraints flags.
 
int GetOptionsCount () const override
 Get number of managed options.
 
QString GetOptionName (int index) const override
 Get name of specified option.
 
QString GetOptionDescription (int index) const override
 Get human readable description for a option with the index index.
 
QByteArray GetOptionId (int index) const override
 Get option ID.
 
bool IsOptionEnabled (int index) const override
 Return true if the option is enabled and can be selected.
 
int GetHierarchicalFlags () const override
 Get flags describing supported features of this hierarchical graph.
 
int GetChildsCount () const override
 Get number of childs.
 
istd::IPolymorphic * GetChild (int index) const override
 Get child value.
 
istd::IPolymorphic * GetParent () const override
 Get access to parent object.
 
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.
 
int GetSupportedOperations () const override
 Get set of flags for supported operations.
 
bool CopyFrom (const istd::IChangeable &object, istd::IChangeable::CompatibilityMode mode=istd::IChangeable::CM_WITHOUT_REFS) override
 Copy this object from another one.
 
bool IsEqual (const istd::IChangeable &object) const override
 Compare this object with another object.
 
- Public Member Functions inherited from icomp::CComponentBase
 CComponentBase ()
 Create component and assign it to specific context.
 
 CComponentBase (const CComponentBase &)=delete
 
CComponentBaseoperator= (const CComponentBase &)=delete
 
virtual const ICompositeComponentGetParentComponent (bool ownerOnly=false) const
 Get parent of this component.
 
virtual void * GetInterface (const istd::CClassInfo &interfaceType, const QByteArray &subId="")
 Get access to specified component interface.
 
virtual const IComponentContextGetComponentContext () const
 Get access to component context describing all application-specified component information loaded from components registry.
 
virtual void SetComponentContext (const IComponentContext *contextPtr, const ICompositeComponent *parentPtr, bool isParentOwner)
 Set component context of this component.
 
- Public Member Functions inherited from icomp::IComponent
- Public Member Functions inherited from iprm::CParamsSet
 CParamsSet (const IParamsSet *slaveSetPtr=nullptr)
 
const IParamsSetGetSlaveSet () 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::ISerializableGetParameter (const QByteArray &id) const override
 Get any parameter.
 
iser::ISerializableGetEditableParameter (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.
 
- Public Member Functions inherited from iprm::IParamsSet
- Public Member Functions inherited from iser::IObject
- Public Member Functions inherited from iser::ISerializable
- Public Member Functions inherited from istd::IChangeable
virtual std::unique_ptr< IChangeableCloneMe (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.
 
- Public Member Functions inherited from iprm::IOptionsManager
- Public Member Functions inherited from iprm::IOptionsList
- Public Member Functions inherited from istd::TIHierarchical< Interface >

Protected Member Functions

iprm::IParamsSetGetSlaveParamsSet (int index) const
 
int GetSlaveParamsSetCount () const
 
bool SerializeParam (iser::IArchive &archive, const QByteArray &id, iser::ISerializable &param) override
 
void OnComponentCreated () override
 
void OnComponentDestroyed () override
 
- Protected Member Functions inherited from icomp::CComponentBase
bool IsComponentActive () const
 Check if component is active.
 
virtual const IRealComponentStaticInfoGetComponentStaticInfo () const =0
 Get access to static info of this component.
 
- Protected Member Functions inherited from iprm::CParamsSet
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Static Public Member Functions inherited from iprm::IOptionsList
static int FindIndexById (const QByteArray &id, const iprm::IOptionsList &list)
 Helper function to find the option index by ID.
 
- Protected Types inherited from iprm::CParamsSet
typedef std::map< QByteArray, istd::TOptDelPtr< iser::ISerializable > > Params
 
- Static Protected Member Functions inherited from icomp::CComponentBase
static const IRealComponentStaticInfoInitStaticInfo (IComponent *componentPtr)
 
static QByteArray GetComponentId (const IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray())
 
- Protected Attributes inherited from iprm::CParamsSet
Params m_params
 
imod::CModelUpdateBridge m_updateBridge
 

Detailed Description

Implementation of interface IParamsSet as component.

This implementation allows to register list of objects as editable parameters and list of slave parameter sets.

Definition at line 26 of file CComposedParamsSetComp.h.

Member Typedef Documentation

◆ BaseClass

◆ BaseClass2

Member Function Documentation

◆ CopyFrom()

bool iprm::CComposedParamsSetComp::CopyFrom ( const istd::IChangeable & object,
istd::IChangeable::CompatibilityMode mode = istd::IChangeable::CM_WITHOUT_REFS )
overridevirtual

Copy this object from another one.

Default implementation in istd::IChangeable does nothing. You may check, if this functionality is supported over GetSupportedOperations().

Reimplemented from istd::IChangeable.

◆ GetChild()

istd::IPolymorphic * iprm::CComposedParamsSetComp::GetChild ( int index) const
overridevirtual

Get child value.

Implements istd::TIHierarchical< Interface >.

◆ GetChildsCount()

int iprm::CComposedParamsSetComp::GetChildsCount ( ) const
overridevirtual

Get number of childs.

For single direction graph when only parent connection is stored it will be always 0. To check if this feature is supported check HF_CHILDS_SUPPORTED in flags.

Implements istd::TIHierarchical< Interface >.

◆ GetEditableParameter()

iser::ISerializable * iprm::CComposedParamsSetComp::GetEditableParameter ( const QByteArray & id)
overridevirtual

Get access to editable parameter.

Parameters
idID of parameter. It is application specified.
Returns
pointer to parameter instance or nullptr if there is no editable parameter with this ID.

Implements iprm::IParamsSet.

◆ GetHierarchicalFlags()

int iprm::CComposedParamsSetComp::GetHierarchicalFlags ( ) const
overridevirtual

Get flags describing supported features of this hierarchical graph.

See also
HierarchicalFlags.

Implements istd::TIHierarchical< Interface >.

◆ GetMinimalVersion()

quint32 iprm::CComposedParamsSetComp::GetMinimalVersion ( int versionId) const
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.

◆ GetOptionDescription()

QString iprm::CComposedParamsSetComp::GetOptionDescription ( int index) const
overridevirtual

Get human readable description for a option with the index index.

Implements iprm::IOptionsList.

◆ GetOptionId()

QByteArray iprm::CComposedParamsSetComp::GetOptionId ( int index) const
overridevirtual

Get option ID.

The option ID must be unique, if flag SCF_SUPPORT_UNIQUE_ID is set.

See also
OptionsFlags

Implements iprm::IOptionsList.

◆ GetOptionName()

QString iprm::CComposedParamsSetComp::GetOptionName ( int index) const
overridevirtual

Get name of specified option.

Implements iprm::IOptionsList.

◆ GetOptionOperationFlags()

int iprm::CComposedParamsSetComp::GetOptionOperationFlags ( int index = -1) const
overridevirtual

Get operation control flags of some option or whole manager.

Parameters
indexindex addressing position in the option list. For negative value general flags are returned. For example if you want to check if there is any re-nameable element you should call it with negative index value. To check if first element can be renamed call it with index value 0. To check if you can insert at the last position please use index value equal to current options count.

Implements iprm::IOptionsManager.

◆ GetOptionsCount()

int iprm::CComposedParamsSetComp::GetOptionsCount ( ) const
overridevirtual

Get number of managed options.

Implements iprm::IOptionsList.

◆ GetOptionsFlags()

int iprm::CComposedParamsSetComp::GetOptionsFlags ( ) const
overridevirtual

Get constraints flags.

The flags describes how the constraints object mantainance

Implements iprm::IOptionsList.

◆ GetParameter()

const iser::ISerializable * iprm::CComposedParamsSetComp::GetParameter ( const QByteArray & id) const
overridevirtual

Get any parameter.

Parameters
idID of parameter. It is application specified.
Returns
pointer to parameter instance or nullptr if there is no parameter with this ID.

Implements iprm::IParamsSet.

◆ GetParamIds()

Ids iprm::CComposedParamsSetComp::GetParamIds ( bool editableOnly = false) const
overridevirtual

Get list of used parameter IDs in the parameter set.

Returns
Set of the parameter IDs.

Implements iprm::IParamsSet.

◆ GetParent()

istd::IPolymorphic * iprm::CComposedParamsSetComp::GetParent ( ) const
overridevirtual

Get access to parent object.

For single direction graph when only child connection is stored it will be always nullptr. To check if this feature is supported check HF_PARENT_SUPPORTED in flags.

Implements istd::TIHierarchical< Interface >.

◆ GetSlaveParamsSet()

iprm::IParamsSet * iprm::CComposedParamsSetComp::GetSlaveParamsSet ( int index) const
protected

◆ GetSlaveParamsSetCount()

int iprm::CComposedParamsSetComp::GetSlaveParamsSetCount ( ) const
protected

◆ GetSupportedOperations()

int iprm::CComposedParamsSetComp::GetSupportedOperations ( ) const
overridevirtual

Get set of flags for supported operations.

See also
SupportedOperations

Reimplemented from istd::IChangeable.

◆ InsertOption()

bool iprm::CComposedParamsSetComp::InsertOption ( const QString & optionName,
const QByteArray & optionId,
const QString & optionDescription = QString(),
int index = -1 )
overridevirtual

Insert an option at some position.

Parameters
optionNameName of the option
optionIdID of the option, according to data model constraints needs to be unique
optionDescriptionDescription of the option
indexPosition in the list, where the new option will be inserted. Negative value means that the option will be added to the end of the list. Returns true if the operation was successful.

Implements iprm::IOptionsManager.

◆ IsEqual()

bool iprm::CComposedParamsSetComp::IsEqual ( const istd::IChangeable & object) const
overridevirtual

Compare this object with another object.

Parameters
objectObject to be compared You may check, if this functionality is supported over GetSupportedOperations().
Returns
true if the objects are identical and false otherwise.

Reimplemented from istd::IChangeable.

◆ IsOptionEnabled()

bool iprm::CComposedParamsSetComp::IsOptionEnabled ( int index) const
overridevirtual

Return true if the option is enabled and can be selected.

Implements iprm::IOptionsList.

◆ OnComponentCreated()

void iprm::CComposedParamsSetComp::OnComponentCreated ( )
overrideprotectedvirtual

Reimplemented from icomp::CComponentBase.

◆ OnComponentDestroyed()

void iprm::CComposedParamsSetComp::OnComponentDestroyed ( )
overrideprotectedvirtual

Reimplemented from icomp::CComponentBase.

◆ RemoveOption()

bool iprm::CComposedParamsSetComp::RemoveOption ( int index)
overridevirtual

Remove an option at the given index.

Returns true if the operation was successful.

Implements iprm::IOptionsManager.

◆ Serialize()

bool iprm::CComposedParamsSetComp::Serialize ( iser::IArchive & archive)
overridevirtual

Load or store state of this object as a archive stream.

Type of operation is depending on archive type.

See also
iser::IArchive

Implements iser::ISerializable.

◆ SerializeParam()

bool iprm::CComposedParamsSetComp::SerializeParam ( iser::IArchive & archive,
const QByteArray & id,
iser::ISerializable & param )
overrideprotectedvirtual

Reimplemented from iprm::CParamsSet.

◆ SetOptionDescription()

bool iprm::CComposedParamsSetComp::SetOptionDescription ( int optionIndex,
const QString & optionDescription )
overridevirtual

Set a new description for the option at the given index optionIndex.

Implements iprm::IOptionsManager.

◆ SetOptionEnabled()

bool iprm::CComposedParamsSetComp::SetOptionEnabled ( int index,
bool isEnabled = true )
overridevirtual

Enables a given option.

Only enabled options can be selected.

See also
GetOptionEnabled

Implements iprm::IOptionsManager.

◆ SetOptionName()

bool iprm::CComposedParamsSetComp::SetOptionName ( int optionIndex,
const QString & optionName )
overridevirtual

Set a new name for the option at the given index optionIndex.

Implements iprm::IOptionsManager.

◆ SwapOptions()

bool iprm::CComposedParamsSetComp::SwapOptions ( int index1,
int index2 )
overridevirtual

Swap two options.

Implements iprm::IOptionsManager.


The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy