SUMO - Simulation of Urban MObility
GUIParameterTableWindow Class Reference

A window containing a gl-object's parameter. More...

#include <GUIParameterTableWindow.h>

Inheritance diagram for GUIParameterTableWindow:
FXMainWindow

Public Member Functions

void closeBuilding ()
 Closes the building of the table.
 GUIParameterTableWindow (GUIMainWindow &app, GUIGlObject &o, size_t noRows)
 Constructor.
void removeObject (GUIGlObject *const o)
 Lets this window know the object shown is being deleted.
 ~GUIParameterTableWindow ()
 Destructor.
Row adding functions
void mkItem (const char *name, bool dynamic, ValueSource< unsigned > *src)
 Adds a row which obtains its value from an unsigned-ValueSource.
void mkItem (const char *name, bool dynamic, ValueSource< SUMOReal > *src)
 Adds a row which obtains its value from an SUMOReal-ValueSource.
void mkItem (const char *name, bool dynamic, ValueSource< SUMOTime > *src)
 Adds a row which obtains its value from an SUMOTime-ValueSource.
void mkItem (const char *name, bool dynamic, std::string value)
 Adds a row which shows a string-value.
void mkItem (const char *name, bool dynamic, unsigned value)
 Adds a row which shows a unsigned-value.
void mkItem (const char *name, bool dynamic, SUMOReal value)
 Adds a row which shows a SUMOReal-value.
void mkItem (const char *name, bool dynamic, SUMOTime value)
 Adds a row which shows a SUMOTime-value.
FOX-callbacks
long onSimStep (FXObject *, FXSelector, void *)
 Updates the table due to a simulation step.
long onTableSelected (FXObject *, FXSelector, void *)
 Does nothing.
long onTableDeselected (FXObject *, FXSelector, void *)
 Does nothing.
long onRightButtonPress (FXObject *, FXSelector, void *)
 Shows a popup.

Protected Member Functions

 GUIParameterTableWindow ()
 FOX needs this.
void updateTable ()
 Updates the table.

Private Attributes

GUIMainWindowmyApplication
 The main application window.
unsigned myCurrentPos
 The index of the next row to add - used while building.
std::vector
< GUIParameterTableItemInterface * > 
myItems
 The list of table rows.
MFXMutex myLock
 A lock assuring save updates in cse of object deletion.
GUIGlObjectmyObject
 The object to get the information from.
FXTablemyTable
 The table to display the information in.

Detailed Description

A window containing a gl-object's parameter.

This class realises a view on some parameter of a gl-object. The gl-object itself is responsible for filling this table.

After allocating such a table, the object should fill the rows by calling one of the mkItem-methods for each. The building is closed using closeBuilding what forces the table to be displayed.

Each row is represented using an instance of GUIParameterTableItemInterface.

Definition at line 66 of file GUIParameterTableWindow.h.


Constructor & Destructor Documentation

Constructor.

Parameters:
[in]appThe application this window belongs to
[in]oThe gl-object this table describes
[in]noRowsNumber of rows to allocate

Definition at line 65 of file GUIParameterTableWindow.cpp.

References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_TABLE.

FOX needs this.

Definition at line 237 of file GUIParameterTableWindow.h.


Member Function Documentation

void GUIParameterTableWindow::mkItem ( const char *  name,
bool  dynamic,
ValueSource< SUMOReal > *  src 
)

Adds a row which obtains its value from an SUMOReal-ValueSource.

Parameters:
[in]nameThe name of the row entry
[in]dynamicInformation whether the entry is dynamic
[in]srcThe value source to use

Definition at line 172 of file GUIParameterTableWindow.cpp.

References myCurrentPos, myItems, and myTable.

void GUIParameterTableWindow::mkItem ( const char *  name,
bool  dynamic,
ValueSource< SUMOTime > *  src 
)

Adds a row which obtains its value from an SUMOTime-ValueSource.

Parameters:
[in]nameThe name of the row entry
[in]dynamicInformation whether the entry is dynamic
[in]srcThe value source to use

Definition at line 181 of file GUIParameterTableWindow.cpp.

References myCurrentPos, myItems, and myTable.

void GUIParameterTableWindow::mkItem ( const char *  name,
bool  dynamic,
std::string  value 
)

Adds a row which shows a string-value.

Parameters:
[in]nameThe name of the row entry
[in]dynamicInformation whether the entry is dynamic
[in]valueThe value to show
Todo:
the dynamic-parameter is obsolete(?)

Definition at line 190 of file GUIParameterTableWindow.cpp.

