GlsMenu
|
#include <gls_menu_data.h>
Public Member Functions | |
GlsMenuData_T (const std::string &name, T *data) | |
GlsMenuData_T (const std::string &name, const T &value) | |
GlsMenuData_T (const std::string &name) | |
virtual | ~GlsMenuData_T () |
virtual void | Attach (T *&data) |
virtual bool | ReferTo (T &data) |
virtual bool | ValueChanged () |
virtual void | ResetValueChanged () |
virtual std::ostream & | WriteValue (std::ostream &outstr) |
virtual std::istream & | ReadValue (std::istream &instr) |
void | SetPrecision (int outputPrecision) |
virtual const T & | Value () const |
virtual T & | Value () |
virtual void | Value (const T &val) |
template<> | |
std::ostream & | WriteValue (std::ostream &outstr) |
template<> | |
std::ostream & | WriteValue (std::ostream &outstr) |
virtual void | Inc (long amount=1) |
Protected Attributes | |
T * | _data |
Storage for the meta-data. More... | |
T | _prevValue |
The previous meta-data value. More... | |
bool | _prevValueValid |
Whether or not the previous value should be considered. More... | |
int | _precision |
Allows for setting of precision for floating point numbers. More... | |
The GlsMenuData_T provides a fully functional templatized menu meta-data type. The type T MUST have the <<, >>, =, and == operators defined. This will work for most one-line data types.
Definition at line 104 of file gls_menu_data.h.
GlsMenuData_T< T >::GlsMenuData_T | ( | const std::string & | name, |
T * | data | ||
) |
Class constructor. Keeps a pointer to the specified type in sync with the simulation meta-data. This will set localStorage to false.
GlsMenuData_T< T >::GlsMenuData_T | ( | const std::string & | name, |
const T & | value | ||
) |
Class constructor. Actually creates storage for the simulation meta-data and initializes the value. This will set localStorage to true.
GlsMenuData_T< T >::GlsMenuData_T | ( | const std::string & | name | ) |
Class constructor. Actually creates storage for the simulation meta-data but will not initialize the value. This will set localStorage to true.
|
virtual |
Class destructor.
|
virtual |
Attaches an external pointer to the data so that dereferencing the pointer will allow access to the data item's value without performing dictionary lookups and data value retrievals.
Referenced by GlsMenuDictionary::Attach().
|
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().
|
virtual |
Reads the value from the input stream. The ReadValue call shall consume only what it needs. It is the responsibility of the calling function to read to the end of line, or to clean up from a bad read. The calling function will also ensure that the data starts as the next byte in the stream.
Reimplemented in GlsMenuLine, and GlsMenuActionGroup.
Referenced by GlsMenuDataFactory::Data< T >::Create(), and GlsMenuDataFactory::Data< T >::CreateDiscrete().
|
virtual |
Changes the data item to refer to and use the external variable rather than its own memory. Allows access to the data item's value without performing dictionary lookups and data value retrievals.
Referenced by GlsMenuDictionary::Refer(), and GlsMenuDictionary::ReferCopy().
|
virtual |
Sets the previous value to the current value.
void GlsMenuData_T< T >::SetPrecision | ( | int | outputPrecision | ) |
Allows for setting of precision for floating point numbers. This is the number of digits to be shown after the decimal point.
|
virtual |
Returns the value of the simulation meta-data.
Referenced by GlsMenuDictionary::ReferCopy().
|
virtual |
Returns a reference value of the simulation meta-data.
|
virtual |
Sets the value of the simulation meta-data.
|
virtual |
Determines if the value has changed since the last call to this method.
|
virtual |
Writes the value to the output stream.
Reimplemented in GlsMenuActionGroup.
|
inline |
Definition at line 235 of file gls_menu_data.h.
|
inline |
Definition at line 242 of file gls_menu_data.h.
|
protected |
Storage for the meta-data.
Definition at line 220 of file gls_menu_data.h.
|
protected |
Allows for setting of precision for floating point numbers.
Definition at line 229 of file gls_menu_data.h.
|
protected |
The previous meta-data value.
Definition at line 223 of file gls_menu_data.h.
|
protected |
Whether or not the previous value should be considered.
Definition at line 226 of file gls_menu_data.h.