![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Implementation of a simple options manager. More...
#include <COptionsManager.h>
Public Types | |
typedef CSelectionParam | BaseClass |
![]() | |
enum | ChangeFlags { CF_SELECTION_CHANGED = 0x67364be } |
Data model change notification flags. More... | |
enum | { NO_SELECTION = -1 } |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 Member Functions | |
COptionsManager () | |
void | SetFixedOptionsList (const iprm::IOptionsList *slaveSelectionConstraintsPtr) |
Set additional fixed list of options. | |
virtual void | ResetOptions () |
Removes all options. | |
int | GetOptionIndexById (const QByteArray &optionId) const |
Get the index for the given option ID. | |
int | GetOptionIndexByName (const QString &optionName) const |
Get the index for the given option name. | |
bool | IsSelectionSerialized () const |
Check if selection is serialized. | |
void | SetSelectionSerialized (bool state) |
Turn on or off selection serializing. | |
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 | 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 index, const QString &optionName) override |
Set a new name for the option at the given index optionIndex . | |
bool | SetOptionDescription (int index, const QString &optionDescription) override |
Set a new description for the option at the given index optionIndex . | |
bool | Serialize (iser::IArchive &archive) override |
Load or store state of this object as a archive stream. | |
int | GetSupportedOperations () const override |
Get set of flags for supported operations. | |
bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
![]() | |
CSelectionParam () | |
void | SetSelectionConstraints (const IOptionsList *constraintsPtr) |
Set selection constraints for this selection object. | |
void | SetSubselection (int selectionIndex, ISelectionParam *selectionPtr) |
Set sub-selection for a given option index. | |
bool | SetSelectedOptionById (const QByteArray &selectedOptionId) |
Set selection index according to a given option ID. | |
int | GetOptionIndexById (const QByteArray &optionId) const |
Get index of an option by ID. | |
ISelectionParam * | GetActiveSubselection () const |
Get sub-selection for the currently selected option. | |
const IOptionsList * | GetSelectionConstraints () const override |
Get constraints of this parameter. | |
QByteArray | GetSelectedOptionId () const override |
Get selected ID. | |
int | GetSelectedOptionIndex () const override |
Get selected index. | |
bool | SetSelectedOptionIndex (int index) override |
Set index of selected option. | |
ISelectionParam * | GetSubselection (int index) const override |
Get subselection for specified option. | |
bool | Serialize (iser::IArchive &archive) override |
Load or store state of this object as a archive stream. | |
bool | CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
Copy this object from another one. | |
std::unique_ptr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override |
Make a copy of this object. | |
![]() | |
![]() | |
virtual quint32 | GetMinimalVersion (int versionId) const |
Get minimal needed version to correct storing of this data. | |
![]() | |
virtual bool | IsEqual (const IChangeable &object) const |
Compare this object with another object. | |
virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
Reset data to its default state. | |
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. | |
![]() | |
![]() |
Additional Inherited Members | |
![]() | |
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. | |
![]() | |
static int | FindIndexById (const QByteArray &id, const iprm::IOptionsList &list) |
Helper function to find the option index by ID. | |
![]() | |
int | CalcIndexFromId (const QByteArray &optionId, int suggestedIndex=NO_SELECTION) const |
Calculate optimal index based on current selected index and ID. | |
bool | SyncIndexWithId () |
Synchronize current index to optimal one. | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Implementation of a simple options manager.
Definition at line 28 of file COptionsManager.h.
Definition at line 33 of file COptionsManager.h.
iprm::COptionsManager::COptionsManager | ( | ) |
|
override |
|
overridevirtual |
Get human readable description for a option with the index index
.
Implements iprm::IOptionsList.
|
overridevirtual |
Get option ID.
The option ID must be unique, if flag SCF_SUPPORT_UNIQUE_ID is set.
Implements iprm::IOptionsList.
int iprm::COptionsManager::GetOptionIndexById | ( | const QByteArray & | optionId | ) | const |
Get the index for the given option ID.
int iprm::COptionsManager::GetOptionIndexByName | ( | const QString & | optionName | ) | const |
Get the index for the given option name.
|
overridevirtual |
Get name of specified option.
Implements iprm::IOptionsList.
|
overridevirtual |
Get operation control flags of some option or whole manager.
index | index 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.
|
overridevirtual |
Get number of managed options.
Implements iprm::IOptionsList.
|
overridevirtual |
Get constraints flags.
The flags describes how the constraints object mantainance
Implements iprm::IOptionsList.
|
overridevirtual |
Get set of flags for supported operations.
Reimplemented from istd::IChangeable.
Reimplemented in imod::TModelWrap< iprm::COptionsManager >, and iser::TCopySerializedWrap< iprm::COptionsManager >.
|
overridevirtual |
Insert an option at some position.
optionName | Name of the option |
optionId | ID of the option, according to data model constraints needs to be unique |
optionDescription | Description of the option |
index | Position 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.
|
overridevirtual |
Return true
if the option is enabled and can be selected.
Implements iprm::IOptionsList.
bool iprm::COptionsManager::IsSelectionSerialized | ( | ) | const |
Check if selection is serialized.
|
overridevirtual |
Remove an option at the given index.
Returns true
if the operation was successful.
Implements iprm::IOptionsManager.
|
virtual |
Removes all options.
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Implements iser::ISerializable.
void iprm::COptionsManager::SetFixedOptionsList | ( | const iprm::IOptionsList * | slaveSelectionConstraintsPtr | ) |
Set additional fixed list of options.
|
overridevirtual |
Set a new description for the option at the given index optionIndex
.
Implements iprm::IOptionsManager.
|
overridevirtual |
Enables a given option.
Only enabled options can be selected.
Implements iprm::IOptionsManager.
|
overridevirtual |
Set a new name for the option at the given index optionIndex
.
Implements iprm::IOptionsManager.
void iprm::COptionsManager::SetSelectionSerialized | ( | bool | state | ) |
Turn on or off selection serializing.
|
overridevirtual |
Swap two options.
Implements iprm::IOptionsManager.
© Witold Gantzke and Kirill Lepskiy