Eclipse SUMO - Simulation of Urban MObility
GUIParameterTableItem< T > Class Template Reference

Instance of a single line in a parameter window. More...

#include <GUIParameterTableItem.h>

Inheritance diagram for GUIParameterTableItem< T >:
Collaboration diagram for GUIParameterTableItem< T >:

Public Member Functions

bool dynamic () const
 Returns the information whether this item may change over time. More...
 
ValueSource< double > * getdoubleSourceCopy () const
 Returns a double-typed copy of the source if the value is dynamic. More...
 
const std::string & getName () const
 Returns the name of this value. More...
 
ValueSource< T > * getSourceCopy () const
 Returns a copy of the source if the value is dynamic. More...
 
 GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, ValueSource< T > *src)
 Constructor for changing (dynamic) values. More...
 
 GUIParameterTableItem (FXTable *table, unsigned pos, const std::string &name, bool dynamic, T value)
 Constructor for non-changing (static) values. More...
 
void init (bool dynamic, std::string value)
 Initialises the line. More...
 
void update ()
 Resets the value if it's dynamic. More...
 
 ~GUIParameterTableItem ()
 Destructor. More...
 

Private Attributes

bool myAmDynamic
 Information whether the value may change. More...
 
std::string myName
 The name of this value. More...
 
ValueSource< T > * mySource
 The source to gain new values from; this source is==0 if the values are not dynamic. More...
 
FXTable * myTable
 The table this entry belongs to. More...
 
FXint myTablePosition
 The position within the table. More...
 
myValue
 A backup of the value to avoid the redrawing when nothing has changed. More...
 

Detailed Description

template<class T>
class GUIParameterTableItem< T >

Instance of a single line in a parameter window.

This class represents a single item of a parameter table and is an implementation of the GUIParameterTableItemInterface that allows different value-types.

As some values may change over the simulation, this class holds the information whether they change and how to ask for new values if they do.

See also
GUIParameterTracker
GUIParameterTableItemInterface

Definition at line 99 of file GUIParameterTableItem.h.

Constructor & Destructor Documentation

◆ GUIParameterTableItem() [1/2]

template<class T>
GUIParameterTableItem< T >::GUIParameterTableItem ( FXTable *  table,
unsigned  pos,
const std::string &  name,
bool  dynamic,
ValueSource< T > *  src 
)
inline

Constructor for changing (dynamic) values.

Parameters
[in]tableThe table this item belongs to
[in]posThe row of the table this item fills
[in]nameThe name of the represented value
[in]dynamicInformation whether this value changes over time
[in]srcThe value source
Todo:

Consider using a reference to the table

Check whether the name should be stored in GUIParameterTableItemInterface

Definition at line 111 of file GUIParameterTableItem.h.

References ValueSource< T >::getValue().

◆ GUIParameterTableItem() [2/2]

template<class T>
GUIParameterTableItem< T >::GUIParameterTableItem ( FXTable *  table,
unsigned  pos,
const std::string &  name,
bool  dynamic,
value 
)
inline

Constructor for non-changing (static) values.

Parameters
[in]tableThe table this item belongs to
[in]posThe row of the table this item fills
[in]nameThe name of the represented value
[in]dynamicInformation whether this value changes over time
[in]valueThe value
Todo:

Consider using a reference to the table

Check whether the name should be stored in GUIParameterTableItemInterface

Should never be dynamic!?

Definition at line 129 of file GUIParameterTableItem.h.

◆ ~GUIParameterTableItem()

template<class T>
GUIParameterTableItem< T >::~GUIParameterTableItem ( )
inline

Destructor.

Definition at line 137 of file GUIParameterTableItem.h.

Member Function Documentation

◆ dynamic()

template<class T>
bool GUIParameterTableItem< T >::dynamic ( ) const
inlinevirtual

Returns the information whether this item may change over time.

Implements GUIParameterTableItemInterface.

Definition at line 161 of file GUIParameterTableItem.h.

◆ getdoubleSourceCopy()

template<class T>
ValueSource<double>* GUIParameterTableItem< T >::getdoubleSourceCopy ( ) const
inlinevirtual

Returns a double-typed copy of the source if the value is dynamic.

Implements GUIParameterTableItemInterface.

Definition at line 197 of file GUIParameterTableItem.h.

References ValueSource< T >::makedoubleReturningCopy().

◆ getName()

template<class T>
const std::string& GUIParameterTableItem< T >::getName ( ) const
inlinevirtual

Returns the name of this value.

Implements GUIParameterTableItemInterface.

Definition at line 166 of file GUIParameterTableItem.h.

◆ getSourceCopy()

template<class T>
ValueSource<T>* GUIParameterTableItem< T >::getSourceCopy ( ) const
inline

Returns a copy of the source if the value is dynamic.

Definition at line 189 of file GUIParameterTableItem.h.

◆ init()

template<class T>
void GUIParameterTableItem< T >::init ( bool  dynamic,
std::string  value 
)
inline

Initialises the line.

Fills the line using the name, the current value, and the information whether the value changes over time.

Parameters
[in]dynamicInformation whether this value changes over time
[in]valueThe current (initial) value

Definition at line 149 of file GUIParameterTableItem.h.

References GUIIconSubSys::getIcon(), ICON_NO, and ICON_YES.

◆ update()

template<class T>
void GUIParameterTableItem< T >::update ( )
inlinevirtual

Resets the value if it's dynamic.

If the value is dynamic, the current value is retrieved from the value source. If it is different from the previous one (stored in myValue), it is stored in myValue and set as the current value text within the according table cell.

Implements GUIParameterTableItemInterface.

Definition at line 177 of file GUIParameterTableItem.h.

References GUIParameterTableItemInterface::dynamic().

Field Documentation

◆ myAmDynamic

template<class T>
bool GUIParameterTableItem< T >::myAmDynamic
private

Information whether the value may change.

Definition at line 206 of file GUIParameterTableItem.h.

◆ myName

template<class T>
std::string GUIParameterTableItem< T >::myName
private

The name of this value.

Definition at line 209 of file GUIParameterTableItem.h.

◆ mySource

template<class T>
ValueSource<T>* GUIParameterTableItem< T >::mySource
private

The source to gain new values from; this source is==0 if the values are not dynamic.

Definition at line 215 of file GUIParameterTableItem.h.

◆ myTable

template<class T>
FXTable* GUIParameterTableItem< T >::myTable
private

The table this entry belongs to.

Definition at line 221 of file GUIParameterTableItem.h.

◆ myTablePosition

template<class T>
FXint GUIParameterTableItem< T >::myTablePosition
private

The position within the table.

Definition at line 212 of file GUIParameterTableItem.h.

◆ myValue

template<class T>
T GUIParameterTableItem< T >::myValue
private

A backup of the value to avoid the redrawing when nothing has changed.

Definition at line 218 of file GUIParameterTableItem.h.


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