References myCurrentPos, myItems, and myTable.

void GUIParameterTableWindow::mkItem ( const char *  name,
bool  dynamic,
unsigned  value 
)

Adds a row which shows a unsigned-value.

Parameters:
[in]nameThe name of the row entry
[in]dynamicInformation whether the entry is dynamic
[in]valueThe value to show
Todo:
the dynamic-parameter is obsolete

Definition at line 207 of file GUIParameterTableWindow.cpp.

References myCurrentPos, myItems, and myTable.

void GUIParameterTableWindow::mkItem ( const char *  name,
bool  dynamic,
SUMOReal  value 
)

Adds a row which shows a SUMOReal-value.

Parameters:
[in]nameThe name of the row entry
[in]dynamicInformation whether the entry is dynamic
[in]valueThe value to show
Todo:
the dynamic-parameter is obsolete

Definition at line 199 of file GUIParameterTableWindow.cpp.

References myCurrentPos, myItems, and myTable.

void GUIParameterTableWindow::mkItem ( const char *  name,
bool  dynamic,
SUMOTime  value 
)

Adds a row which shows a SUMOTime-value.

Parameters:
[in]nameThe name of the row entry
[in]dynamicInformation whether the entry is dynamic
[in]valueThe value to show
Todo:
the dynamic-parameter is obsolete

Definition at line 216 of file GUIParameterTableWindow.cpp.

References myCurrentPos, myItems, and myTable.

long GUIParameterTableWindow::onRightButtonPress ( FXObject sender,
FXSelector  sel,
void *  data 
)

Shows a popup.

Callback for right-mouse-button pressing event. Obtains the selected row and determines whether it is dynamic. If so, a popup-menu which allows to open a tracker for this value is built and shown.

See also:
GUIParameterTableItemInterface
GUIParam_PopupMenuInterface

Definition at line 136 of file GUIParameterTableWindow.cpp.

References GUIParameterTableItemInterface::dynamic(), GUIParameterTableItemInterface::getName(), GUIParameterTableItemInterface::getSUMORealSourceCopy(), MID_OPENTRACKER, myApplication, myItems, myObject, and myTable.

long GUIParameterTableWindow::onSimStep ( FXObject ,
FXSelector  ,
void *   
)

Updates the table due to a simulation step.

Definition at line 116 of file GUIParameterTableWindow.cpp.

References updateTable().

long GUIParameterTableWindow::onTableDeselected ( FXObject ,
FXSelector  ,
void *   
)

Does nothing.

Todo:
Recheck whether this is needed (to override FXTable-behaviour?)

Definition at line 130 of file GUIParameterTableWindow.cpp.

long GUIParameterTableWindow::onTableSelected ( FXObject ,
FXSelector  ,
void *   
)

Does nothing.

Todo:
Recheck whether this is needed (to override FXTable-behaviour?)

Definition at line 124 of file GUIParameterTableWindow.cpp.

Lets this window know the object shown is being deleted.

Parameters:
[in]oThe deleted (shown) object

Definition at line 108 of file GUIParameterTableWindow.cpp.

References MFXMutex::lock(), myLock, myObject, and MFXMutex::unlock().

Updates the table.

Goes through all entries and updates them using GUIParameterTableItemInterface::update.

See also:
GUIParameterTableItemInterface::update

Definition at line 225 of file GUIParameterTableWindow.cpp.

References MFXMutex::lock(), myItems, myLock, myObject, and MFXMutex::unlock().

Referenced by onSimStep().


Field Documentation

The main application window.

Definition at line 224 of file GUIParameterTableWindow.h.

Referenced by closeBuilding(), onRightButtonPress(), and ~GUIParameterTableWindow().

The index of the next row to add - used while building.

Definition at line 230 of file GUIParameterTableWindow.h.

Referenced by mkItem().

The list of table rows.

Definition at line 227 of file GUIParameterTableWindow.h.

Referenced by mkItem(), onRightButtonPress(), updateTable(), and ~GUIParameterTableWindow().

A lock assuring save updates in cse of object deletion.

Definition at line 233 of file GUIParameterTableWindow.h.

Referenced by removeObject(), updateTable(), and ~GUIParameterTableWindow().

The object to get the information from.

Definition at line 218 of file GUIParameterTableWindow.h.

Referenced by onRightButtonPress(), removeObject(), updateTable(), and ~GUIParameterTableWindow().

The table to display the information in.

Definition at line 221 of file GUIParameterTableWindow.h.

Referenced by mkItem(), and onRightButtonPress().


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines