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

Implementation of a simple options manager. More...

#include <COptionsManager.h>

Inheritance diagram for iprm::COptionsManager:
Collaboration diagram for iprm::COptionsManager:

Public Types

typedef CSelectionParam BaseClass
 
- 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_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 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
 
- Public Member Functions inherited from iprm::CSelectionParam
 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.
 
ISelectionParamGetActiveSubselection () const
 Get sub-selection for the currently selected option.
 
const IOptionsListGetSelectionConstraints () 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.
 
ISelectionParamGetSubselection (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::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
- Public Member Functions inherited from iprm::ISelectionParam
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- Public Member Functions inherited from istd::IChangeable
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.
 
- Public Member Functions inherited from iprm::IOptionsManager
- Public Member Functions inherited from iprm::IOptionsList

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 Member Functions inherited from iprm::CSelectionParam
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.
 
- 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.
 

Detailed Description

Implementation of a simple options manager.

Definition at line 28 of file COptionsManager.h.

Member Typedef Documentation

◆ BaseClass

Constructor & Destructor Documentation

◆ COptionsManager()

iprm::COptionsManager::COptionsManager ( )

Member Function Documentation

◆ CopyFrom()

bool iprm::COptionsManager::CopyFrom ( const IChangeable & object,
CompatibilityMode mode = CM_WITHOUT_REFS )
override

◆ GetOptionDescription()

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

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

Implements iprm::IOptionsList.

◆ GetOptionId()

QByteArray iprm::COptionsManager::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.

◆ GetOptionIndexById()

int iprm::COptionsManager::GetOptionIndexById ( const QByteArray & optionId) const

Get the index for the given option ID.

Returns
found option index, or a negative value if the option with the requested ID was not found.

◆ GetOptionIndexByName()

int iprm::COptionsManager::GetOptionIndexByName ( const QString & optionName) const

Get the index for the given option name.

Returns
found option index, or a negative value if the option with the requested name was not found.
Note
If the container contains more options with the same name, the first found option index will be returned.

◆ GetOptionName()

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

Get name of specified option.

Implements iprm::IOptionsList.

◆ GetOptionOperationFlags()

int iprm::COptionsManager::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::COptionsManager::GetOptionsCount ( ) const
overridevirtual

Get number of managed options.

Implements iprm::IOptionsList.

◆ GetOptionsFlags()

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

Get constraints flags.

The flags describes how the constraints object mantainance

Implements iprm::IOptionsList.

◆ GetSupportedOperations()

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

Get set of flags for supported operations.

See also
SupportedOperations

Reimplemented from istd::IChangeable.

Reimplemented in imod::TModelWrap< iprm::COptionsManager >, and iser::TCopySerializedWrap< iprm::COptionsManager >.

◆ InsertOption()

bool iprm::COptionsManager::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.

◆ IsOptionEnabled()

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

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

Implements iprm::IOptionsList.

◆ IsSelectionSerialized()

bool iprm::COptionsManager::IsSelectionSerialized ( ) const

Check if selection is serialized.

◆ RemoveOption()

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

Remove an option at the given index.

Returns true if the operation was successful.

Implements iprm::IOptionsManager.

◆ ResetOptions()

virtual void iprm::COptionsManager::ResetOptions ( )
virtual

Removes all options.

◆ Serialize()

bool iprm::COptionsManager::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.

◆ SetFixedOptionsList()

void iprm::COptionsManager::SetFixedOptionsList ( const iprm::IOptionsList * slaveSelectionConstraintsPtr)

Set additional fixed list of options.

◆ SetOptionDescription()

bool iprm::COptionsManager::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::COptionsManager::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::COptionsManager::SetOptionName ( int optionIndex,
const QString & optionName )
overridevirtual

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

Implements iprm::IOptionsManager.

◆ SetSelectionSerialized()

void iprm::COptionsManager::SetSelectionSerialized ( bool state)

Turn on or off selection serializing.

◆ SwapOptions()

bool iprm::COptionsManager::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