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

FOX-callbacks

{

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

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 152 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 189 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 453 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 228 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 483 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 491 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 499 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: