GlsMenu
GlsMenuDataGroup_T< T > Class Template Reference

#include <gls_menu_data_group.h>

Inheritance diagram for GlsMenuDataGroup_T< T >:
GlsMenuDynDataGroup GlsMenuDataGroup GlsMenuData

Public Member Functions

 GlsMenuDataGroup_T (const std::string &name, GlsMenuDictionary &dataDict, bool uniqueKeys=true)
 
virtual ~GlsMenuDataGroup_T ()
 
T * Item (const std::string &name) const
 
virtual std::istream & ReadValue (std::istream &instr)
 
const GlsMenuDictionaryAttributes () const
 
virtual std::ostream & WriteValue (std::ostream &outstr)
 
virtual void Inc (long amount=1)
 

Protected Member Functions

virtual GlsMenuDataCreateDataItem (const std::string &name) const
 

Protected Attributes

GlsMenuDictionary_dataDict
 Data dictionary to pass to items created in the group. This is the dictionary used to evaluate menu data variables. More...
 
bool _uniqueKeys
 Specifies whether attribute names should be unique or not. More...
 
GlsMenuDictionary _attr
 The dictionary of attributes for the group attribute. More...
 

Detailed Description

template<class T>
class GlsMenuDataGroup_T< T >

The GlsMenuDataGroup_T is the base class for groups of data that can be created dynamically at ReadValue time. If the data does NOT already exist, it will be created and added to the attribute group dictionary, otherwise its value will be updated. The class supports either unique or multiple keys. Items must accept 2 parameters,

  1. name, 2. data dictionary

Definition at line 177 of file gls_menu_data_group.h.

Constructor & Destructor Documentation

template<class T >
GlsMenuDataGroup_T< T >::GlsMenuDataGroup_T ( const std::string &  name,
GlsMenuDictionary dataDict,
bool  uniqueKeys = true 
)
inline

Class constructor.

Parameters
namethe name of the group of data items.
dataDictthe menu data dictionary used to evaluate menu data variables
uniqueKeyswhether or not unique keys are required in the group.

Definition at line 189 of file gls_menu_data_group.h.

template<class T >
virtual GlsMenuDataGroup_T< T >::~GlsMenuDataGroup_T ( )
inlinevirtual

Class destructor.

Definition at line 202 of file gls_menu_data_group.h.

Member Function Documentation

const GlsMenuDictionary& GlsMenuDataGroup::Attributes ( ) const
inlineinherited

Read attribute dictionary from an input stream.

Parameters
instrinput stream to read value from.

Definition at line 78 of file gls_menu_data_group.h.

References GlsMenuDataGroup::_attr.

Referenced by GlsMFDMenu_T< MenuItem_t, Submenu_t, PageId_t >::ReadValue().

template<class T >
virtual GlsMenuData* GlsMenuDataGroup_T< T >::CreateDataItem ( const std::string &  name) const
inlineprotectedvirtual

Create a new instance of our particular data item type using a name and the data dictionary.

Parameters
namename of the data item.
Returns
a pointer to the item or 0 if the item cannot be created.

Implements GlsMenuDynDataGroup.

Definition at line 234 of file gls_menu_data_group.h.

virtual void GlsMenuData::Inc ( long  amount = 1)
virtualinherited

Increment the data item. Derived classes must override this as the default is a no-op.

Reimplemented in GlsMenuDiscrete_T< T >.

Referenced by GlsMenuSet_T< MenuType_t, DataFactory_t >::IncData().

template<class T >
T* GlsMenuDataGroup_T< T >::Item ( const std::string &  name) const
inline

Gain access to a particular meta-data item within the group.

Parameters
namename of the meta-data item.
Returns
a pointer to the item or 0 if the item does not exist within the group.

Definition at line 214 of file gls_menu_data_group.h.

References GlsMenuDataGroup::_attr, and GlsMenuDictionary::Get().

virtual std::istream& GlsMenuDynDataGroup::ReadValue ( std::istream &  instr)
virtualinherited

Read attribute dictionary from an input stream.

Parameters
instrinput stream to read value from.

Reimplemented from GlsMenuDataGroup.

virtual std::ostream& GlsMenuDataGroup::WriteValue ( std::ostream &  outstr)
virtualinherited

Read attribute dictionary from an input stream.

Parameters
instrinput stream to read value from.

Field Documentation

template<class T >
GlsMenuDictionary& GlsMenuDataGroup_T< T >::_dataDict
protected

Data dictionary to pass to items created in the group. This is the dictionary used to evaluate menu data variables.

Definition at line 222 of file gls_menu_data_group.h.

bool GlsMenuDynDataGroup::_uniqueKeys
protectedinherited

Specifies whether attribute names should be unique or not.

Definition at line 151 of file gls_menu_data_group.h.


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