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 
43 public:
44 
49  GNEApplicationWindow(FXApp* a, const std::string& configPattern);
50 
53 
55  void create();
56 
58  void loadOptionOnStartup();
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 
102  void handleEvent_Message(GUIEvent* e);
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 
477  SUMOTime getCurrentSimTime() const;
478 
480  double getTrackerInterval() const;
482 
484  FXCursor* getDefaultCursor();
485 
488 
491 
494 
497 
499  void updateRecomputingLabel();
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 
528 protected:
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,
552  *myProcessingMenu = 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 
580  bool myHadDependentBuild = false;
581 
583  GNENet* myNet = nullptr;
584 
587 
590 
592  std::string myConfigPattern;
593 
596 
597 private:
600 
603 
606 
609 
612 
615 
618 
621 
624 
627 
630 
632  GNEViewNet* myViewNet = nullptr;
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:35
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
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
GNEApplicationWindow & operator=(const GNEApplicationWindow &)=delete
Invalidated assignment operator.
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:42
Dialog for edit rerouters.
A logging window for the gui.