SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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

GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow ( GUIMainWindow app,
MSTrafficLightLogic logic,
GUITrafficLightLogicWrapper wrapper,
ValueSource< std::pair< SUMOTime, MSPhaseDefinition > > *  src 
)

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 153 of file GUITLLogicPhasesTrackerWindow.cpp.

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

GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow ( GUIMainWindow app,
MSTrafficLightLogic logic,
GUITrafficLightLogicWrapper wrapper,
const MSSimpleTrafficLightLogic::Phases phases 
)

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 190 of file GUITLLogicPhasesTrackerWindow.cpp.

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

GUITLLogicPhasesTrackerWindow::~GUITLLogicPhasesTrackerWindow ( )
GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow ( )
inlineprotected

protected constructor for FOX

Definition at line 248 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by GUITrafficLightLogicWrapper::begin2TrackPhases(), and GUITrafficLightLogicWrapper::showPhases().

Member Function Documentation

void GUITLLogicPhasesTrackerWindow::addValue ( std::pair< SUMOTime, MSPhaseDefinition def)
virtual

Adds a further phase definition.

Parameters
[in]defThe definition to add

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

Definition at line 442 of file GUITLLogicPhasesTrackerWindow.cpp.

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

void GUITLLogicPhasesTrackerWindow::create ( )

Creates the window (FOX-Toolkit)

Definition at line 229 of file GUITLLogicPhasesTrackerWindow.cpp.

References myToolBarDrag.

Referenced by GUITrafficLightLogicWrapper::begin2TrackPhases(), and GUITrafficLightLogicWrapper::showPhases().

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 472 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 480 of file GUITLLogicPhasesTrackerWindow.cpp.

void GUITLLogicPhasesTrackerWindow::setBeginTime ( SUMOTime  time)

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 488 of file GUITLLogicPhasesTrackerWindow.cpp.

References myBeginTime.

Referenced by GUITrafficLightLogicWrapper::showPhases().

Field Documentation

bool GUITLLogicPhasesTrackerWindow::myAmInTrackingMode
private

Information whether the tracking mode is on.

Definition at line 234 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

GUIMainWindow* GUITLLogicPhasesTrackerWindow::myApplication
private

The main application.

Definition at line 193 of file GUITLLogicPhasesTrackerWindow.h.

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

FXRealSpinDial* GUITLLogicPhasesTrackerWindow::myBeginOffset
private

The offset changer (tracking mode)

Definition at line 243 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues(), and GUITLLogicPhasesTrackerWindow().

SUMOTime GUITLLogicPhasesTrackerWindow::myBeginTime
private

The first time a phase was added at.

Definition at line 225 of file GUITLLogicPhasesTrackerWindow.h.

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

GLObjectValuePassConnector<std::pair<SUMOTime, MSPhaseDefinition> >* GUITLLogicPhasesTrackerWindow::myConnector
private

The connector for retrieval of further phases.

Definition at line 231 of file GUITLLogicPhasesTrackerWindow.h.

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

DurationsVector GUITLLogicPhasesTrackerWindow::myDurations
private

The list of phase durations.

Definition at line 202 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), and drawValues().

size_t GUITLLogicPhasesTrackerWindow::myFirstPhase2Show
private

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

Definition at line 216 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

size_t GUITLLogicPhasesTrackerWindow::myFirstPhaseOffset
private

The offset to draw the first phase (left offset)

Definition at line 219 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

SUMOTime GUITLLogicPhasesTrackerWindow::myFirstTime2Show
private

The time the diagram begins at.

Definition at line 222 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues().

SUMOTime GUITLLogicPhasesTrackerWindow::myLastTime
private

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().

MFXMutex GUITLLogicPhasesTrackerWindow::myLock
private

A lock to avoid addition of new values while drawing.

Definition at line 208 of file GUITLLogicPhasesTrackerWindow.h.

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

GUITLLogicPhasesTrackerPanel* GUITLLogicPhasesTrackerWindow::myPanel
private

The panel to draw on.

Definition at line 205 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by GUITLLogicPhasesTrackerWindow(), onConfigure(), and onPaint().

PhasesVector GUITLLogicPhasesTrackerWindow::myPhases
private

The list of phases.

Definition at line 199 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by addValue(), and drawValues().

MSTrafficLightLogic* GUITLLogicPhasesTrackerWindow::myTLLogic
private

The logic to display.

Definition at line 196 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by drawValues(), and GUITLLogicPhasesTrackerWindow().

FXToolBar* GUITLLogicPhasesTrackerWindow::myToolBar
private

The tool bar (tracking mode)

Definition at line 240 of file GUITLLogicPhasesTrackerWindow.h.

Referenced by GUITLLogicPhasesTrackerWindow().

FXToolBarShell* GUITLLogicPhasesTrackerWindow::myToolBarDrag
private

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: