ACF $AcfVersion:0$
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
iprm::CParamsManagerCompBase Class Referenceabstract

Implementation of parameter manager. More...

#include <CParamsManagerCompBase.h>

Inheritance diagram for iprm::CParamsManagerCompBase:
iprm::CParamsManagerCompBaseAttr iprm::IParamsManager iprm::IOptionsManager icomp::CComponentBase iprm::ISelectionParam iprm::IOptionsList iprm::ISelectionParam icomp::IComponent iser::ISerializable istd::IChangeable iser::ISerializable istd::IPolymorphic istd::IChangeable istd::IPolymorphic istd::IChangeable istd::IPolymorphic istd::IPolymorphic iprm::CMultiParamsManagerComp iprm::CParamsManagerComp

Classes

class  ParamSet
 
class  SelectedParams
 
class  UuidParam
 

Public Types

typedef CParamsManagerCompBaseAttr BaseClass
 
- Public Types inherited from iprm::CParamsManagerCompBaseAttr
typedef icomp::CComponentBase BaseClass
 
- Public Types inherited from iprm::IParamsManager
enum  ParamsOperationFlags {
  MF_COUNT_FIXED = 1 , MF_SUPPORT_RENAME = 2 , MF_SUPPORT_INSERT = 4 , MF_SUPPORT_DELETE = 8 ,
  MF_SUPPORT_SWAP = 16 , MF_DISABLE_ALLOWED = 32 , MF_SUPPORT_EDIT = 64 , MF_INACTIVE = 128
}
 Bitwise coded flags used to find out supported features. More...
 
enum  ChangeFlags { CF_SET_INSERTED = 0x5af60 , CF_SET_REMOVED , CF_SET_NAME_CHANGED , CF_SET_ENABLE_CHANGED }
 Possible changes of the manager's data model. More...
 
typedef QSet< QByteArray > TypeIds
 
- Public Types inherited from iprm::ISelectionParam
enum  ChangeFlags { CF_SELECTION_CHANGED = 0x67364be }
 Data model change notification flags. More...
 
enum  { NO_SELECTION = -1 }
 
- 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 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 controlling constraints behavior. More...
 

Public Member Functions

 CParamsManagerCompBase ()
 
bool IsNameUnique (const QString &name) const
 
virtual int InsertParamsSet (int typeIndex=-1, int index=-1) override
 Insert new parameter set at selected position.
 
virtual bool RemoveParamsSet (int index) override
 Remove parameter set at selected position.
 
virtual bool SwapParamsSet (int index1, int index2) override
 Swap two parameter sets.
 
virtual IParamsSetGetParamsSet (int index) const override
 Get selected parameter set.
 
virtual iprm::IParamsSetUniquePtr CreateParameterSet (int typeIndex=-1, int index=-1) const override
 Create a new parameter set instance.
 
virtual int GetIndexOperationFlags (int index=-1) const override
 Get operation control flags of some parameter set or whole manager.
 
virtual bool SetIndexOperationFlags (int index, int flags) override
 Set operation control flags of some parameter-set.
 
virtual int GetParamsSetsCount () const override
 Get number of managed parameter sets.
 
virtual QString GetParamsSetName (int index) const override
 Get name of specified parameter set.
 
virtual bool SetParamsSetName (int index, const QString &name) override
 Set name of specified parameter set.
 
virtual QString GetParamsSetDescription (int index) const override
 Get the description of the specified parameter set.
 
virtual void SetParamsSetDescription (int index, const QString &description) override
 Set the description of the specified parameter set.
 
virtual const IOptionsListGetSelectionConstraints () const override
 Get constraints of this parameter.
 
virtual int GetSelectedOptionIndex () const override
 Get selected index.
 
virtual bool SetSelectedOptionIndex (int index) override
 Set index of selected option.
 
virtual ISelectionParamGetSubselection (int index) const override
 Get sub-selection for specified option.
 
virtual int GetOptionsFlags () const override
 Get constraints flags.
 
virtual int GetOptionsCount () const override
 Get number of managed options.
 
virtual QString GetOptionName (int index) const override
 Get name of specified option.
 
virtual QString GetOptionDescription (int index) const override
 Get human-readable description for an option.
 
virtual QByteArray GetOptionId (int index) const override
 Get option ID.
 
