Eclipse SUMO - Simulation of Urban MObility
GNEApplicationWindowHelper.cpp
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 #include <netbuild/NBFrame.h>
26 
27 #include "GNEApplicationWindow.h"
28 #include "GNEViewNet.h"
29 
30 #ifdef HAVE_VERSION_H
31 #include <version.h>
32 #endif
33 
34 // ===========================================================================
35 // GNEApplicationWindowHelper::ToolbarsGrip method definitions
36 // ===========================================================================
37 
39  menu(nullptr),
40  superModes(nullptr),
41  saveElements(nullptr),
42  navigation(nullptr),
43  modes(nullptr),
44  intervalBar(nullptr),
45  myGNEApp(GNEApp),
46  myToolBarShellMenu(nullptr),
47  myToolBarShellSuperModes(nullptr),
48  myToolBarShellSaveElements(nullptr),
49  myToolBarShellNavigation(nullptr),
50  myToolBarShellModes(nullptr),
51  myToolBarShellIntervalBar(nullptr) {
52 }
53 
54 
55 void
57  // build menu bar (for File, edit, processing...) using specify design
58  myToolBarShellMenu = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
59  menu = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellMenu, GUIDesignToolbarMenuBarNetedit);
60  // declare toolbar grip for menu bar
61  new FXToolBarGrip(menu, menu, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
62 }
63 
64 
65 void
67  // build menu bar for supermodes (next to menu bar)
68  myToolBarShellSuperModes = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
69  superModes = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellSuperModes, GUIDesignToolBarRaisedSame);
70  // declare toolbar grip for menu bar superModes
71  new FXToolBarGrip(superModes, superModes, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
72  // build menu bar for save elements (bot to menu bar)
73  myToolBarShellSaveElements = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
74  saveElements = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellSaveElements, GUIDesignToolBarRaisedNext);
75  // declare toolbar grip for menu bar saveElements
76  new FXToolBarGrip(saveElements, saveElements, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
77  // build menu bar for navigation
78  myToolBarShellNavigation = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
79  navigation = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellNavigation, GUIDesignToolBarRaisedSame);
80  // declare toolbar grip for menu bar navigation
81  new FXToolBarGrip(navigation, navigation, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
82  // build menu bar for modes
83  myToolBarShellModes = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
84  // create modes depending of option "gui-testing" (note: Used for NETEDIT test)
85  if (OptionsCont::getOptions().getBool("gui-testing")) {
86  modes = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellModes, GUIDesignToolBarRaisedNext);
87  } else {
88  modes = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellModes, GUIDesignToolBarRaisedSame);
89  }
90  // declare toolbar grip for menu bar modes
91  new FXToolBarGrip(modes, modes, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
92  // build menu bar for interal
93  myToolBarShellIntervalBar = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
94  intervalBar = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellIntervalBar, GUIDesignToolBarRaisedNext);
95  // declare toolbar grip for menu bar modes
96  new FXToolBarGrip(intervalBar, intervalBar, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
97  // create menu bars
98  superModes->create();
99  saveElements->create();
100  navigation->create();
101  modes->create();
102  intervalBar->create();
103  // create toolbar shells
104  myToolBarShellSuperModes->create();
105  myToolBarShellSaveElements->create();
106  myToolBarShellNavigation->create();
107  myToolBarShellModes->create();
108  myToolBarShellIntervalBar->create();
109  // recalc top dop after creating elements
110  myGNEApp->getTopDock()->recalc();
111 }
112 
113 
114 void
116  // delete Menu bars
117  delete superModes;
118  delete saveElements;
119  delete navigation;
120  delete modes;
121  delete intervalBar;
122  // also delete toolbar shells to avoid floating windows
123  delete myToolBarShellSuperModes;
124  delete myToolBarShellSaveElements;
125  delete myToolBarShellNavigation;
126  delete myToolBarShellModes;
127  delete myToolBarShellIntervalBar;
128  // recalc top dop after deleting elements
129  myGNEApp->getTopDock()->recalc();
130 }
131 
132 // ===========================================================================
133 // GNEApplicationWindowHelper::MenuBarFile method definitions
134 // ===========================================================================
135 
137  myRecentNetsAndConfigs(GNEApp->getApp(), "nets"),
138  myGNEApp(GNEApp)
139 { }
140 
141 
142 void
144  FXMenuSeparator* sep1 = new FXMenuSeparator(fileMenu);
145  sep1->setSelector(FXRecentFiles::ID_ANYFILES);
146  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_1);
147  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_2);
148  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_3);
149  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_4);
150  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_5);
151  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_6);
152  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_7);
153  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_8);
154  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_9);
155  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_10);
156  GUIDesigns::buildFXMenuCommand(fileMenu, "Cl&ear Recent Files", nullptr, &myRecentNetsAndConfigs, FXRecentFiles::ID_CLEAR);
157  GUIDesigns::buildFXMenuCommand(fileMenu, "No Recent Files", nullptr, &myRecentNetsAndConfigs, FXRecentNetworks::ID_NOFILES);
158  myRecentNetsAndConfigs.setTarget(myGNEApp);
159  myRecentNetsAndConfigs.setSelector(MID_RECENTFILE);
160 }
161 
162 // ---------------------------------------------------------------------------
163 // GNEApplicationWindowHelper::FileMenuCommands - methods
164 // ---------------------------------------------------------------------------
165 
167  saveAdditionals(nullptr),
168  saveAdditionalsAs(nullptr),
169  reloadAdditionals(nullptr),
170  saveTLSPrograms(nullptr),
171  saveEdgeTypes(nullptr),
172  saveDemandElements(nullptr),
173  saveDemandElementsAs(nullptr),
174  reloadDemandElements(nullptr),
175  saveDataElements(nullptr),
176  saveDataElementsAs(nullptr),
177  reloadDataElements(nullptr),
178  myGNEApp(GNEApp) {
179 }
180 
181 
182 void
183 GNEApplicationWindowHelper::FileMenuCommands::buildFileMenuCommands(FXMenuPane* fileMenu, FXMenuPane* fileMenuTLS, FXMenuPane* fileMenuEdgeTypes,
184  FXMenuPane* fileMenuAdditionals, FXMenuPane* fileMenuDemandElements, FXMenuPane* fileMenuDataElements) {
186  "&New Network", "Ctrl+N", "Create a new network.",
189  "New Window", "Ctrl+Shift+N", "Open a new netedit window.",
190  nullptr, myGNEApp, MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW);
191  new FXMenuSeparator(fileMenu);
193  "&Open Network...", "Ctrl+O", "Open a SUMO network.",
196  "Open Netconvert Configura&tion...", "Ctrl+Shift+O", "Open a configuration file with NETCONVERT options.",
199  "Import &Foreign Network...", "", "Import a foreign network such as OSM.",
202  "&Reload", "Ctrl+R", "Reload the network.",
205  "&Save Network", "Ctrl+S", "Save the network.",
208  "Save Net&work As...", "Ctrl+Shift+S", "Save the network to another file.",
211  "Save Plain XM&L...", "Ctrl+L", "Save plain XML representation the network.",
214  "Save &Joined Junctions...", "Ctrl+J", "Save log of joined junctions (allows reproduction of joins).",
217  "Save All Elements", "", "Save all elements (network, additional, demand and data)",
219  // create TLS menu options
221  "Load TLS Programs...", "Ctrl+K", "Load programs for traffic lights in the current net.",
223  saveTLSPrograms = GUIDesigns::buildFXMenuCommandShortcut(fileMenuTLS,
224  "Save TLS Programs", "Ctrl+Shift+K", "Save all traffic light programs of the current net.",
226  saveTLSPrograms->disable();
228  "Save TLS Programs As...", "", "Save all traffic light programs of the current net to another file.",
230  new FXMenuCascade(fileMenu, "Traffic Lights", GUIIconSubSys::getIcon(GUIIcon::MODETLS), fileMenuTLS);
231  // create edgeTypes menu options
232  GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
233  "Load Edge Types...", "Ctrl+H", "Load edge types in the current net.",
235  saveEdgeTypes = GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
236  "Save Edge Types", "Ctrl+Shift+H", "Save edge types of the current net.",
238  saveEdgeTypes->disable();
239  GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
240  "Save Edge Types As...", "", "Save edge types of the current net to another file.",
242  new FXMenuCascade(fileMenu, "Edge Types", GUIIconSubSys::getIcon(GUIIcon::MODECREATEEDGE), fileMenuEdgeTypes);
243  // create Additionals menu options
244  GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
245  "Load Additionals...", "Ctrl+A", "Load additionals and shapes.",
247  reloadAdditionals = GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
248  "Reload Additionals", "", "Reload additionals.",
250  reloadAdditionals->disable();
251  saveAdditionals = GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
252  "Save Additionals", "Ctrl+Shift+A", "Save additionals and shapes.",
254  saveAdditionals->disable();
255  saveAdditionalsAs = GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
256  "Save Additionals As...", "", "Save additional elements to another file.",
258  saveAdditionalsAs->disable();
259  new FXMenuCascade(fileMenu, "Additionals and Shapes", GUIIconSubSys::getIcon(GUIIcon::MODEADDITIONAL), fileMenuAdditionals);
260  // create DemandElements menu options
261  GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
262  "Load Demand Elements...", "Ctrl+D", "Load demand elements.",
264  reloadDemandElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
265  "Reload Demand Elements", "", "Reload demand elements.",
267  reloadDemandElements->disable();
268  saveDemandElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
269  "Save Demand Elements", "Ctrl+Shift+D", "Save demand elements.",
271  saveDemandElements->disable();
272  saveDemandElementsAs = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
273  "Save Demand Elements As...", "", "Save demand elements to another file.",
275  saveDemandElementsAs->disable();
276  new FXMenuCascade(fileMenu, "Demand Elements", GUIIconSubSys::getIcon(GUIIcon::SUPERMODEDEMAND), fileMenuDemandElements);
277  // create DataElements menu options
278  GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
279  "Load Data Elements...", "Ctrl+B", "Load data elements.",
281  reloadDataElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
282  "Reload Data Elements", "", "Reload data elements.",
284  reloadDataElements->disable();
285  saveDataElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
286  "Save Data Elements", "Ctrl+Shift+B", "Save data elements.",
288  saveDataElements->disable();
289  saveDataElementsAs = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
290  "Save Data Elements As...", "", "Save data elements to another file.",
292  saveDataElementsAs->disable();
293  new FXMenuCascade(fileMenu, "Data Elements", GUIIconSubSys::getIcon(GUIIcon::SUPERMODEDATA), fileMenuDataElements);
294  // close network
295  new FXMenuSeparator(fileMenu);
297  "Close", "Ctrl+W", "Close the network.",
299 }
300 
301 // ---------------------------------------------------------------------------
302 // GNEApplicationWindowHelper::ModesMenuCommands::CommonMenuCommands - methods
303 // ---------------------------------------------------------------------------
304 
306  deleteMode(nullptr),
307  inspectMode(nullptr),
308  selectMode(nullptr),
309  myModesMenuCommandsParent(modesMenuCommandsParent) {
310 }
311 
312 
313 void
315  // build every FXMenuCommand giving it a shortcut
316  inspectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
317  "&Inspect mode", "I", "Inspect elements and change their attributes.",
318  GUIIconSubSys::getIcon(GUIIcon::MODEINSPECT), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_I_MODES_INSPECT);
319  deleteMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
320  "&Delete mode", "D", "Delete elements.",
321  GUIIconSubSys::getIcon(GUIIcon::MODEDELETE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_D_MODES_DELETE);
322  selectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
323  "&Select mode", "S", "Select elements.",
324  GUIIconSubSys::getIcon(GUIIcon::MODESELECT), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_S_MODES_SELECT);
325 }
326 
327 // ---------------------------------------------------------------------------
328 // GNEApplicationWindowHelper::ModesMenuCommands::NetworkMenuCommands - methods
329 // ---------------------------------------------------------------------------
330 
332  createEdgeMode(nullptr),
333  moveMode(nullptr),
334  connectMode(nullptr),
335  prohibitionMode(nullptr),
336  TLSMode(nullptr),
337  additionalMode(nullptr),
338  crossingMode(nullptr),
339  TAZMode(nullptr),
340  shapeMode(nullptr),
341  myModesMenuCommandsParent(modesMenuCommandsParent) {
342 }
343 
344 
345 void
347  createEdgeMode->show();
348  moveMode->show();
349  connectMode->show();
350  prohibitionMode->show();
351  TLSMode->show();
352  additionalMode->show();
353  crossingMode->show();
354  TAZMode->show();
355  shapeMode->show();
356 }
357 
358 
359 void
361  createEdgeMode->hide();
362  moveMode->hide();
363  connectMode->hide();
364  prohibitionMode->hide();
365  TLSMode->hide();
366  additionalMode->hide();
367  crossingMode->hide();
368  TAZMode->hide();
369  shapeMode->hide();
370 }
371 
372 
373 void
375  // build every FXMenuCommand giving it a shortcut
376  moveMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
377  "&Move mode", "M", "Move elements.",
378  GUIIconSubSys::getIcon(GUIIcon::MODEMOVE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_M_MODES_MOVE);
379  createEdgeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
380  "&Edge mode", "E", "Create junction and edges.",
382  connectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
383  "&Connection mode", "C", "Modes connections between lanes.",
385  prohibitionMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
386  "Pro&hibition mode", "W", "Modes connection prohibitions.",
388  TLSMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
389  "&Traffic light mode", "T", "Modes traffic lights over junctions.",
390  GUIIconSubSys::getIcon(GUIIcon::MODETLS), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_T_MODES_TLS_TYPE);
391  additionalMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
392  "&Additional mode", "A", "Create additional elements.",
394  crossingMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
395  "C&rossing mode", "R", "Create crossings between edges.",
397  TAZMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
398  "TA&Z mode", "Z", "Create Traffic Assignment Zones.",
399  GUIIconSubSys::getIcon(GUIIcon::MODETAZ), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_Z_MODES_TAZ_TAZREL);
400  shapeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
401  "&POI-Poly mode", "P", "Create Points-Of-Interest and polygons.",
402  GUIIconSubSys::getIcon(GUIIcon::MODEPOLYGON), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_P_MODES_POLYGON_PERSON);
403 }
404 
405 // ---------------------------------------------------------------------------
406 // GNEApplicationWindowHelper::ModesMenuCommands::DemandMenuCommands - methods
407 // ---------------------------------------------------------------------------
408 
410  moveMode(nullptr),
411  routeMode(nullptr),
412  vehicleMode(nullptr),
413  typeMode(nullptr),
414  stopMode(nullptr),
415  personMode(nullptr),
416  personPlanMode(nullptr),
417  containerMode(nullptr),
418  containerPlanMode(nullptr),
419  myModesMenuCommandsParent(modesMenuCommandsParent) {
420 }
421 
422 
423 void
425  moveMode->show();
426  routeMode->show();
427  vehicleMode->show();
428  typeMode->show();
429  stopMode->show();
430  personMode->show();
431  personPlanMode->show();
432  containerMode->show();
433  containerPlanMode->show();
434 }
435 
436 
437 void
439  moveMode->hide();
440  routeMode->hide();
441  vehicleMode->hide();
442  typeMode->hide();
443  stopMode->hide();
444  personMode->hide();
445  personPlanMode->hide();
446  containerMode->hide();
447  containerPlanMode->hide();
448 }
449 
450 
451 void
453  // build every FXMenuCommand giving it a shortcut
454  moveMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
455  "&Move mode", "M", "Move elements.",
456  GUIIconSubSys::getIcon(GUIIcon::MODEMOVE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_M_MODES_MOVE);
457  routeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
458  "Route mode", "R", "Create Routes.",
460  vehicleMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
461  "Vehicle mode", "V", "Create vehicles.",
462  GUIIconSubSys::getIcon(GUIIcon::MODEVEHICLE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_V_MODES_VEHICLE);
463  typeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
464  "Type mode", "T", "Create types (vehicles, person an containers).",
465  GUIIconSubSys::getIcon(GUIIcon::MODETYPE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_T_MODES_TLS_TYPE);
466  stopMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
467  "Stop mode", "A", "Create stops.",
468  GUIIconSubSys::getIcon(GUIIcon::MODESTOP), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_A_MODES_ADDITIONAL_STOP);
469  personMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
470  "Person mode", "P", "Create persons.",
471  GUIIconSubSys::getIcon(GUIIcon::MODEPERSON), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_P_MODES_POLYGON_PERSON);
472  personPlanMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
473  "Person plan mode", "C", "Create person plans.",
475  containerMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
476  "Container mode", "G", "Create containers.",
477  GUIIconSubSys::getIcon(GUIIcon::MODECONTAINER), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_G_MODE_CONTAINER);
478  containerPlanMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
479  "Container plan mode", "H", "Create container plans.",
481 }
482 
483 // ---------------------------------------------------------------------------
484 // GNEApplicationWindowHelper::ModesMenuCommands::DataMenuCommands - methods
485 // ---------------------------------------------------------------------------
486 
488  edgeData(nullptr),
489  edgeRelData(nullptr),
490  TAZRelData(nullptr),
491  myModesMenuCommandsParent(modesMenuCommandsParent) {
492 }
493 
494 
495 void
497  edgeData->show();
498  edgeRelData->show();
499  TAZRelData->show();
500 }
501 
502 
503 void
505  edgeData->hide();
506  edgeRelData->hide();
507  TAZRelData->hide();
508 }
509 
510 
511 void
513  // build every FXMenuCommand giving it a shortcut
514  edgeData = GUIDesigns::buildFXMenuCommand(modesMenu,
515  "EdgeData Mode\tE\tCreate edgeData elements.",
516  GUIIconSubSys::getIcon(GUIIcon::MODEEDGEDATA), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_E_MODES_EDGE_EDGEDATA);
517  edgeRelData = GUIDesigns::buildFXMenuCommand(modesMenu,
518  "EdgeRelation Mode\tR\tCreate edgeRelation elements.",
520  TAZRelData = GUIDesigns::buildFXMenuCommand(modesMenu,
521  "TAZRelation Mode\tZ\tCreate TAZRelation elements.",
522  GUIIconSubSys::getIcon(GUIIcon::MODETAZRELDATA), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_Z_MODES_TAZ_TAZREL);
523 }
524 
525 // ---------------------------------------------------------------------------
526 // GNEApplicationWindowHelper::ModesMenuCommands - methods
527 // ---------------------------------------------------------------------------
528 
530  commonMenuCommands(this),
531  networkMenuCommands(this),
532  demandMenuCommands(this),
533  dataMenuCommands(this),
534  myGNEApp(GNEApp) {
535 }
536 
537 
538 void
540  // build Common modes commands and hide it
541  commonMenuCommands.buildCommonMenuCommands(modesMenu);
542  // build Network modes commands and hide it
543  networkMenuCommands.buildNetworkMenuCommands(modesMenu);
544  networkMenuCommands.hideNetworkMenuCommands();
545  // build Demand Modes commands
546  demandMenuCommands.buildDemandMenuCommands(modesMenu);
547  demandMenuCommands.hideDemandMenuCommands();
548  // build Data Modes commands
549  dataMenuCommands.buildDataMenuCommands(modesMenu);
550  dataMenuCommands.hideDataMenuCommands();
551 }
552 
553 // ---------------------------------------------------------------------------
554 // GNEApplicationWindowHelper::EditMenuCommands::NetworkViewOptions - methods
555 // ---------------------------------------------------------------------------
556 
558  menuCheckToggleGrid(nullptr),
559  menuCheckDrawSpreadVehicles(nullptr),
560  menuCheckShowDemandElements(nullptr),
561  menuCheckSelectEdges(nullptr),
562  menuCheckShowConnections(nullptr),
563  menuCheckHideConnections(nullptr),
564  menuCheckShowAdditionalSubElements(nullptr),
565  menuCheckExtendSelection(nullptr),
566  menuCheckChangeAllPhases(nullptr),
567  menuCheckWarnAboutMerge(nullptr),
568  menuCheckShowJunctionBubble(nullptr),
569  menuCheckMoveElevation(nullptr),
570  menuCheckChainEdges(nullptr),
571  menuCheckAutoOppositeEdge(nullptr),
572  separator(nullptr),
573  myGNEApp(GNEApp) {
574 }
575 
576 
577 void
579  // create menu checks
580  menuCheckToggleGrid = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
581  "Show grid", "Ctrl+G or Alt+1", "",
584 
585  menuCheckDrawSpreadVehicles = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
586  "Draw vehicles spread in lane or in depart position", "Alt+2", "",
589 
590  menuCheckShowDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
591  "Show demand elements", "Alt+3", "",
594 
595  menuCheckSelectEdges = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
596  "Clicking should select edges or lanes", "Alt+4", "",
599 
600  menuCheckShowConnections = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
601  "Show connections over junctions", "Alt+5", "",
604 
605  menuCheckHideConnections = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
606  "Hide connections", "Alt+6", "",
609 
610  menuCheckShowAdditionalSubElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
611  "Show sub-additional elements", "Alt+7", "",
614 
615  menuCheckExtendSelection = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
616  "Selecting multiple edges automatically select their junctions", "Alt+6", "",
619 
620  menuCheckChangeAllPhases = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
621  "Clicking should apply state changes to all phases of TLS plan", "Alt+4", "",
624 
625  menuCheckWarnAboutMerge = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
626  "Ask for confirmation before merging junction", "Alt+4", "",
629 
630  menuCheckShowJunctionBubble = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
631  "Show bubbles over junctions shapes", "Alt+5", "",
634 
635  menuCheckMoveElevation = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
636  "Apply mouse movement to elevation", "Alt+6", "",
639 
640  menuCheckChainEdges = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
641  "Create consecutive edges", "Alt+4", "",
644 
645  menuCheckAutoOppositeEdge = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
646  "Create an edge in the opposite direction", "Alt+5", "",
649 
650  // build separator
651  separator = new FXMenuSeparator(editMenu);
652 }
653 
654 
655 void
657  menuCheckToggleGrid->hide();
658  menuCheckDrawSpreadVehicles->hide();
659  menuCheckShowDemandElements->hide();
660  menuCheckSelectEdges->hide();
661  menuCheckShowConnections->hide();
662  menuCheckHideConnections->hide();
663  menuCheckShowAdditionalSubElements->hide();
664  menuCheckExtendSelection->hide();
665  menuCheckChangeAllPhases->hide();
666  menuCheckWarnAboutMerge->hide();
667  menuCheckShowJunctionBubble->hide();
668  menuCheckMoveElevation->hide();
669  menuCheckChainEdges->hide();
670  menuCheckAutoOppositeEdge->hide();
671  separator->hide();
672 }
673 
674 
675 void
677  /* currently this function doesn't work
678  // declare index
679  int index = 1;
680  // update label depending of shown
681  if (menuCheckToggleGrid->shown()) {
682  menuCheckToggleGrid->setText(("Ctrl+G or Alt+" + toString(index) + "\t").c_str());
683  index++;
684  }
685  if (menuCheckDrawSpreadVehicles->shown()) {
686  menuCheckDrawSpreadVehicles->setText(("Alt+" + toString(index) + "\t").c_str());
687  index++;
688  }
689  if (menuCheckShowDemandElements->shown()) {
690  menuCheckShowDemandElements->setText(("Alt+" + toString(index) + "\t").c_str());
691  index++;
692  }
693  if (menuCheckSelectEdges->shown()) {
694  menuCheckSelectEdges->setText(("Alt+" + toString(index) + "\t").c_str());
695  index++;
696  }
697  if (menuCheckShowConnections->shown()) {
698  menuCheckShowConnections->setText(("Alt+" + toString(index) + "\t").c_str());
699  index++;
700  }
701  if (menuCheckHideConnections->shown()) {
702  menuCheckHideConnections->setText(("Alt+" + toString(index) + "\t").c_str());
703  index++;
704  }
705  if (menuCheckShowAdditionalSubElements->shown()) {
706  menuCheckShowAdditionalSubElements->setText(("Alt+" + toString(index) + "\t").c_str());
707  index++;
708  }
709  if (menuCheckExtendSelection->shown()) {
710  menuCheckExtendSelection->setText(("Alt+" + toString(index) + "\t").c_str());
711  index++;
712  }
713  if (menuCheckChangeAllPhases->shown()) {
714  menuCheckChangeAllPhases->setText(("Alt+" + toString(index) + "\t").c_str());
715  index++;
716  }
717  if (menuCheckWarnAboutMerge->shown()) {
718  menuCheckWarnAboutMerge->setText(("Alt+" + toString(index) + "\t").c_str());
719  index++;
720  }
721  if (menuCheckShowJunctionBubble->shown()) {
722  menuCheckShowJunctionBubble->setText(("Alt+" + toString(index) + "\t").c_str());
723  }
724  if (menuCheckMoveElevation->shown()) {
725  menuCheckMoveElevation->setText(("Alt+" + toString(index) + "\t").c_str());
726  index++;
727  }
728  if (menuCheckChainEdges->shown()) {
729  menuCheckChainEdges->setText(("Alt+" + toString(index) + "\t").c_str());
730  index++;
731  }
732  if (menuCheckAutoOppositeEdge->shown()) {
733  menuCheckAutoOppositeEdge->setText(("Alt+" + toString(index) + "\t").c_str());
734  index++;
735  }
736  */
737 }
738 
739 // ---------------------------------------------------------------------------
740 // GNEApplicationWindowHelper::DemandViewOptions - methods
741 // ---------------------------------------------------------------------------
742 
744  menuCheckToggleGrid(nullptr),
745  menuCheckDrawSpreadVehicles(nullptr),
746  menuCheckHideShapes(nullptr),
747  menuCheckShowAllTrips(nullptr),
748  menuCheckHideNonInspectedDemandElements(nullptr),
749  menuCheckShowOverlappedRoutes(nullptr),
750  menuCheckShowAllPersonPlans(nullptr),
751  menuCheckLockPerson(nullptr),
752  menuCheckShowAllContainerPlans(nullptr),
753  menuCheckLockContainer(nullptr),
754  separator(nullptr),
755  myGNEApp(GNEApp) {
756 }
757 
758 
759 void
761  // create menu checks
762  menuCheckToggleGrid = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
763  "Toggle grid", "Ctrl+G or Alt+1", "",
766 
767  menuCheckDrawSpreadVehicles = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
768  "Draw vehicles spread/depart position", "Alt+2", "",
771 
772  menuCheckHideShapes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
773  "Toggle show shapes", "Alt+3", "",
776 
777  menuCheckShowAllTrips = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
778  "Toggle show all trips", "Alt+4", "",
781 
782  menuCheckShowAllPersonPlans = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
783  "Show all person plans", "Alt+5", "",
786 
787  menuCheckLockPerson = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
788  "Lock selected person", "Alt+6", "",
791 
792  menuCheckShowAllContainerPlans = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
793  "Show all container plans", "Alt+5", "",
796 
797  menuCheckLockContainer = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
798  "Lock selected container", "Alt+6", "",
801 
802  menuCheckHideNonInspectedDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
803  "Toggle show non-inspected demand elements", "Alt+7", "",
806 
807  menuCheckShowOverlappedRoutes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
808  "Toggle show number of overlapped routes", "Alt+8", "",
811 
812  // build separator
813  separator = new FXMenuSeparator(editMenu);
814 }
815 
816 
817 void
819  menuCheckToggleGrid->hide();
820  menuCheckDrawSpreadVehicles->hide();
821  menuCheckHideShapes->hide();
822  menuCheckShowAllTrips->hide();
823  menuCheckHideNonInspectedDemandElements->hide();
824  menuCheckShowOverlappedRoutes->hide();
825  menuCheckShowAllPersonPlans->hide();
826  menuCheckLockPerson->hide();
827  menuCheckShowAllContainerPlans->hide();
828  menuCheckLockContainer->hide();
829  separator->hide();
830 }
831 
832 // ---------------------------------------------------------------------------
833 // GNEApplicationWindowHelper::EditMenuCommands::DataViewOptions - methods
834 // ---------------------------------------------------------------------------
835 
837  menuCheckShowAdditionals(nullptr),
838  menuCheckShowShapes(nullptr),
839  menuCheckShowDemandElements(nullptr),
840  menuCheckToogleTAZRelDrawing(nullptr),
841  menuCheckToogleTAZDrawFill(nullptr),
842  menuCheckToogleTAZRelOnlyFrom(nullptr),
843  menuCheckToogleTAZRelOnlyTo(nullptr),
844  separator(nullptr),
845  myGNEApp(GNEApp) {
846 }
847 
848 
849 void
851  // create menu checks
852  menuCheckShowAdditionals = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
853  "Toggle show additionals", "Alt+1", "",
856 
857  menuCheckShowShapes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
858  "Toggle show shapes", "Alt+2", "",
861 
862  menuCheckShowDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
863  "Toggle show demand elements", "Alt+3", "",
866 
867  menuCheckToogleTAZRelDrawing = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
868  "Toggle TAZRel drawing mode", "Alt+4", "",
871 
872  menuCheckToogleTAZDrawFill = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
873  "Toggle TAZ draw fill", "Alt+5", "",
876 
877  menuCheckToogleTAZRelOnlyFrom = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
878  "Toggle only draw TAZRel from", "Alt+5", "",
881 
882  menuCheckToogleTAZRelOnlyTo = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
883  "Toggle only draw TAZRel to", "Alt+6", "",
886  // build separator
887  separator = new FXMenuSeparator(editMenu);
888 }
889 
890 
891 void
893  menuCheckShowAdditionals->hide();
894  menuCheckShowShapes->hide();
895  menuCheckShowDemandElements->hide();
896  menuCheckToogleTAZRelDrawing->hide();
897  menuCheckToogleTAZDrawFill->hide();
898  menuCheckToogleTAZRelOnlyFrom->hide();
899  menuCheckToogleTAZRelOnlyTo->hide();
900  separator->hide();
901 }
902 
903 // ---------------------------------------------------------------------------
904 // GNEApplicationWindowHelper::EditMenuCommands - methods
905 // ---------------------------------------------------------------------------
906 
908  undoLastChange(nullptr),
909  redoLastChange(nullptr),
910  openUndolistDialog(nullptr),
911  networkViewOptions(GNEApp),
912  demandViewOptions(GNEApp),
913  dataViewOptions(GNEApp),
914  editViewScheme(nullptr),
915  editViewPort(nullptr),
916  clearFrontElement(nullptr),
917  loadAdditionalsInSUMOGUI(nullptr),
918  loadDemandInSUMOGUI(nullptr),
919  openInSUMOGUI(nullptr),
920  myGNEApp(GNEApp) {
921 }
922 
923 
924 void
926  // build undo/redo command
927  undoLastChange = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
928  "Undo", "Ctrl+Z", "Undo the last change.",
930  redoLastChange = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
931  "Redo", "Ctrl+Y", "Redo the last change.",
933  openUndolistDialog = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
934  "Show undo/redo history", "", "Open undo/redo history dialog.",
936 }
937 
938 
939 void
941  // build rest of menu commands
942  editViewScheme = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
943  "Edit Visualisation", "F9", "Opens a dialog for editing visualization settings.",
945  editViewPort = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
946  "Edit Viewport", "Ctrl+I", "Opens a dialog for editing viewing are, zoom and rotation.",
948 }
949 
950 
951 void
953  // add clear front element
954  clearFrontElement = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
955  "Clear front element", "F11", "Clear current front element",
957 }
958 
959 
960 void
962  // add open in sumo options
963  loadAdditionalsInSUMOGUI = new FXMenuCheck(editMenu,
964  "Load additionals in sumo-gui\t\tLoad additionals in sumo-gui.",
966  loadAdditionalsInSUMOGUI->setCheck(TRUE);
967  loadDemandInSUMOGUI = new FXMenuCheck(editMenu,
968  "Load demand in sumo-gui\t\tLoad demand in sumo-gui.",
970  loadDemandInSUMOGUI->setCheck(TRUE);
971  openInSUMOGUI = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
972  "Open in sumo-gui", "Ctrl+T", "Opens the sumo-gui application with the current network.",
974 }
975 
976 // ---------------------------------------------------------------------------
977 // GNEApplicationWindowHelper::LockMenuCommands - methods
978 // ---------------------------------------------------------------------------
979 
981  menuCheckLockJunction(nullptr),
982  menuCheckLockEdges(nullptr),
983  menuCheckLockLanes(nullptr),
984  menuCheckLockConnections(nullptr),
985  menuCheckLockCrossings(nullptr),
986  menuCheckLockAdditionals(nullptr),
987  menuCheckLockTAZs(nullptr),
988  menuCheckLockPolygons(nullptr),
989  menuCheckLockPOIs(nullptr),
990  menuCheckLockRoutes(nullptr),
991  menuCheckLockVehicles(nullptr),
992  menuCheckLockPersons(nullptr),
993  menuCheckLockPersonTrip(nullptr),
994  menuCheckLockWalk(nullptr),
995  menuCheckLockRides(nullptr),
996  menuCheckLockContainers(nullptr),
997  menuCheckLockTransports(nullptr),
998  menuCheckLockTranships(nullptr),
999  menuCheckLockStops(nullptr),
1000  menuCheckLockEdgeDatas(nullptr),
1001  menuCheckLockEdgeRelDatas(nullptr),
1002  menuCheckLockEdgeTAZRels(nullptr),
1003  menuCheckLockSelectedElements(nullptr),
1004  myGNEApp(GNEApp) {
1005 }
1006 
1007 
1008 void
1010  // newtork
1011  menuCheckLockJunction = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1012  "Lock &junctions", "", "",
1014  myGNEApp, MID_GNE_LOCK_ELEMENT);
1015 
1016  menuCheckLockEdges = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1017  "Lock &edges", "", "",
1019  myGNEApp, MID_GNE_LOCK_ELEMENT);
1020 
1021  menuCheckLockLanes = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1022  "Lock &lanes", "", "",
1024  myGNEApp, MID_GNE_LOCK_ELEMENT);
1025 
1026  menuCheckLockConnections = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1027  "Lock &connections", "", "",
1029  myGNEApp, MID_GNE_LOCK_ELEMENT);
1030 
1031  menuCheckLockCrossings = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1032  "Lock c&rossings", "", "",
1034  myGNEApp, MID_GNE_LOCK_ELEMENT);
1035 
1036  menuCheckLockAdditionals = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1037  "Lock &additionals", "", "",
1039  myGNEApp, MID_GNE_LOCK_ELEMENT);
1040 
1041  menuCheckLockTAZs = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1042  "Lock &TAZs", "", "",
1044  myGNEApp, MID_GNE_LOCK_ELEMENT);
1045 
1046  menuCheckLockPolygons = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1047  "Lock &polygons", "", "",
1049  myGNEApp, MID_GNE_LOCK_ELEMENT);
1050 
1051  menuCheckLockPOIs = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1052  "Lock P&OIs", "", "",
1054  myGNEApp, MID_GNE_LOCK_ELEMENT);
1055  // demand
1056  menuCheckLockRoutes = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1057  "Lock &routes", "", "",
1059  myGNEApp, MID_GNE_LOCK_ELEMENT);
1060 
1061  menuCheckLockVehicles = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1062  "Lock &vehicles", "", "",
1064  myGNEApp, MID_GNE_LOCK_ELEMENT);
1065 
1066  menuCheckLockPersons = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1067  "Lock &persons", "", "",
1069  myGNEApp, MID_GNE_LOCK_ELEMENT);
1070 
1071  menuCheckLockPersonTrip = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1072  "Lock person&Trips", "", "",
1074  myGNEApp, MID_GNE_LOCK_ELEMENT);
1075 
1076  menuCheckLockWalk = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1077  "Lock &walks", "", "",
1079  myGNEApp, MID_GNE_LOCK_ELEMENT);
1080 
1081  menuCheckLockRides = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1082  "Lock ri&des", "", "",
1084  myGNEApp, MID_GNE_LOCK_ELEMENT);
1085 
1086  menuCheckLockContainers = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1087  "Lock &containers", "", "",
1089  myGNEApp, MID_GNE_LOCK_ELEMENT);
1090 
1091  menuCheckLockTransports = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1092  "Lock tra&nsports", "", "",
1094  myGNEApp, MID_GNE_LOCK_ELEMENT);
1095 
1096  menuCheckLockTranships = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1097  "Lock trans&hips", "", "",
1099  myGNEApp, MID_GNE_LOCK_ELEMENT);
1100 
1101  menuCheckLockStops = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1102  "Lock stop&s", "", "",
1104  myGNEApp, MID_GNE_LOCK_ELEMENT);
1105  // data
1106  menuCheckLockEdgeDatas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1107  "Lock &edgeDatas", "", "",
1109  myGNEApp, MID_GNE_LOCK_ELEMENT);
1110 
1111  menuCheckLockEdgeRelDatas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1112  "Lock e&dgeRelDatas", "", "",
1114  myGNEApp, MID_GNE_LOCK_ELEMENT);
1115 
1116  menuCheckLockEdgeTAZRels = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1117  "Lock edge&TAZRel", "", "",
1119  myGNEApp, MID_GNE_LOCK_ELEMENT);
1120 
1121  // separator
1122  new FXMenuSeparator(fileMenu);
1123 
1124  menuCheckLockSelectedElements = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1125  "Lock selected elements", "", "Lock selected elements",
1127 
1128  // separator
1129  new FXMenuSeparator(fileMenu);
1130 
1132  "Lock all elements", "", "Lock all elements",
1134 
1136  "Unlock all elements", "", "Unlock all elements",
1138 }
1139 
1140 
1141 void
1143  // network
1144  menuCheckLockJunction->remHotKey(parseHotKey('j'));
1145  menuCheckLockEdges->remHotKey(parseHotKey('e'));
1146  menuCheckLockLanes->remHotKey(parseHotKey('l'));
1147  menuCheckLockConnections->remHotKey(parseHotKey('c'));
1148  menuCheckLockCrossings->remHotKey(parseHotKey('r'));
1149  menuCheckLockAdditionals->remHotKey(parseHotKey('a'));
1150  menuCheckLockTAZs->remHotKey(parseHotKey('t'));
1151  menuCheckLockPolygons->remHotKey(parseHotKey('p'));
1152  menuCheckLockPOIs->remHotKey(parseHotKey('o'));
1153  // demand
1154  menuCheckLockRoutes->remHotKey(parseHotKey('r'));
1155  menuCheckLockVehicles->remHotKey(parseHotKey('v'));
1156  menuCheckLockPersons->remHotKey(parseHotKey('p'));
1157  menuCheckLockPersonTrip->remHotKey(parseHotKey('t'));
1158  menuCheckLockWalk->remHotKey(parseHotKey('w'));
1159  menuCheckLockRides->remHotKey(parseHotKey('d'));
1160  menuCheckLockContainers->remHotKey(parseHotKey('c'));
1161  menuCheckLockTransports->remHotKey(parseHotKey('n'));
1162  menuCheckLockTranships->remHotKey(parseHotKey('h'));
1163  menuCheckLockStops->remHotKey(parseHotKey('s'));
1164  // data
1165  menuCheckLockEdgeDatas->remHotKey(parseHotKey('e'));
1166  menuCheckLockEdgeRelDatas->remHotKey(parseHotKey('d'));
1167  menuCheckLockEdgeTAZRels->remHotKey(parseHotKey('t'));
1168 }
1169 
1170 void
1172  // first enable menu commands
1173  menuCheckLockJunction->enable();
1174  menuCheckLockEdges->enable();
1175  menuCheckLockLanes->enable();
1176  menuCheckLockConnections->enable();
1177  menuCheckLockCrossings->enable();
1178  menuCheckLockAdditionals->enable();
1179  menuCheckLockTAZs->enable();
1180  menuCheckLockPolygons->enable();
1181  menuCheckLockPOIs->enable();
1182  // set accels
1183  menuCheckLockJunction->addHotKey(parseHotKey('j'));
1184  menuCheckLockEdges->addHotKey(parseHotKey('e'));
1185  menuCheckLockLanes->addHotKey(parseHotKey('l'));
1186  menuCheckLockConnections->addHotKey(parseHotKey('c'));
1187  menuCheckLockCrossings->addHotKey(parseHotKey('r'));
1188  menuCheckLockAdditionals->addHotKey(parseHotKey('a'));
1189  menuCheckLockTAZs->addHotKey(parseHotKey('t'));
1190  menuCheckLockPolygons->addHotKey(parseHotKey('p'));
1191  menuCheckLockPOIs->addHotKey(parseHotKey('o'));
1192  // now show it
1193  menuCheckLockJunction->show();
1194  menuCheckLockEdges->show();
1195  menuCheckLockLanes->show();
1196  menuCheckLockConnections->show();
1197  menuCheckLockCrossings->show();
1198  menuCheckLockAdditionals->show();
1199  menuCheckLockTAZs->show();
1200  menuCheckLockPolygons->show();
1201  menuCheckLockPOIs->show();
1202 }
1203 
1204 
1205 void
1207  // first disable menu commands
1208  menuCheckLockJunction->disable();
1209  menuCheckLockEdges->disable();
1210  menuCheckLockLanes->disable();
1211  menuCheckLockConnections->disable();
1212  menuCheckLockCrossings->disable();
1213  menuCheckLockAdditionals->disable();
1214  menuCheckLockTAZs->disable();
1215  menuCheckLockPolygons->disable();
1216  menuCheckLockPOIs->disable();
1217  // now hide it
1218  menuCheckLockJunction->hide();
1219  menuCheckLockEdges->hide();
1220  menuCheckLockLanes->hide();
1221  menuCheckLockConnections->hide();
1222  menuCheckLockCrossings->hide();
1223  menuCheckLockAdditionals->hide();
1224  menuCheckLockTAZs->hide();
1225  menuCheckLockPolygons->hide();
1226  menuCheckLockPOIs->hide();
1227 }
1228 
1229 
1230 void
1232  // first enable menu commands
1233  menuCheckLockRoutes->enable();
1234  menuCheckLockVehicles->enable();
1235  menuCheckLockPersons->enable();
1236  menuCheckLockPersonTrip->enable();
1237  menuCheckLockWalk->enable();
1238  menuCheckLockRides->enable();
1239  menuCheckLockContainers->enable();
1240  menuCheckLockTransports->enable();
1241  menuCheckLockTranships->enable();
1242  menuCheckLockStops->enable();
1243  // set accels
1244  menuCheckLockRoutes->addHotKey(parseHotKey('r'));
1245  menuCheckLockVehicles->addHotKey(parseHotKey('v'));
1246  menuCheckLockPersons->addHotKey(parseHotKey('p'));
1247  menuCheckLockPersonTrip->addHotKey(parseHotKey('t'));
1248  menuCheckLockWalk->addHotKey(parseHotKey('w'));
1249  menuCheckLockRides->addHotKey(parseHotKey('d'));
1250  menuCheckLockContainers->addHotKey(parseHotKey('c'));
1251  menuCheckLockTransports->addHotKey(parseHotKey('n'));
1252  menuCheckLockTranships->addHotKey(parseHotKey('h'));
1253  menuCheckLockStops->addHotKey(parseHotKey('s'));
1254  // now show it
1255  menuCheckLockRoutes->show();
1256  menuCheckLockVehicles->show();
1257  menuCheckLockPersons->show();
1258  menuCheckLockPersonTrip->show();
1259  menuCheckLockWalk->show();
1260  menuCheckLockRides->show();
1261  menuCheckLockContainers->show();
1262  menuCheckLockTransports->show();
1263  menuCheckLockTranships->show();
1264  menuCheckLockStops->show();
1265 }
1266 
1267 
1268 void
1270  // first disable menu commands
1271  menuCheckLockRoutes->disable();
1272  menuCheckLockVehicles->disable();
1273  menuCheckLockPersons->disable();
1274  menuCheckLockPersonTrip->disable();
1275  menuCheckLockWalk->disable();
1276  menuCheckLockRides->disable();
1277  menuCheckLockContainers->disable();
1278  menuCheckLockTransports->disable();
1279  menuCheckLockTranships->disable();
1280  menuCheckLockStops->disable();
1281  // now hide it
1282  menuCheckLockRoutes->hide();
1283  menuCheckLockVehicles->hide();
1284  menuCheckLockPersons->hide();
1285  menuCheckLockPersonTrip->hide();
1286  menuCheckLockWalk->hide();
1287  menuCheckLockRides->hide();
1288  menuCheckLockContainers->hide();
1289  menuCheckLockTransports->hide();
1290  menuCheckLockTranships->hide();
1291  menuCheckLockStops->hide();
1292 }
1293 
1294 
1295 void
1297  // first enable menu commands
1298  menuCheckLockEdgeDatas->enable();
1299  menuCheckLockEdgeRelDatas->enable();
1300  menuCheckLockEdgeTAZRels->enable();
1301  // set accels
1302  menuCheckLockEdgeDatas->addHotKey(parseHotKey('e'));
1303  menuCheckLockEdgeRelDatas->addHotKey(parseHotKey('d'));
1304  menuCheckLockEdgeTAZRels->addHotKey(parseHotKey('t'));
1305  // now show it
1306  menuCheckLockEdgeDatas->show();
1307  menuCheckLockEdgeRelDatas->show();
1308  menuCheckLockEdgeTAZRels->show();
1309 }
1310 
1311 
1312 void
1314  // first disable menu commands
1315  menuCheckLockEdgeDatas->disable();
1316  menuCheckLockEdgeRelDatas->disable();
1317  menuCheckLockEdgeTAZRels->disable();
1318  // now hide it
1319  menuCheckLockEdgeDatas->hide();
1320  menuCheckLockEdgeRelDatas->hide();
1321  menuCheckLockEdgeTAZRels->hide();
1322 }
1323 
1324 
1325 void
1327  menuCheckLockJunction->setCheck(TRUE);
1328  menuCheckLockEdges->setCheck(TRUE);
1329  menuCheckLockLanes->setCheck(TRUE);
1330  menuCheckLockConnections->setCheck(TRUE);
1331  menuCheckLockCrossings->setCheck(TRUE);
1332  menuCheckLockAdditionals->setCheck(TRUE);
1333  menuCheckLockTAZs->setCheck(TRUE);
1334  menuCheckLockPolygons->setCheck(TRUE);
1335  menuCheckLockPOIs->setCheck(TRUE);
1336  menuCheckLockRoutes->setCheck(TRUE);
1337  menuCheckLockVehicles->setCheck(TRUE);
1338  menuCheckLockPersons->setCheck(TRUE);
1339  menuCheckLockPersonTrip->setCheck(TRUE);
1340  menuCheckLockWalk->setCheck(TRUE);
1341  menuCheckLockRides->setCheck(TRUE);
1342  menuCheckLockContainers->setCheck(TRUE);
1343  menuCheckLockTransports->setCheck(TRUE);
1344  menuCheckLockTranships->setCheck(TRUE);
1345  menuCheckLockStops->setCheck(TRUE);
1346  menuCheckLockEdgeDatas->setCheck(TRUE);
1347  menuCheckLockEdgeRelDatas->setCheck(TRUE);
1348  menuCheckLockEdgeTAZRels->setCheck(TRUE);
1349 }
1350 
1351 
1352 void
1354  menuCheckLockJunction->setCheck(FALSE);
1355  menuCheckLockEdges->setCheck(FALSE);
1356  menuCheckLockLanes->setCheck(FALSE);
1357  menuCheckLockConnections->setCheck(FALSE);
1358  menuCheckLockCrossings->setCheck(FALSE);
1359  menuCheckLockAdditionals->setCheck(FALSE);
1360  menuCheckLockTAZs->setCheck(FALSE);
1361  menuCheckLockPolygons->setCheck(FALSE);
1362  menuCheckLockPOIs->setCheck(FALSE);
1363  menuCheckLockRoutes->setCheck(FALSE);
1364  menuCheckLockVehicles->setCheck(FALSE);
1365  menuCheckLockPersons->setCheck(FALSE);
1366  menuCheckLockPersonTrip->setCheck(FALSE);
1367  menuCheckLockWalk->setCheck(FALSE);
1368  menuCheckLockRides->setCheck(FALSE);
1369  menuCheckLockContainers->setCheck(FALSE);
1370  menuCheckLockTransports->setCheck(FALSE);
1371  menuCheckLockTranships->setCheck(FALSE);
1372  menuCheckLockStops->setCheck(FALSE);
1373  menuCheckLockEdgeDatas->setCheck(FALSE);
1374  menuCheckLockEdgeRelDatas->setCheck(FALSE);
1375  menuCheckLockEdgeTAZRels->setCheck(FALSE);
1376 }
1377 
1378 
1379 void
1381  // check elements
1382  if (AC->getTagProperty().getTag() == SUMO_TAG_JUNCTION) {
1383  menuCheckLockJunction->setCheck(value);
1384  } else if (AC->getTagProperty().getTag() == SUMO_TAG_EDGE) {
1385  menuCheckLockEdges->setCheck(value);
1386  } else if (AC->getTagProperty().getTag() == SUMO_TAG_LANE) {
1387  menuCheckLockLanes->setCheck(value);
1388  } else if (AC->getTagProperty().getTag() == SUMO_TAG_CONNECTION) {
1389  menuCheckLockConnections->setCheck(value);
1390  } else if (AC->getTagProperty().getTag() == SUMO_TAG_CROSSING) {
1391  menuCheckLockCrossings->setCheck(value);
1392  } else if (AC->getTagProperty().isAdditionalElement()) {
1393  menuCheckLockAdditionals->setCheck(value);
1394  } else if (AC->getTagProperty().getTag() == SUMO_TAG_TAZ) {
1395  menuCheckLockTAZs->setCheck(value);
1396  } else if (AC->getTagProperty().getTag() == SUMO_TAG_POLY) {
1397  menuCheckLockPolygons->setCheck(value);
1398  } else if (AC->getTagProperty().getTag() == SUMO_TAG_POI) {
1399  menuCheckLockPOIs->setCheck(value);
1400  } else if (AC->getTagProperty().isRoute()) {
1401  menuCheckLockRoutes->setCheck(value);
1402  } else if (AC->getTagProperty().isVehicle()) {
1403  menuCheckLockVehicles->setCheck(value);
1404  } else if (AC->getTagProperty().isPerson()) {
1405  menuCheckLockPersons->setCheck(value);
1406  } else if (AC->getTagProperty().isPersonTrip()) {
1407  menuCheckLockPersonTrip->setCheck(value);
1408  } else if (AC->getTagProperty().isWalk()) {
1409  menuCheckLockWalk->setCheck(value);
1410  } else if (AC->getTagProperty().isRide()) {
1411  menuCheckLockRides->setCheck(value);
1412  } else if (AC->getTagProperty().isContainer()) {
1413  menuCheckLockContainers->setCheck(value);
1414  } else if (AC->getTagProperty().isTransportPlan()) {
1415  menuCheckLockTransports->setCheck(value);
1416  } else if (AC->getTagProperty().isTranshipPlan()) {
1417  menuCheckLockTranships->setCheck(value);
1418  } else if (AC->getTagProperty().isStop() || AC->getTagProperty().isStopPerson()) {
1419  menuCheckLockStops->setCheck(value);
1420  } else if (AC->getTagProperty().getTag() == SUMO_TAG_MEANDATA_EDGE) {
1421  menuCheckLockEdgeDatas->setCheck(value);
1422  } else if (AC->getTagProperty().getTag() == SUMO_TAG_EDGEREL) {
1423  menuCheckLockEdgeRelDatas->setCheck(value);
1424  } else if (AC->getTagProperty().getTag() == SUMO_TAG_TAZREL) {
1425  menuCheckLockEdgeTAZRels->setCheck(value);
1426  }
1427 }
1428 
1429 
1430 FXHotKey
1432  FXuint code = 0, mods = 0;
1433  if (Unicode::isAlphaNumeric(character)) {
1434  mods = ALTMASK;
1435  code = fxucs2keysym(Unicode::toLower(character));
1436  }
1437  return MKUINT(code, mods);
1438 }
1439 
1440 // ---------------------------------------------------------------------------
1441 // GNEApplicationWindowHelper::ProcessingMenuCommands - methods
1442 // ---------------------------------------------------------------------------
1443 
1445  computeNetwork(nullptr),
1446  computeNetworkVolatile(nullptr),
1447  cleanJunctions(nullptr),
1448  joinJunctions(nullptr),
1449  clearInvalidCrossings(nullptr),
1450  computeDemand(nullptr),
1451  cleanRoutes(nullptr),
1452  joinRoutes(nullptr),
1453  adjustPersonPlans(nullptr),
1454  clearInvalidDemandElements(nullptr),
1455  optionMenus(nullptr),
1456  myGNEApp(GNEApp) {
1457 }
1458 
1459 
1460 void
1462  // build network processing menu commands
1463  computeNetwork = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1464  "Compute Junctions", "F5", "Compute junction shape and logic.",
1466  computeNetworkVolatile = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1467  "Compute Junctions with volatile options", "Shift+F5", "Compute junction shape and logic using volatile junctions.",
1469  cleanJunctions = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1470  "Clean Junctions", "F6", "Remove solitary junctions.",
1472  joinJunctions = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1473  "Join Selected Junctions", "F7", "Join selected junctions into a single junction.",
1475  clearInvalidCrossings = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1476  "Clean invalid crossings", "F8", "Clear invalid crossings.",
1478  // build demand processing menu commands
1479  computeDemand = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1480  "Compute demand", "F5", "Computes demand elements.",
1482  cleanRoutes = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1483  "Clean routes", "F6", "Removes routes without vehicles.",
1485  joinRoutes = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1486  "Join routes", "F7", "Joins routes with the same edges.",
1488  adjustPersonPlans = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1489  "Adjust person plans", "Shift+F7", "Adjust person plans (start/end positions, arrival positions, etc.)",
1491  clearInvalidDemandElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1492  "Clean invalid route elements", "F8", "Clear elements with an invalid path (routes, Trips, Flows...).",
1494  // add separator (because optionsmenu is commmon for Network and Demand modes
1495  new FXMenuSeparator(fileMenu);
1496  optionMenus = GUIDesigns::buildFXMenuCommandShortcut(fileMenu,
1497  "Options", "F10", "Configure Processing Options.",
1499 }
1500 
1501 
1502 void
1504  // first enable menu commands
1505  computeNetwork->enable();
1506  computeNetworkVolatile->enable();
1507  cleanJunctions->enable();
1508  joinJunctions->enable();
1509  clearInvalidCrossings->enable();
1510  // now show it
1511  computeNetwork->show();
1512  computeNetworkVolatile->show();
1513  cleanJunctions->show();
1514  joinJunctions->show();
1515  clearInvalidCrossings->show();
1516 }
1517 
1518 
1519 void
1521  // first disable menu commands
1522  computeNetwork->disable();
1523  computeNetworkVolatile->disable();
1524  cleanJunctions->disable();
1525  joinJunctions->disable();
1526  clearInvalidCrossings->disable();
1527  // now hide it
1528  computeNetwork->hide();
1529  computeNetworkVolatile->hide();
1530  cleanJunctions->hide();
1531  joinJunctions->hide();
1532  clearInvalidCrossings->hide();
1533 }
1534 
1535 
1536 void
1538  // first enable menu commands
1539  computeDemand->enable();
1540  cleanRoutes->enable();
1541  joinRoutes->enable();
1542  adjustPersonPlans->enable();
1543  clearInvalidDemandElements->enable();
1544  // now show it
1545  computeDemand->show();
1546  cleanRoutes->show();
1547  joinRoutes->show();
1548  adjustPersonPlans->show();
1549  clearInvalidDemandElements->show();
1550 }
1551 
1552 
1553 void
1555  // first disable menu commands
1556  computeDemand->disable();
1557  cleanRoutes->disable();
1558  joinRoutes->disable();
1559  adjustPersonPlans->disable();
1560  clearInvalidDemandElements->disable();
1561  // now hide it
1562  computeDemand->hide();
1563  cleanRoutes->hide();
1564  joinRoutes->hide();
1565  adjustPersonPlans->hide();
1566  clearInvalidDemandElements->hide();
1567 }
1568 
1569 
1570 void
1572 
1573 }
1574 
1575 
1576 void
1578 
1579 }
1580 
1581 // ---------------------------------------------------------------------------
1582 // GNEApplicationWindowHelper::LocateMenuCommands - methods
1583 // ---------------------------------------------------------------------------
1584 
1586  myGNEApp(GNEApp) {
1587 }
1588 
1589 
1590 void
1592  // build locate menu commands
1594  "Locate &Junctions", "Shift+J", "Open a dialog for locating a Junction.",
1597  "Locate &Edges", "Shift+E", "Open a dialog for locating an Edge.",
1600  "Locate &Vehicles", "Shift+V", "Open a dialog for locating a Vehicle.",
1603  "Locate &Persons", "Shift+P", "Open a dialog for locating a Person.",
1606  "Locate &Route", "Shift+R", "Open a dialog for locating a Route.",
1609  "Locate &Stops", "Shift+S", "Open a dialog for locating a Stop.",
1612  "Locate &TLS", "Shift+T", "Open a dialog for locating a Traffic Light.",
1615  "Locate &Additional", "Shift+A", "Open a dialog for locating an Additional Structure.",
1618  "Locate P&oI", "Shift+O", "Open a dialog for locating a Point of Interest.",
1621  "Locate Po&lygon", "Shift+L", "Open a dialog for locating a Polygon.",
1623 }
1624 
1625 // ---------------------------------------------------------------------------
1626 // GNEApplicationWindowHelper::ToolsMenuCommands - methods
1627 // ---------------------------------------------------------------------------
1628 
1630  myGNEApp(GNEApp) {
1631 }
1632 
1633 
1634 void
1636  // build locate menu commands
1638  "&NetDiff", "", "Execute NETDIFF.",
1640 }
1641 
1642 // ---------------------------------------------------------------------------
1643 // GNEApplicationWindowHelper::WindowsMenuCommands - methods
1644 // ---------------------------------------------------------------------------
1645 
1647  myGNEApp(GNEApp) {
1648 }
1649 
1650 
1651 void
1652 GNEApplicationWindowHelper::WindowsMenuCommands::buildWindowsMenuCommands(FXMenuPane* windowsMenu, FXStatusBar* statusbar, GUIMessageWindow* messageWindow) {
1653  // build windows menu commands
1654  GUIDesigns::buildFXMenuCheckbox(windowsMenu,
1655  "Show Status Line", "Toggle this Status Bar on/off.",
1656  statusbar, FXWindow::ID_TOGGLESHOWN);
1657  GUIDesigns::buildFXMenuCheckbox(windowsMenu,
1658  "Show Message Window", "Toggle the Message Window on/off.",
1659  messageWindow, FXWindow::ID_TOGGLESHOWN);
1661  "Clear Message Window", "", "Clear the Message Window.",
1663 }
1664 
1665 // ---------------------------------------------------------------------------
1666 // GNEApplicationWindowHelper::NetworkCheckableButtons - methods
1667 // ---------------------------------------------------------------------------
1668 
1670  networkMode(nullptr),
1671  demandMode(nullptr),
1672  dataMode(nullptr),
1673  myGNEApp(GNEApp) {
1674 }
1675 
1676 
1677 void
1679  networkMode->show();
1680  demandMode->show();
1681  dataMode->show();
1682 }
1683 
1684 
1685 void
1687  networkMode->hide();
1688  demandMode->hide();
1689  dataMode->hide();
1690 }
1691 
1692 
1693 void
1695  // build supermode menu commands
1696  networkMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1697  "&Network mode", "F2", "Select network mode.",
1699  demandMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1700  "&Demand mode", "F3", "Select demand mode.",
1702  dataMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1703  "&Data mode", "F4", "Select data mode.",
1705 }
1706 
1707 // ---------------------------------------------------------------------------
1708 // GNEApplicationWindowHelper - methods
1709 // ---------------------------------------------------------------------------
1710 
1711 bool
1712 GNEApplicationWindowHelper::toggleEditOptionsNetwork(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, const int numericalKeyPressed, FXObject* obj, FXSelector sel) {
1713  // finally function correspond to visibleMenuCommands[numericalKeyPressed]
1714  if (menuCheck == viewNet->getNetworkViewOptions().menuCheckToggleGrid) {
1715  // Toggle menuCheckToggleGrid
1716  if (viewNet->getNetworkViewOptions().menuCheckToggleGrid->amChecked() == TRUE) {
1717  // show extra information for tests
1718  WRITE_DEBUG("Disabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
1719  } else {
1720  // show extra information for tests
1721  WRITE_DEBUG("Enabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
1722  }
1723  // Call manually onCmdToggleShowGrid
1724  viewNet->onCmdToggleShowGrid(obj, sel, nullptr);
1725  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckDrawSpreadVehicles) {
1726  // Toggle menuCheckDrawSpreadVehicles
1727  if (viewNet->getNetworkViewOptions().menuCheckDrawSpreadVehicles->amChecked() == TRUE) {
1728  // show extra information for tests
1729  WRITE_DEBUG("Disabled toggle draw spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
1730  } else {
1731  // show extra information for tests
1732  WRITE_DEBUG("Enabled toggle spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
1733  }
1734  // Call manually onCmdToggleDrawSpreadVehicles
1735  viewNet->onCmdToggleDrawSpreadVehicles(obj, sel, nullptr);
1736  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowDemandElements) {
1737  // Toggle menuCheckShowDemandElements
1738  if (viewNet->getNetworkViewOptions().menuCheckShowDemandElements->amChecked() == TRUE) {
1739  // show extra information for tests
1740  WRITE_DEBUG("Disabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
1741  } else {
1742  // show extra information for tests
1743  WRITE_DEBUG("Enabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
1744  }
1745  // Call manually onCmdToggleShowDemandElementsNetwork
1746  viewNet->onCmdToggleShowDemandElementsNetwork(obj, sel, nullptr);
1747  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckSelectEdges) {
1748  // Toggle menuCheckSelectEdges
1749  if (viewNet->getNetworkViewOptions().menuCheckSelectEdges->amChecked() == TRUE) {
1750  // show extra information for tests
1751  WRITE_DEBUG("Disabled select edges throught alt + " + toString(numericalKeyPressed + 1));
1752  } else {
1753  // show extra information for tests
1754  WRITE_DEBUG("Enabled select edges throught alt + " + toString(numericalKeyPressed + 1));
1755  }
1756  // Call manually onCmdToggleSelectEdges
1757  viewNet->onCmdToggleSelectEdges(obj, sel, nullptr);
1758  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowConnections) {
1759  // Toggle menuCheckShowConnections
1760  if (viewNet->getNetworkViewOptions().menuCheckShowConnections->amChecked() == TRUE) {
1761  // show extra information for tests
1762  WRITE_DEBUG("Disabled show connections throught alt + " + toString(numericalKeyPressed + 1));
1763  } else {
1764  // show extra information for tests
1765  WRITE_DEBUG("Enabled show connections throught alt + " + toString(numericalKeyPressed + 1));
1766  }
1767  // Call manually onCmdToggleShowConnections
1768  viewNet->onCmdToggleShowConnections(obj, sel, nullptr);
1769  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckHideConnections) {
1770  // Toggle menuCheckHideConnections
1771  if (viewNet->getNetworkViewOptions().menuCheckHideConnections->amChecked() == TRUE) {
1772  // show extra information for tests
1773  WRITE_DEBUG("Disabled hide connections throught alt + " + toString(numericalKeyPressed + 1));
1774  } else {
1775  // show extra information for tests
1776  WRITE_DEBUG("Enabled hide connections throught alt + " + toString(numericalKeyPressed + 1));
1777  }
1778  // Call manually onCmdToggleHideConnections
1779  viewNet->onCmdToggleHideConnections(obj, sel, nullptr);
1780  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowAdditionalSubElements) {
1781  // Toggle menuCheckShowAdditionalSubElements
1783  // show extra information for tests
1784  WRITE_DEBUG("Disabled show additional sub-elements throught alt + " + toString(numericalKeyPressed + 1));
1785  } else {
1786  // show extra information for tests
1787  WRITE_DEBUG("Enabled show additional sub-elements throught alt + " + toString(numericalKeyPressed + 1));
1788  }
1789  // Call manually onCmdToggleShowAdditionalSubElements
1790  viewNet->onCmdToggleShowAdditionalSubElements(obj, sel, nullptr);
1791  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckExtendSelection) {
1792  // Toggle menuCheckExtendSelection
1793  if (viewNet->getNetworkViewOptions().menuCheckExtendSelection->amChecked() == TRUE) {
1794  // show extra information for tests
1795  WRITE_DEBUG("Disabled extend selection throught alt + " + toString(numericalKeyPressed + 1));
1796  } else {
1797  // show extra information for tests
1798  WRITE_DEBUG("Enabled extend selection throught alt + " + toString(numericalKeyPressed + 1));
1799  }
1800  // Call manually onCmdToggleExtendSelection
1801  viewNet->onCmdToggleExtendSelection(obj, sel, nullptr);
1802  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckChangeAllPhases) {
1803  // Toggle menuCheckChangeAllPhases
1804  if (viewNet->getNetworkViewOptions().menuCheckChangeAllPhases->amChecked() == TRUE) {
1805  // show extra information for tests
1806  WRITE_DEBUG("Disabled change all phases throught alt + " + toString(numericalKeyPressed + 1));
1807  } else {
1808  // show extra information for tests
1809  WRITE_DEBUG("Enabled change all phases throught alt + " + toString(numericalKeyPressed + 1));
1810  }
1811  // Call manually onCmdToggleChangeAllPhases
1812  viewNet->onCmdToggleChangeAllPhases(obj, sel, nullptr);
1813  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckWarnAboutMerge) {
1814  // Toggle menuCheckWarnAboutMerge
1815  if (viewNet->getNetworkViewOptions().menuCheckWarnAboutMerge->amChecked() == TRUE) {
1816  // show extra information for tests
1817  WRITE_DEBUG("Disabled warn about merge throught alt + " + toString(numericalKeyPressed + 1));
1818  } else {
1819  // show extra information for tests
1820  WRITE_DEBUG("Enabled warn about merge throught alt + " + toString(numericalKeyPressed + 1));
1821  }
1822  // Call manually onCmdToggleWarnAboutMerge
1823  viewNet->onCmdToggleWarnAboutMerge(obj, sel, nullptr);
1824  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowJunctionBubble) {
1825  // Toggle menuCheckShowJunctionBubble
1826  if (viewNet->getNetworkViewOptions().menuCheckShowJunctionBubble->amChecked() == TRUE) {
1827  // show extra information for tests
1828  WRITE_DEBUG("Disabled show junction as bubble throught alt + " + toString(numericalKeyPressed + 1));
1829  } else {
1830  // show extra information for tests
1831  WRITE_DEBUG("Enabled show junction as bubble throught alt + " + toString(numericalKeyPressed + 1));
1832  }
1833  // Call manually onCmdToggleShowJunctionBubble
1834  viewNet->onCmdToggleShowJunctionBubbles(obj, sel, nullptr);
1835  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckMoveElevation) {
1836  // Toggle menuCheckMoveElevation
1837  if (viewNet->getNetworkViewOptions().menuCheckMoveElevation->amChecked() == TRUE) {
1838  // show extra information for tests
1839  WRITE_DEBUG("Disabled move elevation throught alt + " + toString(numericalKeyPressed + 1));
1840  } else {
1841  // show extra information for tests
1842  WRITE_DEBUG("Enabled move elevation throught alt + " + toString(numericalKeyPressed + 1));
1843  }
1844  // Call manually onCmdToggleMoveElevation
1845  viewNet->onCmdToggleMoveElevation(obj, sel, nullptr);
1846  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckChainEdges) {
1847  // Toggle menuCheckChainEdges
1848  if (viewNet->getNetworkViewOptions().menuCheckChainEdges->amChecked() == TRUE) {
1849  // show extra information for tests
1850  WRITE_DEBUG("Disabled chain edges throught alt + " + toString(numericalKeyPressed + 1));
1851  } else {
1852  // show extra information for tests
1853  WRITE_DEBUG("Enabled chain edges throught alt + " + toString(numericalKeyPressed + 1));
1854  }
1855  // Call manually onCmdToggleChainEdges
1856  viewNet->onCmdToggleChainEdges(obj, sel, nullptr);
1857  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckAutoOppositeEdge) {
1858  // Toggle menuCheckAutoOppositeEdge
1859  if (viewNet->getNetworkViewOptions().menuCheckAutoOppositeEdge->amChecked() == TRUE) {
1860  // show extra information for tests
1861  WRITE_DEBUG("Disabled auto opposite edge throught alt + " + toString(numericalKeyPressed + 1));
1862  } else {
1863  // show extra information for tests
1864  WRITE_DEBUG("Enabled auto opposite edge throught alt + " + toString(numericalKeyPressed + 1));
1865  }
1866  // Call manually onCmdToggleAutoOppositeEdge
1867  viewNet->onCmdToggleAutoOppositeEdge(obj, sel, nullptr);
1868  } else {
1869  return false;
1870  }
1871  return true;
1872 }
1873 
1874 
1875 bool
1876 GNEApplicationWindowHelper::toggleEditOptionsDemand(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, const int numericalKeyPressed, FXObject* obj, FXSelector sel) {
1877  if (menuCheck == viewNet->getDemandViewOptions().menuCheckToggleGrid) {
1878  // Toggle menuCheckToggleGrid
1879  if (viewNet->getDemandViewOptions().menuCheckToggleGrid->amChecked() == TRUE) {
1880  // show extra information for tests
1881  WRITE_DEBUG("Disabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
1882  } else {
1883  // show extra information for tests
1884  WRITE_DEBUG("Enabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
1885  }
1886  // Call manually onCmdToggleShowGrid
1887  viewNet->onCmdToggleShowGrid(obj, sel, nullptr);
1888  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckDrawSpreadVehicles) {
1889  // Toggle menuCheckDrawSpreadVehicles
1890  if (viewNet->getDemandViewOptions().menuCheckDrawSpreadVehicles->amChecked() == TRUE) {
1891  // show extra information for tests
1892  WRITE_DEBUG("Disabled toggle draw spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
1893  } else {
1894  // show extra information for tests
1895  WRITE_DEBUG("Enabled toggle spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
1896  }
1897  // Call manually onCmdToggleDrawSpreadVehicles
1898  viewNet->onCmdToggleDrawSpreadVehicles(obj, sel, nullptr);
1899  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckHideShapes) {
1900  // Toggle menuCheckHideShapes
1901  if (viewNet->getDemandViewOptions().menuCheckHideShapes->amChecked() == TRUE) {
1902  // show extra information for tests
1903  WRITE_DEBUG("Disabled hide shapes throught alt + " + toString(numericalKeyPressed + 1));
1904  } else {
1905  // show extra information for tests
1906  WRITE_DEBUG("Enabled hide shapes throught alt + " + toString(numericalKeyPressed + 1));
1907  }
1908  // Call manually onCmdToggleHideShapes
1909  viewNet->onCmdToggleHideShapes(obj, sel, nullptr);
1910  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllTrips) {
1911  // Toggle menuCheckShowAllTrips
1912  if (viewNet->getDemandViewOptions().menuCheckShowAllTrips->amChecked() == TRUE) {
1913  // show extra information for tests
1914  WRITE_DEBUG("Disabled show all trips throught alt + " + toString(numericalKeyPressed + 1));
1915  } else {
1916  // show extra information for tests
1917  WRITE_DEBUG("Enabled show all trips throught alt + " + toString(numericalKeyPressed + 1));
1918  }
1919  // Call manually onCmdToggleShowTrips
1920  viewNet->onCmdToggleShowTrips(obj, sel, nullptr);
1921  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllPersonPlans) {
1922  // Toggle menuCheckShowAllPersonPlans
1923  if (viewNet->getDemandViewOptions().menuCheckShowAllPersonPlans->amChecked() == TRUE) {
1924  // show extra information for tests
1925  WRITE_DEBUG("Disabled show all person plans throught alt + " + toString(numericalKeyPressed + 1));
1926  } else {
1927  // show extra information for tests
1928  WRITE_DEBUG("Enabled show all person plans throught alt + " + toString(numericalKeyPressed + 1));
1929  }
1930  // Call manually onCmdToggleShowAllPersonPlans
1931  viewNet->onCmdToggleShowAllPersonPlans(obj, sel, nullptr);
1932  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckLockPerson) {
1933  // Toggle menuCheckShowAllPersonPlans
1934  if (viewNet->getDemandViewOptions().menuCheckLockPerson->amChecked() == TRUE) {
1935  // show extra information for tests
1936  WRITE_DEBUG("Disabled lock person plan throught alt + " + toString(numericalKeyPressed + 1));
1937  } else {
1938  // show extra information for tests
1939  WRITE_DEBUG("Enabled lock person plan throught alt + " + toString(numericalKeyPressed + 1));
1940  }
1941  // Call manually onCmdToggleLockPerson
1942  viewNet->onCmdToggleLockPerson(obj, sel, nullptr);
1943  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllContainerPlans) {
1944  // Toggle menuCheckShowAllContainerPlans
1946  // show extra information for tests
1947  WRITE_DEBUG("Disabled show all container plans throught alt + " + toString(numericalKeyPressed + 1));
1948  } else {
1949  // show extra information for tests
1950  WRITE_DEBUG("Enabled show all container plans throught alt + " + toString(numericalKeyPressed + 1));
1951  }
1952  // Call manually onCmdToggleShowAllContainerPlans
1953  viewNet->onCmdToggleShowAllContainerPlans(obj, sel, nullptr);
1954  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckLockContainer) {
1955  // Toggle menuCheckShowAllContainerPlans
1956  if (viewNet->getDemandViewOptions().menuCheckLockContainer->amChecked() == TRUE) {
1957  // show extra information for tests
1958  WRITE_DEBUG("Disabled lock container plan throught alt + " + toString(numericalKeyPressed + 1));
1959  } else {
1960  // show extra information for tests
1961  WRITE_DEBUG("Enabled lock container plan throught alt + " + toString(numericalKeyPressed + 1));
1962  }
1963  // Call manually onCmdToggleLockContainer
1964  viewNet->onCmdToggleLockContainer(obj, sel, nullptr);
1965  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckHideNonInspectedDemandElements) {
1966  // Toggle menuCheckHideNonInspectedDemandElements
1968  // show extra information for tests
1969  WRITE_DEBUG("Disabled hide non inspected demand elements throught alt + " + toString(numericalKeyPressed + 1));
1970  } else {
1971  // show extra information for tests
1972  WRITE_DEBUG("Enabled hide non inspected demand elements throught alt + " + toString(numericalKeyPressed + 1));
1973  }
1974  // Call manually onCmdToggleHideNonInspecteDemandElements
1975  viewNet->onCmdToggleHideNonInspecteDemandElements(obj, sel, nullptr);
1976 
1977  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowOverlappedRoutes) {
1978  // Toggle menuCheckShowOverlappedRoutes
1979  if (viewNet->getDemandViewOptions().menuCheckShowOverlappedRoutes->amChecked() == TRUE) {
1980  // show extra information for tests
1981  WRITE_DEBUG("Disabled show overlapped routes throught alt + " + toString(numericalKeyPressed + 1));
1982  } else {
1983  // show extra information for tests
1984  WRITE_DEBUG("Enabled show overlapped routes throught alt + " + toString(numericalKeyPressed + 1));
1985  }
1986  // Call manually onCmdToggleHideNonInspecteDemandElements
1987  viewNet->onCmdToggleShowOverlappedRoutes(obj, sel, nullptr);
1988  } else {
1989  return false;
1990  }
1991  return true;
1992 }
1993 
1994 
1995 bool
1996 GNEApplicationWindowHelper::toggleEditOptionsData(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, const int numericalKeyPressed, FXObject* obj, FXSelector sel) {
1997  if (menuCheck == viewNet->getDataViewOptions().menuCheckShowAdditionals) {
1998  // Toggle menuCheckHideShapes
1999  if (viewNet->getDataViewOptions().menuCheckShowAdditionals->amChecked() == TRUE) {
2000  // show extra information for tests
2001  WRITE_DEBUG("Disabled show additionals throught alt + " + toString(numericalKeyPressed + 1));
2002  } else {
2003  // show extra information for tests
2004  WRITE_DEBUG("Enabled show shapes throught alt + " + toString(numericalKeyPressed + 1));
2005  }
2006  // Call manually onCmdToggleShowAdditionals
2007  viewNet->onCmdToggleShowAdditionals(obj, sel, nullptr);
2008  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowShapes) {
2009  // Toggle menuCheckHideShapes
2010  if (viewNet->getDataViewOptions().menuCheckShowShapes->amChecked() == TRUE) {
2011  // show extra information for tests
2012  WRITE_DEBUG("Disabled show shapes throught alt + " + toString(numericalKeyPressed + 1));
2013  } else {
2014  // show extra information for tests
2015  WRITE_DEBUG("Enabled show shapes throught alt + " + toString(numericalKeyPressed + 1));
2016  }
2017  // Call manually onCmdToggleShowShapes
2018  viewNet->onCmdToggleShowShapes(obj, sel, nullptr);
2019  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowDemandElements) {
2020  // Toggle menuCheckShowDemandElements
2021  if (viewNet->getDataViewOptions().menuCheckShowDemandElements->amChecked() == TRUE) {
2022  // show extra information for tests
2023  WRITE_DEBUG("Disabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
2024  } else {
2025  // show extra information for tests
2026  WRITE_DEBUG("Enabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
2027  }
2028  // Call manually onCmdToggleShowDemandElementsData
2029  viewNet->onCmdToggleShowDemandElementsData(obj, sel, nullptr);
2030  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToogleTAZRelDrawing) {
2031  // Toggle menuCheckToogleTAZRelDrawing
2032  if (viewNet->getDataViewOptions().menuCheckToogleTAZRelDrawing->amChecked() == TRUE) {
2033  // show extra information for tests
2034  WRITE_DEBUG("Disabled toogle TAXRel drawing throught alt + " + toString(numericalKeyPressed + 1));
2035  } else {
2036  // show extra information for tests
2037  WRITE_DEBUG("Enabled toogle TAXRel drawing throught alt + " + toString(numericalKeyPressed + 1));
2038  }
2039  // Call manually onCmdToggleTAZRelDrawing
2040  viewNet->onCmdToggleTAZRelDrawing(obj, sel, nullptr);
2041  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToogleTAZDrawFill) {
2042  // Toggle menuCheckToogleTAZDrawFill
2043  if (viewNet->getDataViewOptions().menuCheckToogleTAZDrawFill->amChecked() == TRUE) {
2044  // show extra information for tests
2045  WRITE_DEBUG("Disabled toogle TAZ draw fill throught alt + " + toString(numericalKeyPressed + 1));
2046  } else {
2047  // show extra information for tests
2048  WRITE_DEBUG("Enabled toogle TAZ draw fill throught alt + " + toString(numericalKeyPressed + 1));
2049  }
2050  // Call manually onCmdToggleTAZDrawFill
2051  viewNet->onCmdToggleTAZDrawFill(obj, sel, nullptr);
2052  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToogleTAZRelOnlyFrom) {
2053  // Toggle menuCheckToogleTAZRelOnlyFrom
2054  if (viewNet->getDataViewOptions().menuCheckToogleTAZRelOnlyFrom->amChecked() == TRUE) {
2055  // show extra information for tests
2056  WRITE_DEBUG("Disabled toogle TAZRel only from throught alt + " + toString(numericalKeyPressed + 1));
2057  } else {
2058  // show extra information for tests
2059  WRITE_DEBUG("Enabled toogle TAZRel only from throught alt + " + toString(numericalKeyPressed + 1));
2060  }
2061  // Call manually onCmdToggleTAZRelOnlyFrom
2062  viewNet->onCmdToggleTAZRelOnlyFrom(obj, sel, nullptr);
2063  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToogleTAZRelOnlyTo) {
2064  // Toggle menuCheckToogleTAZRelOnlyTo
2065  if (viewNet->getDataViewOptions().menuCheckToogleTAZRelOnlyTo->amChecked() == TRUE) {
2066  // show extra information for tests
2067  WRITE_DEBUG("Disabled toogle TAZRel only to throught alt + " + toString(numericalKeyPressed + 1));
2068  } else {
2069  // show extra information for tests
2070  WRITE_DEBUG("Enabled toogle TAZRel only to throught alt + " + toString(numericalKeyPressed + 1));
2071  }
2072  // Call manually onCmdToggleTAZRelOnlyTo
2073  viewNet->onCmdToggleTAZRelOnlyTo(obj, sel, nullptr);
2074  } else {
2075  return false;
2076  }
2077  return true;
2078 }
2079 
2080 /****************************************************************************/
@ MID_GNE_TOOLBAREDIT_LOADADDITIONALS
load additionals in SUMO-GUI after press ctrl+T
Definition: GUIAppEnum.h:662
@ MID_GNE_NETWORKVIEWOPTIONS_AUTOOPPOSITEEDGES
automatically create opposite edge
Definition: GUIAppEnum.h:708
@ MID_HOTKEY_SHIFT_F7_ADJUST_PERSON_PLANS
Adjust person plans (start und end positions, arrival positions, etc.)
Definition: GUIAppEnum.h:222
@ MID_HOTKEY_SHIFT_F5_COMPUTEJUNCTIONS_VOLATILE
compute junctions with volatile options
Definition: GUIAppEnum.h:220
@ MID_HOTKEY_CTRL_SHIFT_B_SAVEDATAELEMENTS
save Data Elements
Definition: GUIAppEnum.h:159
@ MID_HOTKEY_F3_SUPERMODE_DEMAND
select demand supermode in NETEDIT
Definition: GUIAppEnum.h:187
@ MID_GNE_UNDOLISTDIALOG
open undo list dialog
Definition: GUIAppEnum.h:1302
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLPERSONPLANS
show all person plans
Definition: GUIAppEnum.h:738
@ MID_GNE_UNLOCK_ALLELEMENTS
unlock all element
Definition: GUIAppEnum.h:718
@ MID_GNE_DATAVIEWOPTIONS_TAZRELDRAWING
toogle TAZRel drawing
Definition: GUIAppEnum.h:760
@ MID_LOCATEPERSON
Locate person - button.
Definition: GUIAppEnum.h:359
@ MID_GNE_NETWORKVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
Definition: GUIAppEnum.h:684
@ MID_HOTKEY_CTRL_Y_REDO
Undo.
Definition: GUIAppEnum.h:117
@ MID_HOTKEY_CTRL_SHIFT_H_SAVEEDGETYPES
save Edge Types
Definition: GUIAppEnum.h:157
@ MID_GNE_NETWORKVIEWOPTIONS_MOVEELEVATION
move elevation instead of x,y
Definition: GUIAppEnum.h:704
@ MID_HOTKEY_S_MODES_SELECT
hotkey for mode selecting objects
Definition: GUIAppEnum.h:61
@ MID_LOCATEJUNCTION
Locate junction - button.
Definition: GUIAppEnum.h:349
@ MID_GNE_NETWORKVIEWOPTIONS_HIDECONNECTIONS
hide connections
Definition: GUIAppEnum.h:692
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWCONNECTIONS
show connections
Definition: GUIAppEnum.h:690
@ MID_GNE_SAVEALLELEMENTS
save all element
Definition: GUIAppEnum.h:630
@ MID_GNE_TOOLBAREDIT_LOADDEMAND
load demand in SUMO-GUI after press ctrl+T
Definition: GUIAppEnum.h:664
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYTO
toogle draz TAZRel only to
Definition: GUIAppEnum.h:766
@ MID_OPEN_CONFIG
Open configuration - ID.
Definition: GUIAppEnum.h:264
@ MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
Definition: GUIAppEnum.h:113
@ MID_GNE_LOCK_ALLELEMENTS
lock all element
Definition: GUIAppEnum.h:716
@ MID_HOTKEY_F7_JOIN_SELECTEDJUNCTIONS_ROUTES
join selected junctions in network mode and normalice demand element ids in demand mode
Definition: GUIAppEnum.h:195
@ MID_HOTKEY_CTRL_D_SINGLESIMULATIONSTEP_OPENDEMANDELEMENTS
Perform a single simulation step in SUMO and open Demand Elements in NETEDIT.
Definition: GUIAppEnum.h:85
@ MID_HOTKEY_F5_COMPUTE_NETWORK_DEMAND
compute Network in network mode and Demand elements in demand mode
Definition: GUIAppEnum.h:191
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKPERSON
lock person
Definition: GUIAppEnum.h:740
@ MID_HOTKEY_V_MODES_VEHICLE
hotkey for mode create vehicles
Definition: GUIAppEnum.h:67
@ MID_HOTKEY_F9_EDIT_VIEWSCHEME
open edit scheme menu
Definition: GUIAppEnum.h:199
@ MID_HOTKEY_E_MODES_EDGE_EDGEDATA
hotkey for mode adding edges AND edgeDatas
Definition: GUIAppEnum.h:49
@ MID_GNE_LOCK_SELECTEDELEMENTS
lock selected element
Definition: GUIAppEnum.h:720
@ MID_LOCATEPOLY
Locate polygons - button.
Definition: GUIAppEnum.h:369
@ MID_HOTKEY_CTRL_N_NEWNETWORK
create new empty newtork
Definition: GUIAppEnum.h:101
@ MID_HOTKEY_CTRL_SHIFT_S_SAVENETWORK_AS
save network as
Definition: GUIAppEnum.h:167
@ MID_GNE_NETWORKVIEWOPTIONS_ASKFORMERGE
ask before merging junctions
Definition: GUIAppEnum.h:700
@ MID_GNE_TOOLBARFILE_OPENFOREIGN
open foreign network
Definition: GUIAppEnum.h:628
@ MID_HOTKEY_CTRL_B_EDITBREAKPOINT_OPENDATAELEMENTS
Edit simulation breakpoints in SUMO and open Data Elements in NETEDIT.
Definition: GUIAppEnum.h:81
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWGRID
show grid
Definition: GUIAppEnum.h:728
@ MID_HOTKEY_CTRL_SHIFT_D_SAVEDEMANDELEMENTS
Save Demand Elements.
Definition: GUIAppEnum.h:161
@ MID_HOTKEY_CTRL_R_RELOAD
Reload the previously loaded simulation.
Definition: GUIAppEnum.h:107
@ MID_HOTKEY_CTRL_S_STOPSIMULATION_SAVENETWORK
Stop the simulation in SUMO and save network in NETEDIT.
Definition: GUIAppEnum.h:105
@ MID_GNE_NETWORKVIEWOPTIONS_CHAINEDGES
create edges in chain mode
Definition: GUIAppEnum.h:706
@ MID_GNE_TOOLBARFILE_SAVEDATA_AS
save data elements as
Definition: GUIAppEnum.h:644
@ MID_HOTKEY_F10_OPTIONSMENU
open options menu
Definition: GUIAppEnum.h:201
@ MID_HOTKEY_F11_FRONTELEMENT
set/clear front element
Definition: GUIAppEnum.h:203
@ MID_HOTKEY_R_MODES_CROSSING_ROUTE_EDGERELDATA
hotkey for mode editing crossing, routes and edge rel datas
Definition: GUIAppEnum.h:63
@ MID_HOTKEY_F8_CLEANINVALID_CROSSINGS_DEMANDELEMENTS
clean invalid crossings in network mode and demand elements in demand mode
Definition: GUIAppEnum.h:197
@ MID_GNE_DATAVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
Definition: GUIAppEnum.h:758
@ MID_HOTKEY_I_MODES_INSPECT
hotkey for mode inspecting object attributes
Definition: GUIAppEnum.h:55
@ MID_LOCATEADD
Locate addtional structure - button.
Definition: GUIAppEnum.h:365
@ MID_LOCATEPOI
Locate poi - button.
Definition: GUIAppEnum.h:367
@ MID_GNE_DEMANDVIEWOPTIONS_HIDESHAPES
hide shapes
Definition: GUIAppEnum.h:734
@ MID_HOTKEY_P_MODES_POLYGON_PERSON
hotkey for mode creating polygons
Definition: GUIAppEnum.h:59
@ MID_OPEN_NETWORK
Open network - ID.
Definition: GUIAppEnum.h:266
@ MID_GNE_TOOLBARFILE_SAVETLSPROGRAMS_AS
save TLS Programs as
Definition: GUIAppEnum.h:636
@ MID_GNE_DATAVIEWOPTIONS_SHOWADDITIONALS
show additionals
Definition: GUIAppEnum.h:754
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWBUBBLES
show junctions as bubbles
Definition: GUIAppEnum.h:702
@ MID_HOTKEY_Z_MODES_TAZ_TAZREL
hotkey for mode editing TAZ and TAZRel
Definition: GUIAppEnum.h:71
@ MID_HOTKEY_M_MODES_MOVE
hotkey for mode moving element
Definition: GUIAppEnum.h:57
@ MID_GNE_TOOLBARFILE_RELOAD_DEMANDELEMENTS
reload demand elements
Definition: GUIAppEnum.h:642
@ MID_GNE_NETWORKVIEWOPTIONS_EXTENDSELECTION
extend selection
Definition: GUIAppEnum.h:696
@ MID_HOTKEY_CTRL_I_EDITVIEWPORT
Open viewport editor.
Definition: GUIAppEnum.h:91
@ MID_RECENTFILE
Loads a file previously loaded.
Definition: GUIAppEnum.h:272
@ MID_HOTKEY_CTRL_J_SAVEJOINEDJUNCTIONS
save joined junctions
Definition: GUIAppEnum.h:95
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWSUBADDITIONALS
show sub-additionals
Definition: GUIAppEnum.h:694
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLCONTAINERPLANS
show all container plans
Definition: GUIAppEnum.h:742
@ MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW
Open a New Window.
Definition: GUIAppEnum.h:165
@ MID_HOTKEY_F4_SUPERMODE_DATA
select data supermode in NETEDIT
Definition: GUIAppEnum.h:189
@ MID_HOTKEY_F6_CLEAN_SOLITARYJUNCTIONS_UNUSEDROUTES
clean junctions without edges in network mode and unused routes in demand mode
Definition: GUIAppEnum.h:193
@ MID_LOCATESTOP
Locate stop - button.
Definition: GUIAppEnum.h:357
@ MID_HOTKEY_CTRL_K_OPENTLSPROGRAMS
Load file with TLS Programs.
Definition: GUIAppEnum.h:97
@ MID_GNE_LOCK_ELEMENT
lock element
Definition: GUIAppEnum.h:714
@ MID_HOTKEY_W_MODES_PROHIBITION
hotkey for mode editing connection prohibitions
Definition: GUIAppEnum.h:69
@ MID_CLEARMESSAGEWINDOW
Clear simulation output.
Definition: GUIAppEnum.h:331
@ MID_GNE_DATAVIEWOPTIONS_TAZDRAWFILL
toogle draz TAZ fill
Definition: GUIAppEnum.h:762
@ MID_GNE_TOOLBARFILE_RELOAD_ADDITIONALS
reload additionals
Definition: GUIAppEnum.h:634
@ MID_HOTKEY_A_MODES_ADDITIONAL_STOP
hotkey for mode editing additionals AND stops
Definition: GUIAppEnum.h:43
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
Definition: GUIAppEnum.h:686
@ MID_GNE_TOOLBARFILE_SAVEADDITIONALS_AS
save additionals as
Definition: GUIAppEnum.h:632
@ MID_GNE_TOOLBARFILE_SAVEEDGETYPES_AS
save edgeTypes as
Definition: GUIAppEnum.h:638
@ MID_HOTKEY_H_MODE_CONTAINERDATA
hotkey for mode containerData
Definition: GUIAppEnum.h:53
@ MID_GNE_DEMANDVIEWOPTIONS_HIDENONINSPECTED
hide non-inspected demand element
Definition: GUIAppEnum.h:732
@ MID_HOTKEY_C_MODES_CONNECT_PERSONPLAN
hotkey for mode connecting lanes
Definition: GUIAppEnum.h:45
@ MID_HOTKEY_CTRL_SHIFT_A_SAVEADDITIONALS
Save Additional Elements.
Definition: GUIAppEnum.h:155
@ MID_LOCATEEDGE
Locate edge - button.
Definition: GUIAppEnum.h:351
@ MID_HOTKEY_G_MODE_CONTAINER
hotkey for mode container
Definition: GUIAppEnum.h:51
@ MID_GNE_NETWORKVIEWOPTIONS_CHANGEALLPHASES
change all phases
Definition: GUIAppEnum.h:698
@ MID_HOTKEY_CTRL_A_STARTSIMULATION_OPENADDITIONALS
Start the simulation in SUMO and open Additionals Elemements in NETEDIT.
Definition: GUIAppEnum.h:79
@ MID_GNE_DATAVIEWOPTIONS_SHOWSHAPES
show shapes
Definition: GUIAppEnum.h:756
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYFROM
toogle draz TAZRel only from
Definition: GUIAppEnum.h:764
@ MID_GNE_TOOLBARTOOLS_NETDIFF
call tool netdiff
Definition: GUIAppEnum.h:654
@ MID_LOCATEVEHICLE
Locate vehicle - button.
Definition: GUIAppEnum.h:353
@ MID_LOCATETLS
Locate TLS - button.
Definition: GUIAppEnum.h:363
@ MID_GNE_TOOLBARFILE_SAVEDEMAND_AS
save demand elements as
Definition: GUIAppEnum.h:640
@ MID_GNE_DEMANDVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
Definition: GUIAppEnum.h:730
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWOVERLAPPEDROUTES
show overlapped routes
Definition: GUIAppEnum.h:746
@ MID_HOTKEY_CTRL_Z_UNDO
Redo.
Definition: GUIAppEnum.h:119
@ MID_GNE_TOOLBARFILE_RELOAD_DATAELEMENTS
reload data elements
Definition: GUIAppEnum.h:646
@ MID_HOTKEY_CTRL_SHIFT_K_SAVETLS
save TLS Programs
Definition: GUIAppEnum.h:163
@ MID_HOTKEY_F2_SUPERMODE_NETWORK
select network supermode in NETEDIT
Definition: GUIAppEnum.h:185
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKCONTAINER
lock container
Definition: GUIAppEnum.h:744
@ MID_HOTKEY_D_MODES_DELETE
hotkey for mode deleting things
Definition: GUIAppEnum.h:47
@ MID_HOTKEY_T_MODES_TLS_TYPE
hotkey for mode editing TLS AND types
Definition: GUIAppEnum.h:65
@ MID_GNE_NETWORKVIEWOPTIONS_SELECTEDGES
select edges
Definition: GUIAppEnum.h:688
@ MID_HOTKEY_CTRL_H_OPENEDGETYPES
open edge type files
Definition: GUIAppEnum.h:89
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWTRIPS
show all trips
Definition: GUIAppEnum.h:736
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEGRID
show grid
Definition: GUIAppEnum.h:682
@ MID_LOCATEROUTE
Locate route - button.
Definition: GUIAppEnum.h:355
@ MID_HOTKEY_CTRL_L_SAVEASPLAINXML
save network as plain XML
Definition: GUIAppEnum.h:99
@ MID_HOTKEY_CTRL_T_OPENSUMONETEDIT
Open current network in SUMO or in NETEDIT.
Definition: GUIAppEnum.h:109
#define GUIDesignToolbarMenuBarNetedit
design for top toolbar (file, edit, processing...) used only in netedit (due supermodes buttons)
Definition: GUIDesigns.h:366
#define GUIDesignToolBarGrip
design for toolbar grip (used to change the position of toolbar with mouse)
Definition: GUIDesigns.h:381
#define GUIDesignToolBar
design for default toolbar
Definition: GUIDesigns.h:369
#define GUIDesignToolBarRaisedNext
design for first toolbar shell positioned in the next position of dock
Definition: GUIDesigns.h:375
#define GUIDesignToolBarRaisedSame
design for toolbar
Definition: GUIDesigns.h:372
@ CLEANJUNCTIONS
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
@ SAVEALLELEMENTS
@ NETWORKMODE_CHECKBOX_BUBBLES
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
@ MODEPERSONPLAN
@ TRANSPORT_FROMTO
@ MODECROSSING
@ MODEADDITIONAL
@ MODEEDGERELDATA
@ EDITVIEWPORT
@ SUPERMODEDEMAND
@ CLEARMESSAGEWINDOW
@ MODEPROHIBITION
@ DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS
@ NETWORKMODE_CHECKBOX_HIDECONNECTIONS
@ DEMANDMODE_CHECKBOX_SHOWTRIPS
@ OPEN_ADDITIONALS
@ DATAMODE_CHECKBOX_SHOWSHAPES
@ NETWORKMODE_CHECKBOX_SELECTEDGES
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
@ COMPUTEJUNCTIONS
@ DEMANDMODE_CHECKBOX_LOCKPERSON
@ LOCATEVEHICLE
@ FRONTELEMENT
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
@ TRANSHIP_FROMTO
@ MODECREATEEDGE
@ DATAMODE_CHECKBOX_TAZRELONLYTO
@ NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS
@ LOCATEPERSON
@ DATAMODE_CHECKBOX_TAZRELDRAWING
@ NETWORKMODE_CHECKBOX_SHOWCONNECTIONS
@ LOCK_SELECTED
@ DEMANDMODE_CHECKBOX_SHOWPERSONPLANS
@ MODECONTAINER
@ DEMANDMODE_CHECKBOX_HIDESHAPES
@ SAVEDATAELEMENTS
@ DATAMODE_CHECKBOX_TAZDRAWFILL
@ MODEEDGEDATA
@ NETWORKMODE_CHECKBOX_ELEVATION
@ TOOL_NETDIFF
@ SUPERMODENETWORK
@ COMMONMODE_CHECKBOX_SPREADVEHICLE
@ ADJUSTPERSONPLANS
@ DEMANDMODE_CHECKBOX_LOCKCONTAINER
@ NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS
@ SAVEDEMANDELEMENTS
@ SUPERMODEDATA
@ PERSONTRIP_FROMTO
@ SAVEADDITIONALELEMENTS
@ MODECONNECTION
@ LOCATEJUNCTION
@ MODECONTAINERPLAN
@ NETWORKMODE_CHECKBOX_CHAIN
@ COMPUTEDEMAND
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ NETWORKMODE_CHECKBOX_ASKFORMERGE
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ OPEN_TLSPROGRAMS
@ JOINJUNCTIONS
@ MODETAZRELDATA
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
#define WRITE_DEBUG(msg)
Definition: MsgHandler.h:290
@ SUMO_TAG_EDGEREL
a relation between two edges
@ SUMO_TAG_TAZ
a traffic assignment zone
@ SUMO_TAG_POI
begin/end of the description of a Point of interest
@ SUMO_TAG_CONNECTION
connectio between two lanes
@ SUMO_TAG_JUNCTION
begin/end of the description of a junction
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
@ SUMO_TAG_MEANDATA_EDGE
an edge based mean data detector
@ SUMO_TAG_POLY
begin/end of the description of a polygon
@ SUMO_TAG_LANE
begin/end of the description of a single lane
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ SUMO_TAG_EDGE
begin/end of the description of an edge
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:46
The main window of the Netedit.
const GNETagProperties & getTagProperty() const
get tagProperty associated with this Attribute Carrier
bool isTransportPlan() const
return true if tag correspond to a transport
bool isContainer() const
return true if tag correspond to a container element
bool isTranshipPlan() const
return true if tag correspond to a tranship
bool isRoute() const
return true if tag correspond to a route element
bool isVehicle() const
return true if tag correspond to a vehicle element
bool isStop() const
return true if tag correspond to a stop element
bool isPersonTrip() const
return true if tag correspond to a person trip
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
bool isRide() const
return true if tag correspond to a ride element
bool isStopPerson() const
return true if tag correspond to a person stop element
bool isWalk() const
return true if tag correspond to a walk element
bool isAdditionalElement() const
return true if tag correspond to an additional element
bool isPerson() const
return true if tag correspond to a person element
long onCmdToggleShowDemandElementsNetwork(FXObject *, FXSelector, void *)
toggle show demand elements (network)
const GNEViewNetHelper::DataViewOptions & getDataViewOptions() const
get data view options
Definition: GNEViewNet.cpp:537
long onCmdToggleShowDemandElementsData(FXObject *, FXSelector, void *)
toggle show demand elements (data)
long onCmdToggleTAZDrawFill(FXObject *, FXSelector, void *)
toggle TAZdrawFill
long onCmdToggleWarnAboutMerge(FXObject *, FXSelector, void *)
toggle warn for merge
long onCmdToggleDrawSpreadVehicles(FXObject *, FXSelector, void *)
toggle draw vehicles in begin position or spread in lane
long onCmdToggleShowConnections(FXObject *, FXSelector, void *)
toggle show connections
long onCmdToggleMoveElevation(FXObject *, FXSelector, void *)
toggle move elevation
long onCmdToggleShowAllPersonPlans(FXObject *, FXSelector, void *)
toggle show all person plans in super mode demand
long onCmdToggleTAZRelOnlyTo(FXObject *, FXSelector, void *)
toggle TAZRez only to
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
Definition: GNEViewNet.cpp:525
long onCmdToggleChainEdges(FXObject *, FXSelector, void *)
toggle chain edges
long onCmdToggleLockContainer(FXObject *, FXSelector, void *)
toggle lock container in super mode demand
long onCmdToggleShowGrid(FXObject *, FXSelector, void *)
toggle show grid
long onCmdToggleHideNonInspecteDemandElements(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
long onCmdToggleShowShapes(FXObject *, FXSelector, void *)
toggle show shapes in super mode data
long onCmdToggleExtendSelection(FXObject *, FXSelector, void *)
toggle extend selection
long onCmdToggleShowOverlappedRoutes(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
long onCmdToggleAutoOppositeEdge(FXObject *, FXSelector, void *)
toggle autoOpposite edge
long onCmdToggleChangeAllPhases(FXObject *, FXSelector, void *)
toggle change all phases
long onCmdToggleTAZRelDrawing(FXObject *, FXSelector, void *)
toggle TAZRel drawing
long onCmdToggleShowJunctionBubbles(FXObject *, FXSelector, void *)
toggle show junction bubbles
long onCmdToggleShowAdditionalSubElements(FXObject *, FXSelector, void *)
toggle show additional sub-elements
long onCmdToggleShowAllContainerPlans(FXObject *, FXSelector, void *)
toggle show all container plans in super mode demand
long onCmdToggleTAZRelOnlyFrom(FXObject *, FXSelector, void *)
toggle TAZRez only from
long onCmdToggleShowAdditionals(FXObject *, FXSelector, void *)
toggle show additionals in super mode data
long onCmdToggleLockPerson(FXObject *, FXSelector, void *)
toggle lock person in super mode demand
long onCmdToggleSelectEdges(FXObject *, FXSelector, void *)
toggle select edges
long onCmdToggleShowTrips(FXObject *, FXSelector, void *)
toggle show all trips in super mode demand
long onCmdToggleHideShapes(FXObject *, FXSelector, void *)
toggle hide shapes in super mode demand
const GNEViewNetHelper::DemandViewOptions & getDemandViewOptions() const
get demand view options
Definition: GNEViewNet.cpp:531
long onCmdToggleHideConnections(FXObject *, FXSelector, void *)
toggle hide connections
static FXMenuCheckIcon * buildFXMenuCheckboxIcon(FXComposite *p, const std::string &text, const std::string &shortcut, const std::string &info, FXIcon *icon, FXObject *tgt, FXSelector sel)
build menu checkbox with icon
Definition: GUIDesigns.cpp:75
static FXMenuCommand * buildFXMenuCommandRecentFile(FXComposite *p, const std::string &text, FXObject *tgt, FXSelector sel)
build menu command (for recent files)
Definition: GUIDesigns.cpp:86
static FXMenuCommand * buildFXMenuCommand(FXComposite *p, const std::string &text, FXIcon *icon, FXObject *tgt, FXSelector sel)
build menu command
Definition: GUIDesigns.cpp:42
static FXMenuCheck * buildFXMenuCheckbox(FXComposite *p, const std::string &text, const std::string &info, FXObject *tgt, FXSelector sel)
build menu checkbox
Definition: GUIDesigns.cpp:64
static FXMenuCommand * buildFXMenuCommandShortcut(FXComposite *p, const std::string &text, const std::string &shortcut, const std::string &info, FXIcon *icon, FXObject *tgt, FXSelector sel)
build menu command
Definition: GUIDesigns.cpp:53
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
A logging window for the gui.
bool amChecked() const
check if this MFXCheckableButton is checked
static OptionsCont & getOptions()
Retrieves the options.
Definition: OptionsCont.cpp:58
DataViewOptions(GNEApplicationWindow *GNEApp)
default constructor
void buildDataViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
void buildDemandViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
DemandViewOptions(GNEApplicationWindow *GNEApp)
default constructor
NetworkViewOptions(GNEApplicationWindow *GNEApp)
default constructor
void buildNetworkViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
EditMenuCommands(GNEApplicationWindow *GNEApp)
constructor
DemandViewOptions demandViewOptions
demand view options
FXMenuCommand * openInSUMOGUI
FXMenuCommand for open in SUMO GUI.
NetworkViewOptions networkViewOptions
network view options
FXMenuCommand * editViewScheme
FXMenuCommand for edit view scheme.
void buildUndoRedoMenuCommands(FXMenuPane *editMenu)
build undo-redo menu commands
void buildViewMenuCommands(FXMenuPane *editMenu)
build view menu commands
FXMenuCommand * openUndolistDialog
FXMenuCommand for open undolist dialgo.
GNEApplicationWindow * myGNEApp
pointer to current GNEApplicationWindows
FXMenuCheck * loadAdditionalsInSUMOGUI
menu check for load additionals in SUMO GUI
FXMenuCommand * undoLastChange
FXMenuCommand for undo last change.
FXMenuCheck * loadDemandInSUMOGUI
menu check for load demand in SUMO GUI
FXMenuCommand * redoLastChange
FXMenuCommand for redo last change.
void buildOpenSUMOMenuCommands(FXMenuPane *editMenu)
build open sumo menu commands
FXMenuCommand * editViewPort
FXMenuCommand for edit view port.
void buildFrontElementMenuCommand(FXMenuPane *editMenu)
build front element commands
FXMenuCommand * clearFrontElement
FXMenuCommand for clear Front element.
FileMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void buildFileMenuCommands(FXMenuPane *fileMenu, FXMenuPane *fileMenuTLS, FXMenuPane *fileMenuEdgeTypes, FXMenuPane *fileMenuAdditionals, FXMenuPane *fileMenuDemandElements, FXMenuPane *fileMenuDataElements)
build menu commands
void buildLocateMenuCommands(FXMenuPane *locateMenu)
build menu commands
LocateMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void buildLockMenuCommands(FXMenuPane *editMenu)
build menu commands
void hideNetworkLockMenuCommands()
show network processing menu commands
void hideDemandLockMenuCommands()
show demand processing menu commands
void hideDataLockMenuCommands()
show data processing menu commands
void showDataLockMenuCommands()
show data processing menu commands
LockMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void showNetworkLockMenuCommands()
show network processing menu commands
FXHotKey parseHotKey(const FXwchar character)
Parse hot key from string.
void showDemandLockMenuCommands()
show demand processing menu commands
void editLocking(const GNEAttributeCarrier *AC, const FXbool value)
lock or unlock object based in a tag property
void buildRecentFiles(FXMenuPane *fileMenu)
build recent files
MenuBarFile(GNEApplicationWindow *GNEApp)
constructor
CommonMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
void buildDataMenuCommands(FXMenuPane *modesMenu)
build menu commands
DataMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
DemandMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
NetworkMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
CommonMenuCommands commonMenuCommands
Common Menu Commands.
GNEApplicationWindow * myGNEApp
pointer to current GNEApplicationWindows
void buildModesMenuCommands(FXMenuPane *modesMenu)
build modes menu commands
ModesMenuCommands(GNEApplicationWindow *GNEApp)
constructor
DemandMenuCommands demandMenuCommands
Demand Menu Commands.
DataMenuCommands dataMenuCommands
Data Menu Commands.
NetworkMenuCommands networkMenuCommands
Network Menu Commands.
void showDataProcessingMenuCommands()
show data processing menu commands
void showDemandProcessingMenuCommands()
show demand processing menu commands
void hideDemandProcessingMenuCommands()
show demand processing menu commands
void hideDataProcessingMenuCommands()
show data processing menu commands
void showNetworkProcessingMenuCommands()
show network processing menu commands
void buildProcessingMenuCommands(FXMenuPane *editMenu)
build menu commands
ProcessingMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void hideNetworkProcessingMenuCommands()
show network processing menu commands
void buildSupermodeCommands(FXMenuPane *editMenu)
build menu commands
SupermodeCommands(GNEApplicationWindow *GNEApp)
constructor
void buildMenuToolbarsGrip()
build menu toolbar grips
ToolbarsGrip(GNEApplicationWindow *GNEApp)
constructor
ToolsMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void buildToolsMenuCommands(FXMenuPane *locateMenu)
build menu commands
WindowsMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void buildWindowsMenuCommands(FXMenuPane *windowsMenu, FXStatusBar *statusbar, GUIMessageWindow *messageWindow)
build menu commands
static bool toggleEditOptionsData(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, const int numericalKeyPressed, FXObject *obj, FXSelector sel)
toggle edit options Data menu commands (called in GNEApplicationWindow::onCmdToggleEditOptions)
static bool toggleEditOptionsDemand(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, const int numericalKeyPressed, FXObject *obj, FXSelector sel)
toggle edit options Demand menu commands (called in GNEApplicationWindow::onCmdToggleEditOptions)
static bool toggleEditOptionsNetwork(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, const int numericalKeyPressed, FXObject *obj, FXSelector sel)
toggle edit options Network menu commands (called in GNEApplicationWindow::onCmdToggleEditOptions)
MFXCheckableButton * menuCheckShowAdditionals
menu check to show Additionals
MFXCheckableButton * menuCheckShowShapes
menu check to show Shapes
MFXCheckableButton * menuCheckToogleTAZRelOnlyTo
menu check to toogle TAZRel only to
MFXCheckableButton * menuCheckShowDemandElements
menu check to show Demand Elements
MFXCheckableButton * menuCheckToogleTAZRelOnlyFrom
menu check to toogle TAZRel only from
MFXCheckableButton * menuCheckToogleTAZDrawFill
menu check to toogle TAZ draw fill
MFXCheckableButton * menuCheckToogleTAZRelDrawing
menu check to toogle TAZ Rel drawing
MFXCheckableButton * menuCheckShowAllTrips
show all trips
MFXCheckableButton * menuCheckToggleGrid
menu check to show grid button
MFXCheckableButton * menuCheckDrawSpreadVehicles
menu check to draw vehicles in begin position or spread in lane
MFXCheckableButton * menuCheckShowOverlappedRoutes
show overlapped routes
MFXCheckableButton * menuCheckShowAllPersonPlans
show all person plans
MFXCheckableButton * menuCheckShowAllContainerPlans
show all container plans
MFXCheckableButton * menuCheckHideNonInspectedDemandElements
Hide non inspected demand elements.
MFXCheckableButton * menuCheckHideShapes
Hide shapes (Polygons and POIs)
MFXCheckableButton * menuCheckLockPerson
Lock Person.
MFXCheckableButton * menuCheckLockContainer
Lock Container.
MFXCheckableButton * menuCheckSelectEdges
checkable button to select only edges
MFXCheckableButton * menuCheckChainEdges
checkable button to the endpoint for a created edge should be set as the new source
MFXCheckableButton * menuCheckShowDemandElements
checkable button to show Demand Elements
MFXCheckableButton * menuCheckMoveElevation
checkable button to apply movement to elevation
MFXCheckableButton * menuCheckAutoOppositeEdge
check checkable to create auto create opposite edge
MFXCheckableButton * menuCheckDrawSpreadVehicles
checkable button to draw vehicles in begin position or spread in lane
MFXCheckableButton * menuCheckShowConnections
checkable button to show connections
MFXCheckableButton * menuCheckHideConnections
checkable button to hide connections in connect mode
MFXCheckableButton * menuCheckToggleGrid
checkable button to show grid button
MFXCheckableButton * menuCheckShowJunctionBubble
checkable button to show connection as buuble in "Move" mode.
MFXCheckableButton * menuCheckWarnAboutMerge
checkable button to we should warn about merging junctions
MFXCheckableButton * menuCheckShowAdditionalSubElements
checkable button to show additional sub-elements
MFXCheckableButton * menuCheckChangeAllPhases
checkable button to set change all phases
MFXCheckableButton * menuCheckExtendSelection
checkable button to extend to edge nodes