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< SUMOTime > DurationsVector
 Definition of a storage for durations.
GUIMainWindow * myApplication
 The main application.
MSTrafficLightLogic * myTLLogic
 The logic to display.
PhasesVector myPhases
 The list of phases.
DurationsVector myDurations
 The list of phase durations.
GUITLLogicPhasesTrackerPanel * myPanel
 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 159 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 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.

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 460 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 235 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 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.

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 506 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: