SUMO - Simulation of Urban MObility
GUITLLogicPhasesTrackerWindow Class Reference

This window displays a phase diagram for a chosen tl-logic. More...

#include <GUITLLogicPhasesTrackerWindow.h>

Inheritance diagram for GUITLLogicPhasesTrackerWindow:
FXMainWindow ValueRetriever< std::pair< SUMOTime, MSPhaseDefinition > >

Data Structures

class  GUITLLogicPhasesTrackerPanel
 The canvas for the visualisation of phases. More...

Public Member Functions

void addValue (std::pair< SUMOTime, MSPhaseDefinition > def)
 Adds a further phase definition.
void create ()
 Creates the window (FOX-Toolkit)
 GUITLLogicPhasesTrackerWindow (GUIMainWindow &app, MSTrafficLightLogic &logic, GUITrafficLightLogicWrapper &wrapper, ValueSource< std::pair< SUMOTime, MSPhaseDefinition > > *src)
 Constructor to track current phases.
 GUITLLogicPhasesTrackerWindow (GUIMainWindow &app, MSTrafficLightLogic &logic, GUITrafficLightLogicWrapper &wrapper, const MSSimpleTrafficLightLogic::Phases &phases)
 Constructor to show the complete phase diagram.
void setBeginTime (SUMOTime time)
 Sets the time the display shall be shown as beginning at.
 ~GUITLLogicPhasesTrackerWindow ()
 Destructor.

FOX-callbacks

{

typedef std::vector
< MSPhaseDefinition
PhasesVector
 }
typedef std::vector< SUMOTimeDurationsVector
 Definition of a storage for durations.
GUIMainWindowmyApplication
 The main application.
MSTrafficLightLogicmyTLLogic
 The logic to display.
PhasesVector myPhases
 The list of phases.
DurationsVector myDurations
 The list of phase durations.
GUITLLogicPhasesTrackerPanelmyPanel
 The panel to draw on.
MFXMutex myLock
 A lock to avoid addition of new values while drawing.
std::vector< std::string > myLinkNames
 The names of links.
size_t myFirstPhase2Show
 The index of the first phase that fits into the window.
size_t myFirstPhaseOffset
 The offset to draw the first phase (left offset)
SUMOTime myFirstTime2Show
 The time the diagram begins at.
SUMOTime myBeginTime
 The first time a phase was added at.
SUMOTime myLastTime
 The last time a phase was added at.
GLObjectValuePassConnector
< std::pair< SUMOTime,
MSPhaseDefinition > > * 
myConnector
 The connector for retrieval of further phases.
bool myAmInTrackingMode
 Information whether the tracking mode is on.
FXToolBarShell * myToolBarDrag
 The tool bar drag (tracking mode)
FXToolBar * myToolBar
 The tool bar (tracking mode)
FXRealSpinDial * myBeginOffset
 The offset changer (tracking mode)
long onConfigure (FXObject *sender, FXSelector sel, void *data)
 called on size change
long onPaint (FXObject *sender, FXSelector sel, void *data)
 called if the widget shall be repainted
long onSimStep (FXObject *sender, FXSelector sel, void *data)
 called on a simulation step
void drawValues (GUITLLogicPhasesTrackerPanel &caller)
 Draws all values.
 GUITLLogicPhasesTrackerWindow ()
 protected constructor for FOX

Detailed Description

This window displays a phase diagram for a chosen tl-logic.

Definition at line 66 of file GUITLLogicPhasesTrackerWindow.h.


Member Typedef Documentation

Definition of a storage for durations.

Definition at line 133 of file GUITLLogicPhasesTrackerWindow.h.

}

Definition of a storage for phases

Definition at line 130 of file GUITLLogicPhasesTrackerWindow.h.


Constructor & Destructor Documentation

Constructor to track current phases.

Parameters:
[in]appThe main application window
[in]logicThe logic to track
[in]wrapperThe tracked logic's wrapper
[in]srcThe value source to track

