Eclipse SUMO - Simulation of Urban MObility
GNEApplicationWindow.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3// Copyright (C) 2001-2022 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/****************************************************************************/
18// The main window of Netedit (adapted from GUIApplicationWindow)
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
24
25
26// ===========================================================================
27// class definition
28// ===========================================================================
41 FXDECLARE(GNEApplicationWindow)
42
43public:
44
49 GNEApplicationWindow(FXApp* a, const std::string& configPattern);
50
53
55 void create();
56
59
61 void loadNet(const std::string& file);
62
64 void dependentBuild();
65
67 void setStatusBarText(const std::string& statusBarText);
68
71
74
77
80
83
86
89
92
96 void eventOccurred();
97
100
104
108 long onCmdNewWindow(FXObject*, FXSelector, void*);
109
111 long onCmdNewNetwork(FXObject*, FXSelector, void*);
112
114 long onCmdOpenConfiguration(FXObject*, FXSelector, void*);
115
117 long onCmdOpenNetwork(FXObject*, FXSelector, void*);
118
120 long onCmdOpenForeign(FXObject*, FXSelector, void*);
121
123 long onCmdOpenSUMOConfig(FXObject*, FXSelector, void*);
124
126 long onCmdReloadSUMOConfig(FXObject*, FXSelector, void*);
127
129 long onUpdReloadSUMOConfig(FXObject*, FXSelector, void*);
130
132 long onCmdOpenTLSPrograms(FXObject*, FXSelector, void*);
133
135 long onCmdReloadTLSPrograms(FXObject*, FXSelector, void*);
136
138 long onUpdReloadTLSPrograms(FXObject*, FXSelector, void*);
139
141 long onCmdOpenEdgeTypes(FXObject*, FXSelector, void*);
142
144 long onCmdReloadEdgeTypes(FXObject*, FXSelector, void*);
145
147 long onUpdReloadEdgeTypes(FXObject*, FXSelector, void*);
148
150 long onCmdReload(FXObject*, FXSelector, void*);
151
153 long onCmdOpenRecent(FXObject*, FXSelector, void*);
154
156 long onCmdClose(FXObject*, FXSelector, void*);
157
159 long onCmdEditViewScheme(FXObject*, FXSelector, void*);
160
162 long onCmdEditViewport(FXObject*, FXSelector, void*);
163
165 long onCmdLocate(FXObject*, FXSelector, void*);
166
168 long onCmdToolNetDiff(FXObject*, FXSelector, void*);
169
171 long onCmdSaveAllElements(FXObject*, FXSelector, void*);
172
174 long onCmdSaveNetwork(FXObject*, FXSelector, void*);
175
177 long onCmdSaveSUMOConfig(FXObject*, FXSelector, void*);
178
180 long onCmdSaveSUMOConfigAs(FXObject*, FXSelector, void*);
181
183 long onUpdSaveSUMOConfig(FXObject*, FXSelector, void*);
184
186 long onCmdSaveTLSPrograms(FXObject*, FXSelector, void*);
187
189 long onUpdSaveTLSPrograms(FXObject*, FXSelector, void*);
190
192 long onCmdSaveEdgeTypes(FXObject*, FXSelector, void*);
193
195 long onUpdSaveEdgeTypes(FXObject*, FXSelector, void*);
196
198 long onCmdSaveTLSProgramsAs(FXObject*, FXSelector, void*);
199
201 long onCmdSaveEdgeTypesAs(FXObject*, FXSelector, void*);
202
204 long onUpdSaveEdgeTypesAs(FXObject*, FXSelector, void*);
205
207 long onCmdOpenAdditionals(FXObject*, FXSelector, void*);
208
210 long onCmdReloadAdditionals(FXObject*, FXSelector, void*);
211
213 long onUpdReloadAdditionals(FXObject*, FXSelector, void*);
214
216 long onCmdSaveAdditionals(FXObject*, FXSelector, void*);
217
219 long onCmdSaveAdditionalsAs(FXObject*, FXSelector, void*);
220
222 long onCmdOpenDemandElements(FXObject*, FXSelector, void*);
223
225 long onCmdReloadDemandElements(FXObject*, FXSelector, void*);
226
228 long onUpdReloadDemandElements(FXObject*, FXSelector, void*);
229
231 long onCmdSaveDemandElements(FXObject*, FXSelector, void*);
232
234 long onCmdOpenDataElements(FXObject*, FXSelector, void*);
235
237 long onCmdReloadDataElements(FXObject*, FXSelector, void*);
238
240 long onUpdReloadDataElements(FXObject*, FXSelector, void*);
241
243 long onCmdSaveDemandElementsAs(FXObject*, FXSelector, void*);
244
246 long onCmdSaveDataElements(FXObject*, FXSelector, void*);
247
249 long onCmdSaveDataElementsAs(FXObject*, FXSelector, void*);
250
252 long onCmdSaveAsNetwork(FXObject*, FXSelector, void*);
253
255 long onUpdNeedsNetwork(FXObject*, FXSelector, void*);
256
258 long onUpdNeedsNetworkElement(FXObject*, FXSelector, void*);
259
261 long onUpdNeedsFrontElement(FXObject*, FXSelector, void*);
262
264 long onUpdReload(FXObject*, FXSelector, void*);
265
267 long onUpdSaveAllElements(FXObject*, FXSelector, void*);
268
270 long onUpdSaveNetwork(FXObject*, FXSelector, void*);
271
273 long onUpdSaveAdditionals(FXObject*, FXSelector, void*);
274
276 long onUpdSaveAdditionalsAs(FXObject*, FXSelector, void*);
277
279 long onUpdSaveDemandElements(FXObject*, FXSelector, void*);
280
282 long onUpdSaveDemandElementsAs(FXObject*, FXSelector, void*);
283
285 long onUpdSaveDataElements(FXObject*, FXSelector, void*);
286
288 long onUpdSaveDataElementsAs(FXObject*, FXSelector, void*);
289
291 long onUpdUndo(FXObject* obj, FXSelector sel, void* ptr);
292
294 long onUpdRedo(FXObject* obj, FXSelector sel, void* ptr);
295
297 long onUpdComputePathManager(FXObject* obj, FXSelector sel, void* ptr);
298
300 long onCmdToggleViewOption(FXObject*, FXSelector, void*);
301
303 long onUpdToggleViewOption(FXObject*, FXSelector, void*);
304
306 long onCmdSaveAsPlainXML(FXObject*, FXSelector, void*);
307
309 long onCmdSaveJoined(FXObject*, FXSelector, void*);
310
312 long onKeyPress(FXObject* o, FXSelector sel, void* data);
313
315 long onKeyRelease(FXObject* o, FXSelector sel, void* data);
316
320 long onCmdQuit(FXObject*, FXSelector, void*);
321
323 long onCmdEditChosen(FXObject*, FXSelector, void*);
324
326 long onCmdAbout(FXObject*, FXSelector, void*);
327
329 long onUpdOpen(FXObject*, FXSelector, void*);
330
332 long onCmdClearMsgWindow(FXObject*, FXSelector, void*);
333
335 long onCmdLoadAdditionalsInSUMOGUI(FXObject*, FXSelector, void*);
336
338 long onCmdLoadDemandInSUMOGUI(FXObject*, FXSelector, void*);
339
341 long onLoadThreadEvent(FXObject*, FXSelector, void*);
342
344 long onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr);
345
347 long onCmdSetSuperMode(FXObject* sender, FXSelector sel, void* ptr);
348
350 long onCmdSetMode(FXObject* sender, FXSelector sel, void* ptr);
351
353 long onCmdLockElements(FXObject*, FXSelector sel, void*);
354
356 long onCmdLockAllElements(FXObject*, FXSelector sel, void*);
357
359 long onCmdUnlockAllElements(FXObject*, FXSelector sel, void*);
360
362 long onCmdLockSelectElements(FXObject*, FXSelector sel, void*);
363
365 long onUpdLockMenuTitle(FXObject*, FXSelector sel, void*);
366
368 long onCmdProcessButton(FXObject*, FXSelector sel, void*);
369
371 long onCmdOpenSUMOGUI(FXObject* sender, FXSelector sel, void* ptr);
372
374 long onCmdAbort(FXObject* sender, FXSelector sel, void* ptr);
375
377 long onCmdDel(FXObject* sender, FXSelector sel, void* ptr);
378
380 long onCmdEnter(FXObject* sender, FXSelector sel, void* ptr);
381
383 long onCmdBackspace(FXObject* sender, FXSelector sel, void* ptr);
384
386 long onCmdForceSaveNetwork(FXObject* sender, FXSelector sel, void* ptr);
387
389 long onCmdForceSaveAdditionals(FXObject* sender, FXSelector sel, void* ptr);
390
392 long onCmdForceSaveDemandElements(FXObject* sender, FXSelector sel, void* ptr);
393
395 long onCmdForceSaveDataElements(FXObject* sender, FXSelector sel, void* ptr);
396
398 long onCmdFocusFrame(FXObject* sender, FXSelector sel, void* ptr);
399
401 long onUpdRequireViewNet(FXObject* sender, FXSelector sel, void* ptr);
402
404 long onUpdRequireRecomputing(FXObject* sender, FXSelector sel, void* ptr);
405
407 long onCmdToggleGrid(FXObject*, FXSelector, void*);
408
410 long onCmdToggleDrawJunctionShape(FXObject*, FXSelector, void*);
411
413 long onCmdSetFrontElement(FXObject*, FXSelector, void*);
414
416 long onCmdToggleEditOptions(FXObject*, FXSelector, void*);
417
419 long onCmdHelp(FXObject* sender, FXSelector sel, void* ptr);
420
422 long onCmdChangelog(FXObject* sender, FXSelector sel, void* ptr);
423
425 long onCmdHotkeys(FXObject* sender, FXSelector sel, void* ptr);
426
428 long onCmdTutorial(FXObject* sender, FXSelector sel, void* ptr);
429
431 long onCmdToogleComputeNetworkData(FXObject*, FXSelector, void*);
432
434 long onCmdOptions(FXObject*, FXSelector, void*);
435
437 long onCmdUndo(FXObject*, FXSelector, void*);
438
439 // @brief called when user press Ctrl+Y
440 long onCmdRedo(FXObject*, FXSelector, void*);
441
442 // @brief called when user press open undoList dialog
443 long onCmdOpenUndoListDialog(FXObject*, FXSelector, void*);
444
445 // @brief called when openUndoList is updated
446 long onUpdOpenUndoListDialog(FXObject*, FXSelector, void*);
447
448 // @brief called when user press compute path manager
449 long onCmdComputePathManager(FXObject*, FXSelector, void*);
450
452 long onCmdCut(FXObject*, FXSelector, void*);
453
454 // @brief called when user press Ctrl+Y
455 long onCmdCopy(FXObject*, FXSelector, void*);
456
457 // @brief called when user press Ctrl+Y
458 long onCmdPaste(FXObject*, FXSelector, void*);
459
460 // @brief called when user press Ctrl+F1
461 long onCmdSetTemplate(FXObject*, FXSelector, void*);
462
463 // @brief called when user press Ctrl+F2
464 long onCmdCopyTemplate(FXObject*, FXSelector, void*);
465
466 // @brief called when user press Ctrl+F3
467 long onCmdClearTemplate(FXObject*, FXSelector, void*);
468
470
474 FXGLCanvas* getBuildGLCanvas() const;
475
478
480 double getTrackerInterval() const;
482
484 FXCursor* getDefaultCursor();
485
488
491
494
497
500
502 void updateControls();
503
505 void updateSuperModeMenuCommands(const Supermode supermode);
506
508 void disableUndoRedo(const std::string& reason);
509
511 void enableUndoRedo();
512
514 const std::string& isUndoRedoEnabled() const;
515
518
521
523 void clearUndoList();
524
527
528protected:
531
534
536 bool myAmLoading = false;
537
539 bool myReloading = false;
540
542 FXMenuPane* myFileMenu = nullptr,
544 *myFileMenuTLS = nullptr,
549 *myModesMenu = nullptr,
550 *myEditMenu = nullptr,
551 *myLockMenu = nullptr,
553 *myLocatorMenu = nullptr,
554 *myToolsMenu = nullptr,
555 *myWindowMenu = nullptr,
556 *myHelpMenu = nullptr;
557
559 FXMenuTitle* myModesMenuTitle = nullptr;
560
562 FXMenuTitle* myLockMenuTitle = nullptr;
563
566
568 FXSplitter* myMainSplitter = nullptr;
569
572
575
578
581
583 GNENet* myNet = nullptr;
584
587
590
592 std::string myConfigPattern;
593
596
597private:
600
603
606
609
612
615
618
621
624
627
630
633
635 const FXString myTitlePrefix;
636
638 FXMDIMenu* myMDIMenu = nullptr;
639
641 void fillMenuBar();
642
644 void loadConfigOrNet(const std::string file, bool isNet, bool isReload = false, bool useStartupOptions = false, bool newNet = false);
645
647 void closeAllWindows();
648
650 bool continueWithUnsavedChanges(const std::string& operation);
651
653 bool continueWithUnsavedAdditionalChanges(const std::string& operation);
654
656 bool continueWithUnsavedDemandElementChanges(const std::string& operation);
657
659 bool continueWithUnsavedDataElementChanges(const std::string& operation);
660
662 FXString getFolder(const std::string& folder) const;
663
666
669};
Supermode
@brie enum for supermodes
long long int SUMOTime
Definition: GUI.h:36
The main window of the Netedit.
long onCmdReloadSUMOConfig(FXObject *, FXSelector, void *)
called when the command/FXCall reload SUMOConfig is executed
long onCmdSaveAsNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall save network as is executed
long onCmdSaveAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall save additionals is executed
GNEApplicationWindowHelper::SupermodeCommands mySupermodeCommands
Supermode Commands.
long onCmdSaveTLSProgramsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save TLSPrograms as is executed
FXMenuTitle * myModesMenuTitle
menu title for modes
void create()
Creates the main window (required by FOX)
long onCmdToggleDrawJunctionShape(FXObject *, FXSelector, void *)
called if the user press key combination Ctrl + J to toggle draw junction shape
GNEApplicationWindowHelper::WindowsMenuCommands myWindowsMenuCommands
Windows Menu Commands.
GNELoadThread * myLoadThread
the thread that loads the network
void clearUndoList()
clear undo list
GNENet * myNet
we are responsible for the net
long onCmdSaveEdgeTypes(FXObject *, FXSelector, void *)
called when the command/FXCall save edge types is executed
long onCmdOpenUndoListDialog(FXObject *, FXSelector, void *)
void handleEvent_Message(GUIEvent *e)
handle event of type message
long onCmdOpenSUMOConfig(FXObject *, FXSelector, void *)
called when the command/FXCall open SUMOConfig is executed
bool continueWithUnsavedDemandElementChanges(const std::string &operation)
warns about unsaved changes in demand elements and gives the user the option to abort
long onCmdReloadDataElements(FXObject *, FXSelector, void *)
called when the command/FXCall reload data elements is executed
long onCmdLoadAdditionalsInSUMOGUI(FXObject *, FXSelector, void *)
called when user toggle windows checkbox "load additionals"
long onCmdOpenTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall open TLS programs is executed
long onUpdComputePathManager(FXObject *obj, FXSelector sel, void *ptr)
called when the update/FXCall compute path manager is executed
void updateControls()
update control contents after undo/redo or recompute
GNEApplicationWindowHelper::LockMenuCommands myLockMenuCommands
Lock Menu Commands.
long computeJunctionWithVolatileOptions()
called if the user selects Processing->compute junctions with volatile options
long onCmdNewNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall new network is executed
GNEApplicationWindow()
FOX needs this for static members.
long onClipboardRequest(FXObject *sender, FXSelector sel, void *ptr)
called when the command/FXCall clipboard request is executed
FXMenuPane * myFileMenuAdditionals
long onCmdSaveSUMOConfig(FXObject *, FXSelector, void *)
called when the command/FXCall save SUMOConfig is executed
long onUpdSaveNetwork(FXObject *, FXSelector, void *)
called when the update/FXCall save network is executed
std::string myUndoRedoListEnabled
string to check if undo/redo list is enabled (a String is used to keep the disabling reason)
long onUpdSaveEdgeTypesAs(FXObject *, FXSelector, void *)
called when the command/FXCall save edgeTypes as is updated
std::string myConfigPattern
Input file pattern.
long onUpdReloadDataElements(FXObject *, FXSelector, void *)
called when the command/FXCall reload data elements is updated
long onCmdClose(FXObject *, FXSelector, void *)
called when the command/FXCall close is executed
long onCmdEditViewport(FXObject *, FXSelector, void *)
Called on menu Edit->Viewport.
long onCmdToggleViewOption(FXObject *, FXSelector, void *)
toggle viewOption
FXEX::MFXThreadEvent myLoadThreadEvent
io-event with the load-thread
void enableSaveAdditionalsMenu()
enable save additionals
long onCmdToggleEditOptions(FXObject *, FXSelector, void *)
called if the user press key combination Alt + <0-9>
GNEApplicationWindowHelper::MenuBarFile myMenuBarFile
MenuBarFile.
long onCmdOpenAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall open additionals is executed
long onCmdForceSaveDataElements(FXObject *sender, FXSelector sel, void *ptr)
force save data elements (flag)
long onCmdForceSaveAdditionals(FXObject *sender, FXSelector sel, void *ptr)
force save additionals (flag)
long onUpdSaveSUMOConfig(FXObject *, FXSelector, void *)
called when the command/FXCall save SUMOConfig is updated
long onUpdRedo(FXObject *obj, FXSelector sel, void *ptr)
called when the update/FXCall redo is executed
long onUpdReload(FXObject *, FXSelector, void *)
called when the update/FXCall reload is executed
GNEApplicationWindowHelper::ProcessingMenuCommands myProcessingMenuCommands
Processing Menu Commands.
long onUpdSaveAdditionalsAs(FXObject *, FXSelector, void *)
called when the update/FXCall save additionals as is executed
GNEApplicationWindowHelper::EditMenuCommands & getEditMenuCommands()
getEdit Menu Commands (needed for show/hide menu commands)
void setStatusBarText(const std::string &statusBarText)
set text of the statusBar
GNEUndoList * myUndoList
the one and only undo list
long onUpdSaveDataElements(FXObject *, FXSelector, void *)
called when the update/FXCall save data elements is executed
long onCmdPaste(FXObject *, FXSelector, void *)
long onCmdSaveAsPlainXML(FXObject *, FXSelector, void *)
called when the command/FXCall save as plain xml is executed
void disableSaveDemandElementsMenu()
disable save demand elements
long onUpdSaveDemandElementsAs(FXObject *, FXSelector, void *)
called when the update/FXCall save demand elements as is executed
long onCmdOpenNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall open network is executed
long onUpdReloadSUMOConfig(FXObject *, FXSelector, void *)
called when the command/FXCall reload SUMOConfig is updated
void closeAllWindows()
this method closes all windows and deletes the current simulation *‍/
long onCmdForceSaveNetwork(FXObject *sender, FXSelector sel, void *ptr)
force save network (flag)
long onCmdComputePathManager(FXObject *, FXSelector, void *)
bool continueWithUnsavedDataElementChanges(const std::string &operation)
warns about unsaved changes in data elements and gives the user the option to abort
long onCmdCopyTemplate(FXObject *, FXSelector, void *)
void enableSaveDataElementsMenu()
enable save data elements
FXString getFolder(const std::string &folder) const
extract folder
long onLoadThreadEvent(FXObject *, FXSelector, void *)
called when the command/FXCall load thread is executed
long onUpdRequireRecomputing(FXObject *sender, FXSelector sel, void *ptr)
update label for requiere recomputing
FXMDIMenu * myMDIMenu
The menu used for the MDI-windows.
long onCmdReloadDemandElements(FXObject *, FXSelector, void *)
called when the command/FXCall reload demand elements is executed
long onUpdSaveDemandElements(FXObject *, FXSelector, void *)
called when the update/FXCall save demand elements is executed
void loadConfigOrNet(const std::string file, bool isNet, bool isReload=false, bool useStartupOptions=false, bool newNet=false)
starts to load a netimport configuration or a network *‍/
long onUpdReloadAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall reload additionals is updated
SUMOTime getCurrentSimTime() const
get current simulation time (pure virtual but we don't need it)
long onCmdOptions(FXObject *, FXSelector, void *)
called if the user selects Processing->Configure Options
long onCmdReloadEdgeTypes(FXObject *, FXSelector, void *)
called when the command/FXCall reload edge types is executed
long onCmdLockAllElements(FXObject *, FXSelector sel, void *)
called when user press lock all elements button
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when a key is pressed
void disableSaveAdditionalsMenu()
disable save additionals
long onCmdQuit(FXObject *, FXSelector, void *)
Called by FOX if the application shall be closed.
long onCmdSaveEdgeTypesAs(FXObject *, FXSelector, void *)
called when the command/FXCall save edgeTypes as is executed
long onCmdClearMsgWindow(FXObject *, FXSelector, void *)
called when the command/FXCall clear message windows is executed
long onCmdLockElements(FXObject *, FXSelector sel, void *)
called when user press a lock menu check
MFXButtonTooltip * myRequireRecomputingButton
Button used for show if recomputing is needed.
long onCmdClearTemplate(FXObject *, FXSelector, void *)
MFXSynchQue< GUIEvent * > myEvents
List of got requests.
GNEUndoList * getUndoList()
get pointer to undoList
long onUpdNeedsFrontElement(FXObject *, FXSelector, void *)
called when the update/FXCall needs front element is executed
long onCmdProcessButton(FXObject *, FXSelector sel, void *)
called when user press a process button (or a shortcut)
FXMenuTitle * myLockMenuTitle
menu title for lock
void loadOptionOnStartup()
load net on startup
GNEViewNet * getViewNet()
get pointer to viewNet
long onCmdSaveAdditionalsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save additionals as is executed
GNEUndoListDialog * getUndoListDialog()
get pointer to undoList dialog
GNEApplicationWindowHelper::LocateMenuCommands myLocateMenuCommands
Locate Menu Commands.
bool continueWithUnsavedChanges(const std::string &operation)
warns about unsaved changes and gives the user the option to abort
long onCmdUndo(FXObject *, FXSelector, void *)
called when user press Ctrl+Z
long onCmdAbout(FXObject *, FXSelector, void *)
called when the command/FXCall show about dialog is executed
long onUpdReloadEdgeTypes(FXObject *, FXSelector, void *)
called when the command/FXCall reload edge types is updated
long onCmdToggleGrid(FXObject *, FXSelector, void *)
called if the user press key combination Ctrl + G to toggle grid
void dependentBuild()
build dependent
long onUpdSaveDataElementsAs(FXObject *, FXSelector, void *)
called when the update/FXCall save data elements as is executed
GNEApplicationWindow(const GNEApplicationWindow &)=delete
Invalidated copy constructor.
FXMenuPane * myFileMenuDemandElements
void loadNet(const std::string &file)
load network
long onCmdEditChosen(FXObject *, FXSelector, void *)
called when the command/FXCall edit chosen is executed
long onUpdReloadTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall reload TLS programs is updated
GNEApplicationWindowHelper::EditMenuCommands myEditMenuCommands
Edit Menu Commands.
long onCmdForceSaveDemandElements(FXObject *sender, FXSelector sel, void *ptr)
force save demand elements (flag)
long onCmdSetSuperMode(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits an edit-supermode hotkey
long onCmdAbort(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits esc
GNEViewNet * myViewNet
pointer to current view net
long onCmdReloadAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall reload additionals is executed
long onUpdOpenUndoListDialog(FXObject *, FXSelector, void *)
long onUpdNeedsNetworkElement(FXObject *, FXSelector, void *)
called when the update/FXCall needs at least one newtork element is executed
const FXString myTitlePrefix
the prefix for the window title
void enableSaveTLSProgramsMenu()
enable save TLS Programs
double getTrackerInterval() const
get current tracker interval (pure virtual but we don't need it)
long onCmdReload(FXObject *, FXSelector, void *)
called when the command/FXCall reload is executed
void disableSaveDataElementsMenu()
disable save data elements
void fillMenuBar()
Builds the menu bar.
long onCmdFocusFrame(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits key combination for focus on frame
GNEApplicationWindowHelper::LockMenuCommands & getLockMenuCommands()
get lock Menu Commands
GNEApplicationWindow & operator=(const GNEApplicationWindow &)=delete
Invalidated assignment operator.
long onCmdHelp(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Documentation
long onUpdRequireViewNet(FXObject *sender, FXSelector sel, void *ptr)
enable or disable sender object depending if viewNet exist
long onCmdSaveDemandElements(FXObject *, FXSelector, void *)
called when the command/FXCall save demand elements is executed
long onCmdCut(FXObject *, FXSelector, void *)
called when user press Ctrl+Z
long onCmdNewWindow(FXObject *, FXSelector, void *)
long onCmdOpenEdgeTypes(FXObject *, FXSelector, void *)
called when the command/FXCall open edgeType is executed
bool myReloading
information whether the gui is currently reloading
void enableSaveDemandElementsMenu()
enable save demand elements
long onCmdLoadDemandInSUMOGUI(FXObject *, FXSelector, void *)
called when user toggle windows checkbox "load demand"
long onUpdLockMenuTitle(FXObject *, FXSelector sel, void *)
enable or disable lock menu title
bool myAmLoading
information whether the gui is currently loading and the load-options shall be greyed out
long onCmdOpenConfiguration(FXObject *, FXSelector, void *)
called when the command/FXCall open configuration is executed
long onUpdSaveAdditionals(FXObject *, FXSelector, void *)
called when the update/FXCall save additionals is executed
long onCmdSaveDemandElementsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save demand elements as is executed
long onCmdReloadTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall reload TLS programs is executed
long onCmdSaveDataElementsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save data elements as is executed
GNEApplicationWindowHelper::FileMenuCommands myFileMenuCommands
File Menu Commands.
long onCmdSaveAllElements(FXObject *, FXSelector, void *)
called when the command/FXCall save all elements is executed
long onCmdOpenRecent(FXObject *, FXSelector, void *)
called when the command/FXCall open recent is executed
long onCmdChangelog(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Changelog
long onUpdOpen(FXObject *, FXSelector, void *)
called when the command/FXCall on update open executed
long onCmdSetMode(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits an edit-mode hotkey
bool myHadDependentBuild
check if had dependent build
long onCmdBackspace(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits backspace
void updateRecomputingLabel()
update recomputing label
void handleEvent_NetworkLoaded(GUIEvent *e)
handle event of type Network loaded
long onCmdCopy(FXObject *, FXSelector, void *)
long onCmdOpenSUMOGUI(FXObject *sender, FXSelector sel, void *ptr)
called if the user hints ctrl + T
long onUpdSaveAllElements(FXObject *, FXSelector, void *)
called when the update/FXCall save all elements is executed
void disableUndoRedo(const std::string &reason)
disable undo-redo giving a string with the reason
long onCmdOpenDemandElements(FXObject *, FXSelector, void *)
called when the command/FXCall open demand is executed
long onCmdToogleComputeNetworkData(FXObject *, FXSelector, void *)
called when toogle checkbox compute network when swichting between supermodes
void enableUndoRedo()
disable undo-redo
bool continueWithUnsavedAdditionalChanges(const std::string &operation)
warns about unsaved changes in additionals and gives the user the option to abort
long onUpdToggleViewOption(FXObject *, FXSelector, void *)
update viewOption
GNEApplicationWindowHelper::ToolsMenuCommands myToolsMenuCommands
Tools Menu Commands.
long onCmdUnlockAllElements(FXObject *, FXSelector sel, void *)
called when user press unlock all elements button
const std::string & isUndoRedoEnabled() const
check if undo-redo is enabled
long onUpdNeedsNetwork(FXObject *, FXSelector, void *)
called when the update/FXCall needs network is executed
GNEApplicationWindowHelper::ToolbarsGrip & getToolbarsGrip()
get ToolbarsGrip
long onCmdSaveDataElements(FXObject *, FXSelector, void *)
called when the command/FXCall save data elements is executed
long onCmdLocate(FXObject *, FXSelector, void *)
called when the command/FXCall locate is executed
long onCmdDel(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits del
long onCmdHotkeys(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Hotkeys
long onCmdOpenDataElements(FXObject *, FXSelector, void *)
called when the command/FXCall open data is executed
void updateSuperModeMenuCommands(const Supermode supermode)
update FXMenuCommands depending of supermode
long onCmdToolNetDiff(FXObject *, FXSelector, void *)
called when the command/FXCall run NetDiff is executed
long onCmdSetFrontElement(FXObject *, FXSelector, void *)
called if the user call set front element
GNEUndoListDialog * myUndoListDialog
undoList dialog
long onUpdReloadDemandElements(FXObject *, FXSelector, void *)
called when the command/FXCall reload demand elements is updated
long onCmdEnter(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits enter
FXCursor * getDefaultCursor()
get default cursor
long onCmdSetTemplate(FXObject *, FXSelector, void *)
long onCmdTutorial(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Tutorial
long onCmdRedo(FXObject *, FXSelector, void *)
long onUpdUndo(FXObject *obj, FXSelector sel, void *ptr)
called when the update/FXCall undo is executed
const GNEApplicationWindowHelper::ProcessingMenuCommands & getProcessingMenuCommands() const
get processing Menu Commands
GUIMessageWindow * myMessageWindow
A window to display messages, warnings and error in.
FXSplitter * myMainSplitter
The splitter that divides the main window into view and the log window.
long onCmdLockSelectElements(FXObject *, FXSelector sel, void *)
called when user press lock select elements button
long onCmdSaveTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall save TLSPrograms is executed
long onUpdSaveEdgeTypes(FXObject *, FXSelector, void *)
called when the command/FXCall save edge types is updated
long onCmdSaveJoined(FXObject *, FXSelector, void *)
called when the command/FXCall save joined is executed
long onCmdSaveNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall save network is executed
FXMenuPane * myFileMenu
the submenus
GNEApplicationWindowHelper::ToolbarsGrip myToolbarsGrip
Toolbars Grip.
FXMenuPane * myFileMenuDataElements
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when a key is released
GNEApplicationWindowHelper::ModesMenuCommands myModesMenuCommands
Modes Menu Commands.
long onUpdSaveTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall save TLSPrograms is updated
FXGLCanvas * getBuildGLCanvas() const
get build GL Canvas (must be implemented in all children)
long onCmdEditViewScheme(FXObject *, FXSelector, void *)
Called on menu Edit->Visualization.
long onCmdOpenForeign(FXObject *, FXSelector, void *)
called when the command/FXCall open foreign is executed
long onCmdSaveSUMOConfigAs(FXObject *, FXSelector, void *)
called when the command/FXCall save SUMOConfig as is executed
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:42
Dialog for edit rerouters.
A logging window for the gui.