virtual bool IsOptionEnabled (int index) const override
 Return true if the option is enabled and can be selected.
 
- Public Member Functions inherited from icomp::CComponentBase
 CComponentBase ()
 Create component and assign it to specific context.
 
virtual const icomp::IComponentGetParentComponent (bool ownerOnly=false) const override
 Get parent of this component.
 
virtual void * GetInterface (const istd::CClassInfo &interfaceType, const QByteArray &subId="") override
 Get access to specified component interface.
 
virtual IComponentContextSharedPtr GetComponentContext () const override
 Get access to component context describing all application-specified component information loaded from components registry.
 
virtual void SetComponentContext (const IComponentContextSharedPtr &contextPtr, const icomp::IComponent *parentPtr, bool isParentOwner) override
 Set component context of this component.
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 
- Public Member Functions inherited from iprm::IParamsManager
virtual const IOptionsListGetParamsTypeConstraints () const =0
 Get selection constraints describing each supported type.
 
- Public Member Functions inherited from iser::ISerializable
virtual bool Serialize (IArchive &archive)=0
 Load or store state of this object as a archive stream.
 
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- 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::IChangeableCloneMe (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 iprm::IOptionsManager
virtual int GetOptionOperationFlags (int index=-1) const =0
 Get operation control flags of some option or whole manager.
 
virtual bool SetOptionEnabled (int index, bool isEnabled=true)=0
 Enables or disables a given option.
 
virtual bool RemoveOption (int index)=0
 Remove an option at the given index.
 
virtual bool InsertOption (const QString &optionName, const QByteArray &optionId, const QString &optionDescription=QString(), int index=-1)=0
 Insert an option at some position.
 
virtual bool SwapOptions (int index1, int index2)=0
 Swap two options.
 
virtual bool SetOptionName (int optionIndex, const QString &optionName)=0
 Set a new name for the option at the given index.
 
virtual bool SetOptionDescription (int optionIndex, const QString &optionDescription)=0
 Set a new description for the option at the given index.
 

Protected Types

typedef std::unique_ptr< ParamSetParamSetPtr
 
typedef std::vector< ParamSetPtrParamSets
 

Protected Member Functions

void EnsureParamsSetModelDetached (iprm::IParamsSet *paramsSetPtr) const
 
int FindParamSetIndex (const QString &name) const
 
int FindFixedParamSetIndex (const QString &name) const
 
virtual QString CalculateNewDefaultName (int typeIndex=-1) const
 
virtual bool IsParameterCreationSupported () const =0
 Return true if creation of parameter sets is supported by the implementation.
 
virtual int GetCreatedParamsSetsCount () const =0
 Get the number of parameter sets created at the run time.
 
virtual iprm::IParamsSetUniquePtr CreateParamsSetInstance (int typeIndex=-1) const =0
 Create a new instance of the parameter set.
 
virtual void OnComponentCreated () override
 
- Protected Member Functions inherited from iprm::CParamsManagerCompBaseAttr
 I_MULTITEXTATTR (m_fixedSetNamesAttrPtr)
 
 I_MULTITEXTATTR (m_fixedSetDescriptionsAttrPtr)
 
 I_TEXTATTR (m_defaultSetNameAttrPtr)
 
- Protected Member Functions inherited from icomp::CComponentBase
bool IsComponentActive () const
 Check if component is active.
 
virtual void OnComponentDestroyed ()
 
virtual const icomp::IRealComponentStaticInfoGetComponentStaticInfo () const =0
 Get access to static info of this component.
 
- 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.
 

Protected Attributes

int m_selectedIndex
 
ParamSets m_paramSets
 
imod::CModelUpdateBridge m_updateBridge
 
QMap< int, int > m_fixedParamsSetFlagsMap
 

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 Protected Member Functions inherited from icomp::CComponentBase
static const icomp::IRealComponentStaticInfoInitStaticInfo (IComponent *componentPtr)
 
static QByteArray GetComponentId (const icomp::IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray())
 

Detailed Description

Implementation of parameter manager.

Definition at line 67 of file CParamsManagerCompBase.h.

Member Typedef Documentation

◆ BaseClass

Definition at line 73 of file CParamsManagerCompBase.h.

◆ ParamSetPtr

typedef std::unique_ptr<ParamSet> iprm::CParamsManagerCompBase::ParamSetPtr
protected

Definition at line 239 of file CParamsManagerCompBase.h.

◆ ParamSets

typedef std::vector<ParamSetPtr> iprm::CParamsManagerCompBase::ParamSets
protected

Definition at line 241 of file CParamsManagerCompBase.h.

Constructor & Destructor Documentation

◆ CParamsManagerCompBase()

iprm::CParamsManagerCompBase::CParamsManagerCompBase ( )

Member Function Documentation

◆ CalculateNewDefaultName()

virtual QString iprm::CParamsManagerCompBase::CalculateNewDefaultName ( int  typeIndex = -1) const
protectedvirtual

Reimplemented in iprm::CMultiParamsManagerComp.

◆ CreateParameterSet()

virtual iprm::IParamsSetUniquePtr iprm::CParamsManagerCompBase::CreateParameterSet ( int  typeIndex = -1,
int  index = -1 
) const
overridevirtual

Create a new parameter set instance.

Creates a new, independent parameter set instance. Optionally, data from an existing parameter set can be copied to the new instance.

Parameters
typeIndexIndex of parameter type from GetParamsTypeConstraints().
  • Negative value: Type will be automatically selected (default).
  • Zero or positive: Use specified type index.
indexIf non-negative, the parameter set data at the given position will be copied to the created instance.
Returns
Unique pointer to the newly created parameter set.
Note
The caller is responsible for the memory management of the created parameter set.
The returned parameter set is independent and not managed by this manager.
// Create a new empty parameter set
iprm::IParamsSetUniquePtr newSet = manager->CreateParameterSet();
// Create a copy of existing parameter set
iprm::IParamsSetUniquePtr copy = manager->CreateParameterSet(-1, 0);
// Create a new parameter set of specific type
const iprm::IOptionsList* types = manager->GetParamsTypeConstraints();
if (types && types->GetOptionsCount() > 1)
{
iprm::IParamsSetUniquePtr typedSet = manager->CreateParameterSet(1);
}
Constraints of selection from set of possibilities.
virtual int GetOptionsCount() const =0
Get number of managed options.
Unique ownership smart pointer for interface types.
See also
GetParamsTypeConstraints

Implements iprm::IParamsManager.

◆ CreateParamsSetInstance()

virtual iprm::IParamsSetUniquePtr iprm::CParamsManagerCompBase::CreateParamsSetInstance ( int  typeIndex = -1) const
protectedpure virtual

Create a new instance of the parameter set.

Implemented in iprm::CMultiParamsManagerComp, and iprm::CParamsManagerComp.

◆ EnsureParamsSetModelDetached()

void iprm::CParamsManagerCompBase::EnsureParamsSetModelDetached ( iprm::IParamsSet paramsSetPtr) const
protected

◆ FindFixedParamSetIndex()

int iprm::CParamsManagerCompBase::FindFixedParamSetIndex ( const QString &  name) const
protected

◆ FindParamSetIndex()

int iprm::CParamsManagerCompBase::FindParamSetIndex ( const QString &  name) const
protected

◆ GetCreatedParamsSetsCount()

virtual int iprm::CParamsManagerCompBase::GetCreatedParamsSetsCount ( ) const
protectedpure virtual

Get the number of parameter sets created at the run time.

Implemented in iprm::CMultiParamsManagerComp, and iprm::CParamsManagerComp.

◆ GetIndexOperationFlags()

virtual int iprm::CParamsManagerCompBase::GetIndexOperationFlags ( int  index = -1) const
overridevirtual

Get operation control flags of some parameter set or whole manager.

This method returns flags indicating which operations are supported, either for the entire manager (index < 0) or for a specific parameter set.

Parameters
indexIndex addressing position in parameter set list.
  • Negative value: Returns general manager-level flags.
  • Zero or positive: Returns flags for specific parameter set at that position.
  • Value equal to count: Returns flags for potential insert at end position.
Returns
Bitwise OR combination of ParamsOperationFlags values.
// Check general manager capabilities
int managerFlags = manager->GetIndexOperationFlags(-1);
{
qDebug() << "Can insert new parameter sets";
}
// Check if first parameter set can be renamed
int firstSetFlags = manager->GetIndexOperationFlags(0);
{
manager->SetParamsSetName(0, "New Name");
}
// Check if we can insert at the end
int count = manager->GetParamsSetsCount();
int insertFlags = manager->GetIndexOperationFlags(count);
{
manager->InsertParamsSet(-1, count);
}
@ MF_SUPPORT_INSERT
Active if insert of parameters is possible.
@ MF_SUPPORT_RENAME
Active if rename of parameters is supported.
See also
ParamsOperationFlags, SetIndexOperationFlags

Implements iprm::IParamsManager.

◆ GetOptionDescription()

virtual QString iprm::CParamsManagerCompBase::GetOptionDescription ( int  index) const
overridevirtual

Get human-readable description for an option.

Returns detailed description or tooltip text for an option.

Parameters
indexOption index (0-based).
Returns
Option description as QString, or empty string if no description exists or index is out of range.
QString description = options->GetOptionDescription(2);
if (!description.isEmpty())
{
qDebug() << "Description:" << description;
}
See also
GetOptionName

Implements iprm::IOptionsList.

◆ GetOptionId()

virtual QByteArray iprm::CParamsManagerCompBase::GetOptionId ( int  index) const
overridevirtual

Get option ID.

Returns the unique identifier for an option. The ID is stable and doesn't change when options are reordered, making it suitable for persistent references.

Parameters
indexOption index (0-based).
Returns
Option ID as QByteArray, or empty array if index is out of range.
Note
The ID must be unique if SCF_SUPPORT_UNIQUE_ID flag is set.
Use FindOptionIndexById() to find an option by its ID.
QByteArray id = options->GetOptionId(1);
qDebug() << "Option ID:" << id;
// Later, find the option by ID
int index = iprm::FindOptionIndexById(id, *options);
int FindOptionIndexById(const QByteArray &id, const iprm::IOptionsList &list)
Find the option index by the given ID.
See also
OptionsFlags, FindOptionIndexById

Implements iprm::IOptionsList.

◆ GetOptionName()

virtual QString iprm::CParamsManagerCompBase::GetOptionName ( int  index) const
overridevirtual

Get name of specified option.

Returns the display name for an option.

Parameters
indexOption index (0-based).
Returns
Option name as QString, or empty string if index is out of range.
QString name = options->GetOptionName(0);
qDebug() << "First option:" << name;
See also
GetOptionDescription, GetOptionId

Implements iprm::IOptionsList.

◆ GetOptionsCount()

virtual int iprm::CParamsManagerCompBase::GetOptionsCount ( ) const
overridevirtual

Get number of managed options.

Returns
Total count of options in the list (including disabled options).
int count = options->GetOptionsCount();
for (int i = 0; i < count; ++i)
{
// Process each option
}
See also
GetOptionName

Implements iprm::IOptionsList.

◆ GetOptionsFlags()

virtual int iprm::CParamsManagerCompBase::GetOptionsFlags ( ) const
overridevirtual

Get constraints flags.

Returns flags that describe how the constraints object behaves and what features it supports.

Returns
Bitwise OR combination of OptionsFlags values.
int flags = options->GetOptionsFlags();
{
qDebug() << "Options have unique IDs";
}
{
qDebug() << "Options can be disabled";
}
@ SFC_DISABLE_ALLOWED
If set, some options can be disabled.
@ SCF_SUPPORT_UNIQUE_ID
If set, every option must have a unique ID.
See also
OptionsFlags

Implements iprm::IOptionsList.

◆ GetParamsSet()

virtual IParamsSet * iprm::CParamsManagerCompBase::GetParamsSet ( int  index) const
overridevirtual

Get selected parameter set.

Retrieves the parameter set at the specified index.

Parameters
indexIndex of the parameter set (0-based).
Returns
Pointer to the parameter set, or NULL if index is out of range.
Note
The returned pointer is owned by the manager. Do not delete it.
int count = manager->GetParamsSetsCount();
for (int i = 0; i < count; ++i)
{
iprm::IParamsSet* paramSet = manager->GetParamsSet(i);
if (paramSet)
{
// Access parameters in the set
for (const QByteArray& id : ids)
{
const iser::ISerializable* param = paramSet->GetParameter(id);
// Process parameter...
}
}
}
Set of general parameters.
Definition IParamsSet.h:81
virtual const iser::ISerializable * GetParameter(const QByteArray &id) const =0
Get any parameter (read-only access).
virtual Ids GetParamIds(bool editableOnly=false) const =0
Get list of used parameter IDs in the parameter set.
QSet< QByteArray > Ids
Definition IParamsSet.h:83
Common class for all classes which objects can be archived or restored from archive.
See also
GetParamsSetsCount, IParamsSet

Implements iprm::IParamsManager.

◆ GetParamsSetDescription()

virtual QString iprm::CParamsManagerCompBase::GetParamsSetDescription ( int  index) const
overridevirtual

Get the description of the specified parameter set.

Parameters
indexIndex of the parameter set (0-based).
Returns
Description of the parameter set as QString.
QString description = manager->GetParamsSetDescription(0);
qDebug() << "Description:" << description;
See also
SetParamsSetDescription

Implements iprm::IParamsManager.

◆ GetParamsSetName()

virtual QString iprm::CParamsManagerCompBase::GetParamsSetName ( int  index) const
overridevirtual

Get name of specified parameter set.

Parameters
indexIndex of the parameter set (0-based).
Returns
Name of the parameter set as QString.
int count = manager->GetParamsSetsCount();
for (int i = 0; i < count; ++i)
{
QString name = manager->GetParamsSetName(i);
qDebug() << "Set" << i << ":" << name;
}
See also
SetParamsSetName

Implements iprm::IParamsManager.

◆ GetParamsSetsCount()

virtual int iprm::CParamsManagerCompBase::GetParamsSetsCount ( ) const
overridevirtual

Get number of managed parameter sets.

Returns
The count of parameter sets currently managed by this manager.
int count = manager->GetParamsSetsCount();
qDebug() << "Managing" << count << "parameter sets";

Implements iprm::IParamsManager.

◆ GetSelectedOptionIndex()

virtual int iprm::CParamsManagerCompBase::GetSelectedOptionIndex ( ) const
overridevirtual

Get selected index.

Returns the index of the currently selected option.

Returns
Index of selected option (0-based), or NO_SELECTION (-1) if no option is selected.
int index = selection.GetSelectedOptionIndex();
{
qDebug() << "No selection";
}
else
{
qDebug() << "Selected index:" << index;
}
@ NO_SELECTION
Indicates no option is currently selected.
See also
SetSelectedOptionIndex, NO_SELECTION

Implements iprm::ISelectionParam.

◆ GetSelectionConstraints()

virtual const IOptionsList * iprm::CParamsManagerCompBase::GetSelectionConstraints ( ) const
overridevirtual

Get constraints of this parameter.

Returns the options list that defines available choices for this selection. Constraints describe allowed parameter ranges and related information.

Returns
Pointer to IOptionsList defining available options, owned by the parameter or external manager. Do not delete.
const iprm::IOptionsList* options = selection.GetSelectionConstraints();
if (options)
{
int count = options->GetOptionsCount();
for (int i = 0; i < count; ++i)
{
QString name = options->GetOptionName(i);
qDebug() << "Option" << i << ":" << name;
}
}
virtual QString GetOptionName(int index) const =0
Get name of specified option.
See also
IOptionsList

Implements iprm::ISelectionParam.

◆ GetSubselection()

virtual ISelectionParam * iprm::CParamsManagerCompBase::GetSubselection ( int  index) const
overridevirtual

Get sub-selection for specified option.

Retrieves the hierarchical sub-selection associated with a specific option. This enables multi-level selection structures (e.g., Category -> Subcategory).

Parameters
indexIndex of the option whose sub-selection to retrieve.
Returns
Pointer to sub-selection parameter, or NULL if no sub-selection exists for this option.
Note
The returned pointer belongs to the selection's data model. Do not delete.
Sub-selections are independent selection parameters that can have their own constraints and further sub-selections.
// Get sub-selection for currently selected option
int selectedIndex = selection.GetSelectedOptionIndex();
if (selectedIndex >= 0)
{
iprm::ISelectionParam* subSelection = selection.GetSubselection(selectedIndex);
if (subSelection)
{
// Work with sub-selection
subSelection->SetSelectedOptionIndex(0);
}
}
// Check all options for sub-selections
const iprm::IOptionsList* options = selection.GetSelectionConstraints();
int count = options->GetOptionsCount();
for (int i = 0; i < count; ++i)
{
if (sub)
{
qDebug() << "Option" << i << "has a sub-selection";
}
}
Interface allowing to select single option from list of options.
virtual bool SetSelectedOptionIndex(int index)=0
Set index of selected option.
virtual ISelectionParam * GetSubselection(int index) const =0
Get sub-selection for specified option.

Implements iprm::ISelectionParam.

◆ InsertParamsSet()

virtual int iprm::CParamsManagerCompBase::InsertParamsSet ( int  typeIndex = -1,
int  index = -1 
)
overridevirtual

Insert new parameter set at selected position.

Creates and inserts a new parameter set into the manager. The type and position can be specified, or automatic selection can be used.

Parameters
typeIndexIndex of parameter type from GetParamsTypeConstraints().
  • Negative value: Type will be automatically selected (default).
  • Zero or positive: Use specified type index.
indexPosition in list where parameter set should be inserted.
  • Negative value: Use default position (typically at end).
  • Zero or positive: Insert at specified position.
Returns
Position of the newly inserted parameter set, or negative value if insertion was not possible.
Note
For specified index positions (non-negative index), returns the same index on success or negative value on failure.
Check MF_SUPPORT_INSERT flag before calling.
// Insert at default position with automatic type selection
int newIndex = manager->InsertParamsSet();
if (newIndex >= 0)
{
qDebug() << "Inserted at index" << newIndex;
manager->SetParamsSetName(newIndex, "New Set");
}
// Insert at specific position with specific type
const iprm::IOptionsList* types = manager->GetParamsTypeConstraints();
if (types && types->GetOptionsCount() > 1)
{
int typeIdx = 1;
int position = 2;
int inserted = manager->InsertParamsSet(typeIdx, position);
}
See also
GetParamsTypeConstraints, RemoveParamsSet, MF_SUPPORT_INSERT

Implements iprm::IParamsManager.

◆ IsNameUnique()

bool iprm::CParamsManagerCompBase::IsNameUnique ( const QString &  name) const

◆ IsOptionEnabled()

virtual bool iprm::CParamsManagerCompBase::IsOptionEnabled ( int  index) const
overridevirtual

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

Checks whether an option is currently enabled. Disabled options cannot be selected but remain visible in the list.

Parameters
indexOption index (0-based).
Returns
true if option is enabled and can be selected, false if disabled or index is out of range.
for (int i = 0; i < options->GetOptionsCount(); ++i)
{
if (options->IsOptionEnabled(i))
{
QString name = options->GetOptionName(i);
qDebug() << "Enabled option:" << name;
}
}
See also
SFC_DISABLE_ALLOWED

Implements iprm::IOptionsList.

◆ IsParameterCreationSupported()

virtual bool iprm::CParamsManagerCompBase::IsParameterCreationSupported ( ) const
protectedpure virtual

Return true if creation of parameter sets is supported by the implementation.

Implemented in iprm::CMultiParamsManagerComp, and iprm::CParamsManagerComp.

◆ OnComponentCreated()

virtual void iprm::CParamsManagerCompBase::OnComponentCreated ( )
overrideprotectedvirtual

◆ RemoveParamsSet()

virtual bool iprm::CParamsManagerCompBase::RemoveParamsSet ( int  index)
overridevirtual

Remove parameter set at selected position.

Deletes the parameter set at the specified index.

Parameters
indexPosition of the parameter set to remove (0-based).
Returns
true if removal succeeded, false otherwise.
Note
Check MF_SUPPORT_DELETE flag before calling.
int flags = manager->GetIndexOperationFlags(-1);
{
bool removed = manager->RemoveParamsSet(2);
if (removed)
{
qDebug() << "Parameter set removed successfully";
}
}
@ MF_SUPPORT_DELETE
Active if delete of parameters is possible.
See also
InsertParamsSet, MF_SUPPORT_DELETE

Implements iprm::IParamsManager.

◆ SetIndexOperationFlags()

virtual bool iprm::CParamsManagerCompBase::SetIndexOperationFlags ( int  index,
int  flags 
)
overridevirtual

Set operation control flags of some parameter-set.

Sets operation flags for a specific parameter set. Only flags related to a single parameter set can be modified (not manager-level flags).

Parameters
flagsOperation flags to be used (combination of ParamsOperationFlags).
indexIndex addressing position in parameter set list.
Returns
true if the operation succeeded, false otherwise.
Note
This method can only set per-set flags, not manager-level flags.
// Try to make a parameter set editable
bool success = manager->SetIndexOperationFlags(0,
@ MF_SUPPORT_EDIT
Active if it is possible to edit parameter values.
See also
ParamsOperationFlags, GetIndexOperationFlags

Implements iprm::IParamsManager.

◆ SetParamsSetDescription()

virtual void iprm::CParamsManagerCompBase::SetParamsSetDescription ( int  index,
const QString &  description 
)
overridevirtual

Set the description of the specified parameter set.

Changes the description/tooltip text for a parameter set.

Parameters
indexIndex of the parameter set (0-based).
descriptionNew description text for the parameter set.
manager->SetParamsSetDescription(0, "This set contains advanced options");
See also
GetParamsSetDescription

Implements iprm::IParamsManager.

◆ SetParamsSetName()

virtual bool iprm::CParamsManagerCompBase::SetParamsSetName ( int  index,
const QString &  name 
)
overridevirtual

Set name of specified parameter set.

Changes the display name of a parameter set.

Parameters
indexIndex of the parameter set (0-based).
nameNew name for the parameter set.
Returns
true if name was changed successfully, false otherwise.
Note
Check MF_SUPPORT_RENAME flag before calling.
int flags = manager->GetIndexOperationFlags(0);
{
bool renamed = manager->SetParamsSetName(0, "Updated Name");
if (renamed)
{
qDebug() << "Name changed successfully";
}
}
See also
GetParamsSetName, MF_SUPPORT_RENAME

Implements iprm::IParamsManager.

◆ SetSelectedOptionIndex()

virtual bool iprm::CParamsManagerCompBase::SetSelectedOptionIndex ( int  index)
overridevirtual

Set index of selected option.

Changes the selected option to the specified index.

Parameters
indexIndex of the option to select (0-based), or NO_SELECTION to clear the selection.
Returns
true if selection change was possible and successful, false otherwise.
Note
Returns false if index is out of range or the option is disabled.
Triggers CF_SELECTION_CHANGED notification on success.
// Select third option
bool success = selection.SetSelectedOptionIndex(2);
if (success)
{
qDebug() << "Selection changed";
}
// Clear selection
selection.SetSelectedOptionIndex(iprm::ISelectionParam::NO_SELECTION);
See also
GetSelectedOptionIndex, CF_SELECTION_CHANGED

Implements iprm::ISelectionParam.

◆ SwapParamsSet()

virtual bool iprm::CParamsManagerCompBase::SwapParamsSet ( int  index1,
int  index2 
)
overridevirtual

Swap two parameter sets.

Exchanges the positions of two parameter sets in the manager's list.

Parameters
index1Index of first parameter set.
index2Index of second parameter set.
Returns
true if swap succeeded, false otherwise.
Note
Check MF_SUPPORT_SWAP flag before calling.
// Swap first and third parameter sets
int flags = manager->GetIndexOperationFlags(-1);
{
bool swapped = manager->SwapParamsSet(0, 2);
if (swapped)
{
qDebug() << "Parameter sets swapped";
}
}
@ MF_SUPPORT_SWAP
Active if swap of parameters with the other one is possible.
See also
MF_SUPPORT_SWAP

Implements iprm::IParamsManager.

Member Data Documentation

◆ m_fixedParamsSetFlagsMap

QMap<int, int> iprm::CParamsManagerCompBase::m_fixedParamsSetFlagsMap
protected

Definition at line 248 of file CParamsManagerCompBase.h.

◆ m_paramSets

ParamSets iprm::CParamsManagerCompBase::m_paramSets
protected

Definition at line 244 of file CParamsManagerCompBase.h.

◆ m_selectedIndex

int iprm::CParamsManagerCompBase::m_selectedIndex
protected

Definition at line 152 of file CParamsManagerCompBase.h.

◆ m_updateBridge

imod::CModelUpdateBridge iprm::CParamsManagerCompBase::m_updateBridge
protected

Definition at line 246 of file CParamsManagerCompBase.h.


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