Definition at line 159 of file GUITLLogicPhasesTrackerWindow.cpp.

References GUIIconSubSys::getIcon(), MSTrafficLightLogic::getLinks(), ICON_APP_TLSTRACKER, MID_SIMSTEP, myApplication, myBeginOffset, myConnector, myLinkNames, myPanel, myTLLogic, myToolBar, and myToolBarDrag.

Constructor to show the complete phase diagram.

Parameters:
[in]appThe main application window
[in]logicThe logic to show
[in]wrapperThe shown logic's wrapper
[in]phasesThe phases to show

Definition at line 196 of file GUITLLogicPhasesTrackerWindow.cpp.

References GUIMainWindow::addChild(), GUIIconSubSys::getIcon(), MSTrafficLightLogic::getID(), MSTrafficLightLogic::getLinks(), MSTrafficLightLogic::getProgramID(), ICON_APP_TLSTRACKER, myApplication, myConnector, myLinkNames, myPanel, and myTLLogic.


Member Function Documentation

Adds a further phase definition.

Parameters:
[in]defThe definition to add

Implements ValueRetriever< std::pair< SUMOTime, MSPhaseDefinition > >.

Definition at line 460 of file GUITLLogicPhasesTrackerWindow.cpp.

References DELTA_T, MFXMutex::lock(), myBeginTime, myDurations, myLastTime, myLock, myPhases, and MFXMutex::unlock().

long GUITLLogicPhasesTrackerWindow::onConfigure ( FXObject sender,
FXSelector  sel,
void *  data 
)
long GUITLLogicPhasesTrackerWindow::onPaint ( FXObject sender,
FXSelector  sel,
void *  data 
)

called if the widget shall be repainted

Definition at line 490 of file GUITLLogicPhasesTrackerWindow.cpp.

References myPanel, and GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerPanel::onPaint().

long GUITLLogicPhasesTrackerWindow::onSimStep ( FXObject sender,
FXSelector  sel,
void *  data 
)

called on a simulation step

Definition at line 498 of file GUITLLogicPhasesTrackerWindow.cpp.

Sets the time the display shall be shown as beginning at.

Parameters:
[in]timeThe time to start to show the phases from

Definition at line 506 of file GUITLLogicPhasesTrackerWindow.cpp.

References myBeginTime.

Referenced by GUITrafficLightLogicWrapper::showPhases().


Field Documentation

Information whether the tracking mode is on.

Definition at line 234 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

The offset changer (tracking mode)

Definition at line 243 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues(), and GUITLLogicPhasesTrackerWindow().

The first time a phase was added at.

Definition at line 225 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), drawValues(), and setBeginTime().

The connector for retrieval of further phases.

Definition at line 231 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by GUITLLogicPhasesTrackerWindow(), and ~GUITLLogicPhasesTrackerWindow().

The list of phase durations.

Definition at line 202 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), and drawValues().

The index of the first phase that fits into the window.

Definition at line 216 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

The offset to draw the first phase (left offset)

Definition at line 219 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

The time the diagram begins at.

Definition at line 222 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

The last time a phase was added at.

Definition at line 228 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), and drawValues().

std::vector<std::string> GUITLLogicPhasesTrackerWindow::myLinkNames [private]

The names of links.

This holds an enumeration only - used to avoid time consuming string representation of ints

Definition at line 213 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues(), and GUITLLogicPhasesTrackerWindow().

A lock to avoid addition of new values while drawing.

Definition at line 208 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), drawValues(), and ~GUITLLogicPhasesTrackerWindow().

The list of phases.

Definition at line 199 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), and drawValues().

The tool bar (tracking mode)

Definition at line 240 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by GUITLLogicPhasesTrackerWindow().

The tool bar drag (tracking mode)

Definition at line 237 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by create(), GUITLLogicPhasesTrackerWindow(), and ~GUITLLogicPhasesTrackerWindow().


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