Public Types | Public Member Functions | List of all members
iprm::COptionsManager Class Reference

Implementation of a simple options manager. More...

#include <COptionsManager.h>

Inheritance diagram for iprm::COptionsManager:
iprm::CSelectionParam iprm::IOptionsManager iprm::ISelectionParam iprm::IOptionsList iprm::ISelectionParam iser::ISerializable istd::IChangeable iser::ISerializable istd::IChangeable istd::IPolymorphic istd::IChangeable istd::IPolymorphic istd::IPolymorphic iimg::CComposedBitmapProviderComp iprm::COptionsManagerComp

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_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...
 
- 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. More...
 
virtual void ResetOptions ()
 Removes all options. More...
 
int GetOptionIndexById (const QByteArray &optionId) const
 Get the index for the given option ID. More...
 
int GetOptionIndexByName (const QString &optionName) const
 Get the index for the given option name. More...
 
bool IsSelectionSerialized () const
 Check if selection is serialized. More...
 
void SetSelectionSerialized (bool state)
 Turn on or off selection serializing. More...
 
virtual int GetOptionsFlags () const
 Get constraints flags. More...
 
virtual int GetOptionsCount () const
 Get number of managed options. More...
 
virtual QString GetOptionName (int index) const
 Get name of specified option. More...
 
virtual QString GetOptionDescription (int index) const
 Get human readable description for a option with the index index. More...
 
virtual QByteArray GetOptionId (int index) const
 Get option ID. More...
 
virtual bool IsOptionEnabled (int index) const
 Return true if the option is enabled and can be selected. More...
 
virtual int GetOptionOperationFlags (int index=-1) const
 Get operation control flags of some option or whole manager. More...
 
virtual bool SetOptionEnabled (int index, bool isEnabled=true)
 Enables a given option. More...
 
virtual bool RemoveOption (int index)
 Remove an option at the given index. More...
 
virtual bool InsertOption (const QString &optionName, const QByteArray &optionId, const QString &optionDescription=QString(), int index=-1)
 Insert an option at some position. More...
 
virtual bool SwapOptions (int index1, int index2)
 Swap two options. More...
 
virtual bool SetOptionName (int index, const QString &optionName)
 Set a new name for the option at the given index optionIndex. More...
 
virtual bool SetOptionDescription (int index, const QString &optionDescription)
 Set a new description for the option at the given index optionIndex. More...
 
virtual bool Serialize (iser::IArchive &archive)
 Load or store state of this object as a archive stream. More...
 
- Public Member Functions inherited from iprm::CSelectionParam
 CSelectionParam ()
 
void SetSelectionConstraints (const IOptionsList *constraintsPtr)
 Set selection constraints for this selection object. More...
 
void SetSubselection (int selectionIndex, ISelectionParam *selectionPtr)
 Set sub-selection for a given option index. More...
 
bool SetSelectedOptionById (const QByteArray &selectedOptionId)
 Set selection index according to a given option ID. More...
 
int GetOptionIndexById (const QByteArray &optionId) const
 Get index of an option by ID. More...
 
ISelectionParamGetActiveSubselection () const
 Get sub-selection for the currently selected option. More...
 
virtual const IOptionsListGetSelectionConstraints () const
 Get constraints of this parameter. More...
 
virtual int GetSelectedOptionIndex () const
 Get selected index. More...
 
virtual bool SetSelectedOptionIndex (int index)
 Set index of selected option. More...
 
virtual ISelectionParamGetSubselection (int index) const
 Get subselection for specified option. More...
 
virtual bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data. More...
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. More...
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction. More...
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction. More...
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes. More...
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes. More...
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set. More...
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set. More...
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set. More...
 
- 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. More...
 
bool SyncIndexWithId ()
 Synchronize current index to optimal one. More...
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event. More...
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event. More...
 

Detailed Description

Implementation of a simple options manager.

Definition at line 23 of file COptionsManager.h.

Member Typedef Documentation

Definition at line 28 of file COptionsManager.h.

Constructor & Destructor Documentation

iprm::COptionsManager::COptionsManager ( )

Member Function Documentation

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

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

Implements iprm::IOptionsList.

virtual QByteArray iprm::COptionsManager::GetOptionId ( int  index) const
virtual

Get option ID.

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

See Also
OptionsFlags

Implements iprm::IOptionsList.

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.
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.
virtual QString iprm::COptionsManager::GetOptionName ( int  index) const
virtual

Get name of specified option.

Implements iprm::IOptionsList.

virtual int iprm::COptionsManager::GetOptionOperationFlags ( int  index = -1) const
virtual

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.

virtual int iprm::COptionsManager::GetOptionsCount ( ) const
virtual

Get number of managed options.

Implements iprm::IOptionsList.

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

Get constraints flags.

The flags describes how the constraints object mantainance

Implements iprm::IOptionsList.

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

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.

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

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

Implements iprm::IOptionsList.

bool iprm::COptionsManager::IsSelectionSerialized ( ) const

Check if selection is serialized.

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

Remove an option at the given index.

Returns true if the operation was successful.

Implements iprm::IOptionsManager.

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

Removes all options.

virtual bool iprm::COptionsManager::Serialize ( iser::IArchive archive)
virtual

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

Type of operation is depending on archive type.

See Also
iser::IArchive

Reimplemented from iprm::CSelectionParam.

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

Set additional fixed list of options.

virtual bool iprm::COptionsManager::SetOptionDescription ( int  optionIndex,
const QString &  optionDescription 
)
virtual

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

Implements iprm::IOptionsManager.

virtual bool iprm::COptionsManager::SetOptionEnabled ( int  index,
bool  isEnabled = true 
)
virtual

Enables a given option.

Only enabled options can be selected.

See Also
GetOptionEnabled

Implements iprm::IOptionsManager.

virtual bool iprm::COptionsManager::SetOptionName ( int  optionIndex,
const QString &  optionName 
)
virtual

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.

virtual bool iprm::COptionsManager::SwapOptions ( int  index1,
int  index2 
)
virtual

Swap two options.

Implements iprm::IOptionsManager.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy