ICF 3.1.1.10
Technical documentation of ICF Libraries
IParamsManager.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef iprm_IParamsManager_included
7#define iprm_IParamsManager_included
8
9
10// Qt includes
11#include <QtCore/QString>
12#include <QtCore/QSet>
13#include <QtCore/QByteArray>
14
15// ICF includes
16#include <iprm/IOptionsList.h>
18
19
20namespace iprm
21{
22
23
24class IParamsSet;
25
26
30class IParamsManager: virtual public IOptionsList
31{
32public:
33 typedef QSet<QByteArray> TypeIds;
34
80
91
92
103 virtual int GetIndexOperationFlags(int index = -1) const = 0;
104
112 virtual bool SetIndexOperationFlags(int index, int flags) = 0;
113
117 virtual int GetParamsSetsCount() const = 0;
118
123 virtual const IOptionsList* GetParamsTypeConstraints() const = 0;
124
134 virtual int InsertParamsSet(int typeIndex = -1, int index = -1) = 0;
135
139 virtual bool RemoveParamsSet(int index) = 0;
140
144 virtual bool SwapParamsSet(int index1, int index2) = 0;
145
149 virtual IParamsSet* GetParamsSet(int index) const = 0;
150
154 virtual QString GetParamsSetName(int index) const = 0;
155
159 virtual bool SetParamsSetName(int index, const QString& name) = 0;
160
164 virtual QString GetParamsSetDescription(int index) const = 0;
165
169 virtual void SetParamsSetDescription(int index, const QString& description) = 0;
170};
171
172
173} // namespace iprm
174
175
176#endif // !iprm_IParamsManager_included
177
178
Constraints of selection from set of possibilities.
Manager of parameters set.
virtual bool SetParamsSetName(int index, const QString &name)=0
Set name of specified parameter set.
virtual int GetIndexOperationFlags(int index=-1) const =0
Get operation control flags of some paramter set or whole manager.
virtual bool SwapParamsSet(int index1, int index2)=0
Swap two parameter sets.
virtual const IOptionsList * GetParamsTypeConstraints() const =0
Get selection contraints describing each supported type.
virtual int InsertParamsSet(int typeIndex=-1, int index=-1)=0
Insert new parameters set at selected position.
QSet< QByteArray > TypeIds
ChangeFlags
Possible changes of the manager's data model.
virtual int GetParamsSetsCount() const =0
Get number of managed set.
virtual QString GetParamsSetDescription(int index) const =0
Get the description of the specified parameter set.
virtual bool SetIndexOperationFlags(int index, int flags)=0
Set operation control flags of some parameter-set.
virtual IParamsSet * GetParamsSet(int index) const =0
Get selected parameter set.
virtual void SetParamsSetDescription(int index, const QString &description)=0
Set the description of the specified parameter set.
virtual bool RemoveParamsSet(int index)=0
Remove parameters set at selected position.
virtual QString GetParamsSetName(int index) const =0
Get name of specified parameter set.
ParamsOperationFlags
Bitwise coded flags used to find out supported features.
@ MF_COUNT_FIXED
Active if number of parameters is fixed.
@ MF_SUPPORT_EDIT
Active if it is possible to edit parameter values.
@ MF_INACTIVE
Option is inactive (i.e.
@ MF_SUPPORT_DELETE
Active if delete of parameters is possible.
@ MF_SUPPORT_INSERT
Active if insert of parameters is possible.
@ MF_SUPPORT_RENAME
Active if rename of parameters is supported.
@ MF_DISABLE_ALLOWED
Active if it is possible to get the disabled option.
@ MF_SUPPORT_SWAP
Active if swap of parameters with the other one is possible.
Set of general parameters.
Definition IParamsSet.h:29
Contains interfaces and implementations of flexible parameter concept.

© Witold Gantzke and Kirill Lepskiy