Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GUIApplicationWindow.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
21// The main window of the SUMO-gui.
22/****************************************************************************/
23#pragma once
24#include <config.h>
25
29
30#include "GUISUMOViewParent.h"
31
32
33// ===========================================================================
34// class declarations
35// ===========================================================================
36
37class Command;
38class GUILoadThread;
39class GUIRunThread;
41class GUIEvent;
45class MFXLCDLabel;
46class MFXLabelTooltip;
47
48
49// ===========================================================================
50// class definition
51// ===========================================================================
61 // FOX-declarations
62 FXDECLARE(GUIApplicationWindow)
63
64public:
69 GUIApplicationWindow(FXApp* a, const std::string& configPattern);
70
72 virtual ~GUIApplicationWindow();
73
76
78 virtual void create();
79
81 virtual void detach();
82
84
86 void loadOnStartup(const bool wait = false);
87
90
92 void dependentBuild(const bool isLibsumo);
93
95 void setStatusBarText(const std::string& text);
96
98 void addRecentNetwork(const FX::FXString& f);
99
101 void addRecentConfig(const FX::FXString& f);
102
104 FXGLCanvas* getBuildGLCanvas() const;
105
108
110 double getTrackerInterval() const;
111
113 FXCursor* getDefaultCursor();
114
117
119 virtual void eventOccurred();
120
123
126
129
132
134
137
139 long onCmdNewWindow(FXObject*, FXSelector, void*);
140
142 long onCmdOpenConfiguration(FXObject*, FXSelector, void*);
143
145 long onCmdOpenNetwork(FXObject*, FXSelector, void*);
146
148 long onCmdOpenShapes(FXObject*, FXSelector, void*);
149
151 long onCmdOpenEdgeData(FXObject*, FXSelector, void*);
152
154 long onCmdReload(FXObject*, FXSelector, void*);
155
157 long onCmdQuickReload(FXObject*, FXSelector, void*);
158
160 long onCmdOpenRecent(FXObject*, FXSelector, void*);
161
163 long onCmdSaveConfig(FXObject*, FXSelector, void*);
164
166 long onCmdClose(FXObject*, FXSelector, void*);
167
169 long onCmdQuit(FXObject*, FXSelector, void*);
170
172 long onCmdEditChosen(FXObject*, FXSelector, void*);
173
175 long onCmdEditBreakpoints(FXObject*, FXSelector, void*);
176
178 long onCmdEditViewScheme(FXObject*, FXSelector, void*);
179
181 long onCmdEditViewport(FXObject*, FXSelector, void*);
182
184 long onCmdHelp(FXObject* sender, FXSelector sel, void* ptr);
185
187 long onCmdChangelog(FXObject* sender, FXSelector sel, void* ptr);
188
190 long onCmdHotkeys(FXObject* sender, FXSelector sel, void* ptr);
191
193 long onCmdTutorial(FXObject* sender, FXSelector sel, void* ptr);
194
196 long onCmdOpenInNetedit(FXObject*, FXSelector, void*);
197
199 long onCmdAppSettings(FXObject*, FXSelector, void*);
200
202 long onCmdGaming(FXObject*, FXSelector, void*);
203
205 long onCmdToggleDrawJunctionShape(FXObject*, FXSelector, void*);
206
208 long onCmdToggleSecondaryShape(FXObject*, FXSelector, void*);
209
211 long onCmdFullScreen(FXObject*, FXSelector, void*);
212
214 long onCmdListInternal(FXObject*, FXSelector, void*);
215
217 long onCmdListParking(FXObject*, FXSelector, void*);
218
220 long onCmdListTeleporting(FXObject*, FXSelector, void*);
221
223 long onCmdFeedback(FXObject*, FXSelector, void*);
224
226 long onCmdAbout(FXObject*, FXSelector, void*);
227
229 long onCmdHallOfFame(FXObject*, FXSelector, void*);
230
232 long onCmdStart(FXObject*, FXSelector, void*);
233
235 long onCmdStop(FXObject*, FXSelector, void*);
236
238 long onCmdStep(FXObject*, FXSelector, void*);
239
241 long onCmdSaveState(FXObject*, FXSelector, void*);
242
244 long onCmdLoadState(FXObject*, FXSelector, void*);
245
247 long onCmdTimeToggle(FXObject*, FXSelector, void*);
248
250 long onCmdDelayInc(FXObject*, FXSelector, void*);
251
253 long onCmdDelayDec(FXObject*, FXSelector, void*);
254
256 long onCmdDelayToggle(FXObject*, FXSelector, void*);
257
259 long onCmdDemandScale(FXObject*, FXSelector, void*);
260
262 long onCmdNewView(FXObject*, FXSelector, void*);
263
264#ifdef HAVE_OSG
266 long onCmdNewOSG(FXObject*, FXSelector, void*);
267#endif
268
270 long onUpdOpen(FXObject*, FXSelector, void*);
271
273 long onUpdReload(FXObject*, FXSelector, void*);
274
276 long onUpdOpenRecent(FXObject*, FXSelector, void*);
277
279 long onUpdAddView(FXObject*, FXSelector, void*);
280
282 long onUpdStart(FXObject* sender, FXSelector, void* ptr);
283
285 long onUpdStop(FXObject*, FXSelector, void*);
286
288 long onUpdStep(FXObject*, FXSelector, void*);
289
291 long onUpdNeedsNetwork(FXObject*, FXSelector, void*);
292
294 long onUpdNeedsSumoConfig(FXObject*, FXSelector, void*);
295
297 long onUpdTraCIStatus(FXObject*, FXSelector, void*);
298
300 long onCmdClearMsgWindow(FXObject*, FXSelector, void*);
301
303 long onCmdBreakpoint(FXObject*, FXSelector, void*);
304
306 long onCmdBreakpointEarly(FXObject*, FXSelector, void*);
307
309 long onCmdLocate(FXObject*, FXSelector, void*);
310
312 long onCmdShowStats(FXObject*, FXSelector, void*);
313
315 long onLoadThreadEvent(FXObject*, FXSelector, void*);
316
318 long onRunThreadEvent(FXObject*, FXSelector, void*);
319
321 long onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr);
322
324 long onKeyPress(FXObject* o, FXSelector sel, void* data);
325
327 long onKeyRelease(FXObject* o, FXSelector sel, void* data);
328
330
332 virtual double getDelay() const;
333
335 virtual void setDelay(double delay);
336
338 virtual void setBreakpoints(const std::vector<SUMOTime>& breakpoints);
339
341 void addBreakpoint(SUMOTime time);
342
344 virtual void sendBlockingEvent(GUIEvent* event);
345
347 const std::vector<SUMOTime> retrieveBreakpoints() const;
348
351
353 void addHotkey(int key, Command* press, Command* release);
354
355protected:
357 FOX_CONSTRUCTOR(GUIApplicationWindow)
358
359
360 virtual void addToWindowsMenu(FXMenuPane* menuPane);
361
363 virtual void fillMenuBar();
364
366 virtual void buildToolBars();
367
369 void buildRecentNetworks(FXMenuPane* fileMenu, FXMenuPane* fileMenuRecentNetworks);
370
372 void buildRecentConfigs(FXMenuPane* fileMenu, FXMenuPane* fileMenuRecentConfigs);
373
375 std::string myName;
376
379
382
384 bool myWasStarted = false;
385
388
390 bool myAmLoading = false;
391
393 bool myIsReload = false;
394
397
399 FXMenuPane* myFileMenu = nullptr,
400 *myEditMenu = nullptr,
402 *mySettingsMenu = nullptr,
403 *myLocatorMenu = nullptr,
404 *myControlMenu = nullptr,
405 *myWindowMenu = nullptr,
406 *myHelpMenu = nullptr;
407
409 FXMenuPane* myFileMenuRecentNetworks = nullptr;
410
412 FXMenuPane* myFileMenuRecentConfigs = nullptr;
413
415 FXMenuCascade* mySelectLanesMenuCascade = nullptr;
416
418 FXMenuCheck* myLoadAdditionalsInNetedit = nullptr;
419
421 FXMenuCheck* myLoadDemandInNetedit = nullptr;
422
424 FXMenuCommand* myOpenInNetedit = nullptr;
425
427 std::vector<FXButton*> myStatButtons;
428
431
433 FXSplitter* myMainSplitter = nullptr;
434
436 FXToolBarShell* myToolBarDrag1 = nullptr,
437 *myToolBarDrag2 = nullptr,
438 *myToolBarDrag3 = nullptr,
439 *myToolBarDrag4 = nullptr,
440 *myToolBarDrag5 = nullptr,
441 *myMenuBarDrag = nullptr,
442 *myToolBarDrag8 = nullptr;
443
445 double mySimDelay = 0.;
446
448 FXDataTarget* mySimDelayTarget = nullptr;
449
451 FXRealSpinner* mySimDelaySpinner = nullptr;
452
454 FXSlider* mySimDelaySlider = nullptr;
455
458
460 FXRealSpinner* myDemandScaleSpinner = nullptr;
461
464
467
469 FXMDIMenu* myMDIMenu = nullptr;
470
472 FXMenuBar* myMenuBar = nullptr;
473
475 FXToolBar* myToolBar1 = nullptr,
476 *myToolBar2 = nullptr,
477 *myToolBar3 = nullptr,
478 *myToolBar4 = nullptr,
479 *myToolBar5 = nullptr,
480 *myToolBar8 = nullptr;
481
484
487
490
493
496
498 std::string myConfigPattern;
499
501 bool hadDependentBuild = false;
502
504 bool myShowTimeAsHMS = false;
505
508
511
513 FXCondition myEventCondition;
514
517
520
523
526
528 double myJamSoundTime = 60;
529
531 static std::mt19937 myGamingRNG;
532
535
537 bool myTLSGame = false;
538
541
544
547
550
553
555 double myTotalDistance = 0;
556
559
562
564 FXToolBar* myToolBar6 = nullptr,
565 *myToolBar7 = nullptr,
566 *myToolBar9 = nullptr,
567 *myToolBar10 = nullptr;
568
570 FXToolBarShell* myToolBarDrag6 = nullptr,
571 *myToolBarDrag7 = nullptr,
572 *myToolBarDrag9 = nullptr,
573 *myToolBarDrag10 = nullptr;
575
578
580 std::map<int, Command*> myHotkeyPress;
581
583 std::map<int, Command*> myHotkeyRelease;
584
587
588 std::stringstream* myDynamicSelection = nullptr;
589
590private:
592 void loadConfigOrNet(const std::string& file);
593
595 void closeAllWindows();
596
598 void updateTimeLCD(SUMOTime time);
599
602
605
607 void checkGamingEvents();
608
611
614
617};
long long int SUMOTime
Definition GUI.h:36
Base (microsim) event class.
Definition Command.h:50
The main window of the SUMO-gui.
long onCmdDelayInc(FXObject *, FXSelector, void *)
Called on "delay inc".
long onUpdReload(FXObject *, FXSelector, void *)
Determines whether reloading is enabled.
long onCmdShowStats(FXObject *, FXSelector, void *)
Called on commands from the statistic buttons.
FXToolBarShell * myToolBarDrag2
long onCmdTimeToggle(FXObject *, FXSelector, void *)
Called on "time toggle".
virtual void sendBlockingEvent(GUIEvent *event)
Sends an event from the application thread to the GUI and waits until it is handled.
GUIDialog_Breakpoints * myBreakpointDialog
breakpoint dialog
FXEX::MFXThreadEvent myLoadThreadEvent
io-event with the load-thread
void handleEvent_Message(GUIEvent *e)
called when event "message" ocurred
GUILoadThread * myLoadThread
the thread that loads simulations
MFXLabelTooltip * myScaleTrafficTooltip
the demand scale label
void handleEvent_SimulationEnded(GUIEvent *e)
called when event "simulation ended" ocurred
GUIApplicationWindow & operator=(const GUIApplicationWindow &s)=delete
invalidate assignment operator
FXMenuCheck * myGamingModeCheckbox
menu checkbox to activate game mode
int myViewNumber
The current view number.
FXToolBarShell * myToolBarDrag4
long onCmdAbout(FXObject *, FXSelector, void *)
Shows the about dialog.
SUMOTime myWaitingTime
waiting time
long onCmdFeedback(FXObject *, FXSelector, void *)
Shows the feedback dialog.
long onClipboardRequest(FXObject *sender, FXSelector sel, void *ptr)
Somebody wants our clipped text.
long onUpdTraCIStatus(FXObject *, FXSelector, void *)
Determines whether traci is active.
long onUpdStep(FXObject *, FXSelector, void *)
Determines whether "step" is enabled.
bool myAmLoading
information whether the gui is currently loading and the load-options shall be greyed out
long onCmdAppSettings(FXObject *, FXSelector, void *)
Opens the application settings menu (Settings->Application Settings...)
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when a key is pressed
void handleEvent_SimulationLoaded(GUIEvent *e)
called when event "simulation loaded" ocurred
long onCmdBreakpoint(FXObject *, FXSelector, void *)
Called to set a breakpoint via hotkey.
FXToolBarShell * myToolBarDrag9
FXRealSpinner * mySimDelaySpinner
Simulation delay spinner.
long onCmdBreakpointEarly(FXObject *, FXSelector, void *)
Called to set an early breakpoint via hotkey.
long onCmdChangelog(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Changelog
long onCmdOpenInNetedit(FXObject *, FXSelector, void *)
Called on menu Edit->open in Netedit.
void handleEvent_SimulationStep(GUIEvent *e)
called when event "simulation step" ocurred
bool myHaveNotifiedAboutSimEnd
whether the simulation end was already announced
void setStatusBarText(const std::string &text)
set status bar text
FXToolBarShell * myToolBarDrag10
FXMenuPane * myFileMenuRecentConfigs
FXMenu pane for recent configs.
long onCmdStop(FXObject *, FXSelector, void *)
Called on "stop".
MFXRecentNetworks myRecentNetworks
List of recent networks.
MFXLCDLabel * myTimeLossLabel
time loss label
double myJamSoundTime
waiting time after which vehicles trigger jam sounds
FXRealSpinner * myDemandScaleSpinner
the demand scale
long onCmdTutorial(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Tutorial
virtual void setDelay(double delay)
Sets the delay of the parent application in milliseconds.
MFXLCDLabel * myEmergencyVehicleLabel
emergency vehicle label
std::stringstream * myDynamicSelection
FXToolBarShell * myToolBarDrag7
double mySimDelay
the simulation delay in milliseconds
void addRecentConfig(const FX::FXString &f)
add recent config to recent file list
SUMOTime getCurrentSimTime() const
get current simulation time
long onUpdAddView(FXObject *, FXSelector, void *)
Determines whether adding a view is enabled.
FXToolBarShell * myToolBarDrag1
for some menu detaching fun
long onCmdEditViewScheme(FXObject *, FXSelector, void *)
Called on menu Edit->Visualization.
long onRunThreadEvent(FXObject *, FXSelector, void *)
Called on an event from the simulation thread.
MFXLCDLabel * myTotalDistanceLabel
total distance label
bool hadDependentBuild
flag to mark if GUIApplicationWIndow has depend build
SUMOTime myEmergencyVehicleCount
emergency vehicle count
FXMenuPane * myFileMenuRecentNetworks
FXMenu pane for recent networks.
FXCursor * getDefaultCursor()
get default cursor
SUMOTime myTimeLoss
time loss
void checkGamingEventsDRT()
handles additional game-related events (DRT)
FXMDIMenu * myMDIMenu
The menu used for the MDI-windows.
void updateTimeLCDTooltip()
update LCD timer tooltip
long onCmdListTeleporting(FXObject *, FXSelector, void *)
Toggle listing of teleporting vehicles.
long onCmdNewWindow(FXObject *, FXSelector, void *)
Called on menu File->New Window.
long onCmdStep(FXObject *, FXSelector, void *)
Called on "step".
FXMutex myEventMutex
the mutex for the waiting semaphore
double getTrackerInterval() const
get tracker interval
long onCmdClose(FXObject *, FXSelector, void *)
Called on menu File->Close.
virtual void buildToolBars()
Builds the tool bar.
long onCmdDelayToggle(FXObject *, FXSelector, void *)
Called on "delay toggle".
FXMenuCheck * myLoadAdditionalsInNetedit
menuCheck for enable/disable load additionals in netedit
GUIApplicationWindow(const GUIApplicationWindow &s)=delete
invalidate copy constructor
void buildRecentNetworks(FXMenuPane *fileMenu, FXMenuPane *fileMenuRecentNetworks)
build recent networks
FXMenuPane * myFileMenu
the submenus
long onCmdToggleSecondaryShape(FXObject *, FXSelector, void *)
Toggle draw junction shape.
virtual double getDelay() const
Returns the simulation delay in miliseconds.
long onCmdStart(FXObject *, FXSelector, void *)
Called on "play".
GUIMessageWindow * myMessageWindow
A window to display messages, warnings and error in.
GUIRunThread * getRunner()
get run thread
void loadConfigOrNet(const std::string &file)
starts to load a simulation
FXToolBar * myToolBar1
The application tool bar.
bool myWasStarted
the information whether the simulation was started before
std::string myName
the name of the simulation
FXSplitter * myMainSplitter
The splitter that divides the main window into views and the log window.
long onCmdListParking(FXObject *, FXSelector, void *)
Toggle listing of parking vehicles.
long onUpdNeedsSumoConfig(FXObject *, FXSelector, void *)
Determines whether some buttons which require an sumoConfig may be shown.
void loadOnStartup(const bool wait=false)
config or net on startup
void addBreakpoint(SUMOTime time)
Adds the given breakpoint.
long onCmdListInternal(FXObject *, FXSelector, void *)
Toggle listing of internal structures.
bool myTLSGame
flag for enable TLS gameMode
FXEX::MFXThreadEvent myRunThreadEvent
io-event with the run-thread
void dependentBuild(const bool isLibsumo)
build dependt
long onCmdFullScreen(FXObject *, FXSelector, void *)
Toggle full screen mode.
long onCmdEditBreakpoints(FXObject *, FXSelector, void *)
Called on menu Edit->Edit Breakpoints.
long onCmdOpenShapes(FXObject *, FXSelector, void *)
Called on menu File->Load Shapes.
FXToolBarShell * myMenuBarDrag
const std::vector< SUMOTime > retrieveBreakpoints() const
retrieve list of breakpoints
long onCmdQuit(FXObject *, FXSelector, void *)
Called by FOX if the application shall be closed (Called either by FileMenu->Quit,...
FXToolBarShell * myToolBarDrag8
long onUpdStart(FXObject *sender, FXSelector, void *ptr)
Determines whether "play" is enabled.
GUISUMOAbstractView * openNewView(GUISUMOViewParent::ViewType vt=GUISUMOViewParent::VIEW_2D_OPENGL, std::string caption="")
opens a new simulation display
FXGLCanvas * getBuildGLCanvas() const
get build GLCanvas
RandomDistributor< std::string > myJamSounds
random list of jam sounds
long onCmdNewView(FXObject *, FXSelector, void *)
Called if a new view shall be opened (2D view)
GUIRunThread * myRunThread
the thread that runs simulations
long onCmdClearMsgWindow(FXObject *, FXSelector, void *)
Called if the message window shall be cleared.
long onCmdToggleDrawJunctionShape(FXObject *, FXSelector, void *)
Toggle draw junction shape.
virtual void create()
Creates the main window (required by FOX)
std::map< int, Command * > myHotkeyPress
custom hotkeys pressed
FXToolBarShell * myToolBarDrag5
MFXLCDLabel * myWaitingTimeLabel
waiting time label
long onCmdDemandScale(FXObject *, FXSelector, void *)
Called on "demand scale".
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when a key is released
RandomDistributor< std::string > myCollisionSounds
random list of collision sounds
FXMenuCascade * mySelectLanesMenuCascade
the menu cascades
long onCmdOpenNetwork(FXObject *, FXSelector, void *)
Called on menu File->Open Network.
std::string myConfigPattern
Input file pattern.
virtual void setBreakpoints(const std::vector< SUMOTime > &breakpoints)
Sets the breakpoints of the parent application.
long onUpdNeedsNetwork(FXObject *, FXSelector, void *)
Determines whether some buttons which require an active network may be shown.
long onCmdLoadState(FXObject *, FXSelector, void *)
Called on "save state".
void eraseBreakpointDialog()
erase current breakpoint dialog
int myPreviousCollisionNumber
previous collision number
long onCmdEditChosen(FXObject *, FXSelector, void *)
Called on menu Edit->Edit Chosen.
virtual void detach()
Detaches the tool/menu bar.
long onCmdDelayDec(FXObject *, FXSelector, void *)
Called on "delay dec".
long onCmdOpenRecent(FXObject *, FXSelector, void *)
Called on opening a recent file.
MFXRecentNetworks myRecentConfigs
List of recent configs.
long onUpdOpenRecent(FXObject *, FXSelector, void *)
Determines whether opening a recent file is enabled.
MFXSynchQue< GUIEvent * > myEvents
List of got requests.
bool myShowTimeAsHMS
whether to show time as hour:minute:second
double myAlternateSimDelay
The alternate simulation delay in milliseconds for toggling.
long onUpdStop(FXObject *, FXSelector, void *)
Determines whether "stop" is enabled.
FXDataTarget * mySimDelayTarget
Simulation delay target.
long onCmdSaveConfig(FXObject *, FXSelector, void *)
Called on menu File->Close.
void closeAllWindows()
this method closes all windows and deletes the current simulation
void updateTimeLCD(SUMOTime time)
updates the simulation time display
long onCmdSaveState(FXObject *, FXSelector, void *)
Called on "save state".
std::map< int, Command * > myHotkeyRelease
custom hotkeys released
FXToolBarShell * myToolBarDrag3
long onLoadThreadEvent(FXObject *, FXSelector, void *)
Called on an event from the loading thread.
long onCmdReload(FXObject *, FXSelector, void *)
Called on reload.
void addRecentNetwork(const FX::FXString &f)
add recent network to recent file list
void buildRecentConfigs(FXMenuPane *fileMenu, FXMenuPane *fileMenuRecentConfigs)
build recent configs
long onUpdOpen(FXObject *, FXSelector, void *)
Determines whether opening is enabled.
long onCmdHallOfFame(FXObject *, FXSelector, void *)
Shows the Hall of Fame dialog.
double myTotalDistance
total distance
long onCmdLocate(FXObject *, FXSelector, void *)
Called on menu commands from the Locator menu.
FXToolBar * myToolBar6
toolbars used in game
FXToolBarShell * myToolBarDrag6
toolbars shell used in game
long long myGuiSettingsFileMTime
last modification time of the gui setting file
FXSlider * mySimDelaySlider
Simulation delay slider.
long onCmdOpenConfiguration(FXObject *, FXSelector, void *)
Called on menu File->Open Configuration.
long onCmdOpenEdgeData(FXObject *, FXSelector, void *)
Called on menu File->Load EdgeData.
FXMenuCheck * myLoadDemandInNetedit
menuCheck for enable/disable load demand elements in netedit
virtual void addToWindowsMenu(FXMenuPane *menuPane)
FOX need this.
FXCondition myEventCondition
the semaphore when waiting for event completion
long onCmdEditViewport(FXObject *, FXSelector, void *)
Called on menu Edit->Viewport.
MFXLCDLabel * myLCDLabel
the simulation step display
FXMenuBar * myMenuBar
The application menu bar.
static std::mt19937 myGamingRNG
A random number generator used to choose a gaming sound.
long onCmdHotkeys(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Hotkeys
long myLastStepEventMillis
last time the simulation view was redrawn due to a simStep
virtual ~GUIApplicationWindow()
Destructor.
long onCmdHelp(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Documentation
void addHotkey(int key, Command *press, Command *release)
register custom hotkey action
virtual void fillMenuBar()
Builds the menu bar.
bool myIsReload
whether we are reloading the simulation
std::vector< FXButton * > myStatButtons
Buttons showing and running values and triggering statistic windows.
virtual void eventOccurred()
a certain event ocurred
void checkGamingEvents()
handles additional game-related events
long onCmdQuickReload(FXObject *, FXSelector, void *)
Called on quick-reload.
FXMenuCommand * myOpenInNetedit
menuCommand for open simulation/network in netedit
long onCmdGaming(FXObject *, FXSelector, void *)
Toggle gaming mode.
Editor for simulation breakpoints.
A logging window for the gui.
A window containing a gl-object's parameter.
A window which displays the time line of one (or more) value(s)
ViewType
Available view types.
@ VIEW_2D_OPENGL
plain 2D openGL view (
A widget which has the seven-segment display used as the drawing object for each letter in the label....
Definition MFXLCDLabel.h:34
MFXRecentNetworks.
Represents a generic random distribution.