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 /****************************************************************************/
25 
26 #include "GNEApplicationWindow.h"
27 #include "GNEViewNet.h"
28 
29 // ===========================================================================
30 // GNEApplicationWindowHelper::ToolbarsGrip method definitions
31 // ===========================================================================
32 
34  menu(nullptr),
35  superModes(nullptr),
36  saveElements(nullptr),
37  navigation(nullptr),
38  modes(nullptr),
39  intervalBar(nullptr),
40  myGNEApp(GNEApp),
41  myToolBarShellMenu(nullptr),
42  myToolBarShellSuperModes(nullptr),
43  myToolBarShellSaveElements(nullptr),
44  myToolBarShellNavigation(nullptr),
45  myToolBarShellModes(nullptr),
46  myToolBarShellIntervalBar(nullptr) {
47 }
48 
49 
50 void
52  // build menu bar (for File, edit, processing...) using specify design
53  myToolBarShellMenu = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
54  menu = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellMenu, GUIDesignToolbarMenuBarNetedit);
55  // declare toolbar grip for menu bar
56  new FXToolBarGrip(menu, menu, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
57 }
58 
59 
60 void
62  // build menu bar for supermodes (next to menu bar)
63  myToolBarShellSuperModes = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
64  superModes = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellSuperModes, GUIDesignToolBarRaisedSame);
65  // declare toolbar grip for menu bar superModes
66  new FXToolBarGrip(superModes, superModes, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
67  // build menu bar for save elements (bot to menu bar)
68  myToolBarShellSaveElements = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
69  saveElements = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellSaveElements, GUIDesignToolBarRaisedNext);
70  // declare toolbar grip for menu bar saveElements
71  new FXToolBarGrip(saveElements, saveElements, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
72  // build menu bar for navigation
73  myToolBarShellNavigation = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
74  navigation = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellNavigation, GUIDesignToolBarRaisedSame);
75  // declare toolbar grip for menu bar navigation
76  new FXToolBarGrip(navigation, navigation, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
77  // build menu bar for modes
78  myToolBarShellModes = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
79  // create modes depending of option "gui-testing" (note: Used for NETEDIT test)
80  if (OptionsCont::getOptions().getBool("gui-testing")) {
81  modes = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellModes, GUIDesignToolBarRaisedNext);
82  } else {
83  modes = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellModes, GUIDesignToolBarRaisedSame);
84  }
85  // declare toolbar grip for menu bar modes
86  new FXToolBarGrip(modes, modes, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
87  // build menu bar for interval
88  myToolBarShellIntervalBar = new FXToolBarShell(myGNEApp, GUIDesignToolBar);
89  intervalBar = new FXMenuBar(myGNEApp->getTopDock(), myToolBarShellIntervalBar, GUIDesignToolBarRaisedNext);
90  // declare toolbar grip for menu bar modes
91  new FXToolBarGrip(intervalBar, intervalBar, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
92  // create menu bars
93  superModes->create();
94  saveElements->create();
95  navigation->create();
96  modes->create();
97  intervalBar->create();
98  // create toolbar shells
99  myToolBarShellSuperModes->create();
100  myToolBarShellSaveElements->create();
101  myToolBarShellNavigation->create();
102  myToolBarShellModes->create();
103  myToolBarShellIntervalBar->create();
104  // recalc top dop after creating elements
105  myGNEApp->getTopDock()->recalc();
106 }
107 
108 
109 void
111  // delete Menu bars
112  delete superModes;
113  delete saveElements;
114  delete navigation;
115  delete modes;
116  delete intervalBar;
117  // also delete toolbar shells to avoid floating windows
118  delete myToolBarShellSuperModes;
119  delete myToolBarShellSaveElements;
120  delete myToolBarShellNavigation;
121  delete myToolBarShellModes;
122  delete myToolBarShellIntervalBar;
123  // recalc top dop after deleting elements
124  myGNEApp->getTopDock()->recalc();
125 }
126 
127 // ===========================================================================
128 // GNEApplicationWindowHelper::MenuBarFile method definitions
129 // ===========================================================================
130 
132  myRecentNetsAndConfigs(GNEApp->getApp(), "nets"),
133  myGNEApp(GNEApp)
134 { }
135 
136 
137 void
139  FXMenuSeparator* sep1 = new FXMenuSeparator(fileMenu); // NOSONAR, Fox does the cleanup
140  sep1->setSelector(FXRecentFiles::ID_ANYFILES);
141  // for whatever reason, sonar complains in the next line that sep1 may leak, but fox does the cleanup
142  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_1); // NOSONAR
143  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_2);
144  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_3);
145  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_4);
146  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_5);
147  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_6);
148  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_7);
149  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_8);
150  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_9);
151  GUIDesigns::buildFXMenuCommandRecentFile(fileMenu, "", &myRecentNetsAndConfigs, FXRecentFiles::ID_FILE_10);
152  GUIDesigns::buildFXMenuCommand(fileMenu, "Cl&ear Recent Files", nullptr, &myRecentNetsAndConfigs, FXRecentFiles::ID_CLEAR);
153  GUIDesigns::buildFXMenuCommand(fileMenu, "No Recent Files", nullptr, &myRecentNetsAndConfigs, MFXRecentNetworks::ID_NOFILES);
154  myRecentNetsAndConfigs.setTarget(myGNEApp);
155  myRecentNetsAndConfigs.setSelector(MID_RECENTFILE);
156 }
157 
158 // ---------------------------------------------------------------------------
159 // GNEApplicationWindowHelper::FileMenuCommands - methods
160 // ---------------------------------------------------------------------------
161 
163  myGNEApp(GNEApp) {
164 }
165 
166 
167 void
168 GNEApplicationWindowHelper::FileMenuCommands::buildFileMenuCommands(FXMenuPane* fileMenu, FXMenuPane* fileMenuSUMOConfig, FXMenuPane* fileMenuTLS,
169  FXMenuPane* fileMenuEdgeTypes, FXMenuPane* fileMenuAdditionals, FXMenuPane* fileMenuDemandElements, FXMenuPane* fileMenuDataElements) {
171  "&New Network", "Ctrl+N", "Create a new network.",
174  "New Window", "Ctrl+Shift+N", "Open a new netedit window.",
175  nullptr, myGNEApp, MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW);
176  new FXMenuSeparator(fileMenu);
178  "&Open Network...", "Ctrl+O", "Open a SUMO network.",
181  "Open Netconvert Configura&tion...", "Ctrl+Shift+O", "Open a configuration file with NETCONVERT options.",
184  "Load SUMOConfig...", "Ctrl+M", "Load programs for traffic lights in the current net.",
187  "Import &Foreign Network...", "", "Import a foreign network such as OSM.",
190  TL("&Reload"), "Ctrl+R", "Reload the network.",
193  "&Save Network", "Ctrl+S", "Save the network.",
196  "Save Net&work As...", "Ctrl+Shift+S", "Save the network to another file.",
199  "Save Plain XM&L...", "Ctrl+L", "Save plain XML representation the network.",
202  "Save &Joined Junctions...", "", "Save log of joined junctions (allows reproduction of joins).",
205  "Save All Elements", "", "Save all elements (network, additional, demand and data)",
207  // create SUMOConfig menu options
208  reloadSUMOConfig = GUIDesigns::buildFXMenuCommandShortcut(fileMenuSUMOConfig,
209  "Reload SUMOConfig", "", "Reload SUMOConfig.",
212  "Save SUMOConfig", "Ctrl+Shift+M", "Save sumo config.",
214  saveSUMOConfig->disable();
215  GUIDesigns::buildFXMenuCommandShortcut(fileMenuSUMOConfig,
216  "Save SUMOConfig As...", "", "Save sumo config in a new file.",
218  SUMOConfigMenuCascade = new FXMenuCascade(fileMenu, "SUMOConfig", GUIIconSubSys::getIcon(GUIIcon::SUMO_MINI), fileMenuSUMOConfig);
219  // create TLS menu options
221  "Load TLS Programs...", "Ctrl+K", "Load programs for traffic lights in the current net.",
223  reloadTLSPrograms = GUIDesigns::buildFXMenuCommandShortcut(fileMenuTLS,
224  "Reload TLS Programs", "", "Reload TLS Programs.",
226  saveTLSPrograms = GUIDesigns::buildFXMenuCommandShortcut(fileMenuTLS,
227  "Save TLS Programs", "Ctrl+Shift+K", "Save all traffic light programs of the current net.",
229  saveTLSPrograms->disable();
231  "Save TLS Programs As...", "", "Save all traffic light programs of the current net to another file.",
233  TLSMenuCascade = new FXMenuCascade(fileMenu, "Traffic Lights", GUIIconSubSys::getIcon(GUIIcon::MODETLS), fileMenuTLS);
234  // create edgeTypes menu options
235  GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
236  "Load Edge Types...", "Ctrl+H", "Load edge types in the current net.",
238  reloadEdgeTypes = GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
239  "Reload edge types", "", "Reload edge types.",
241  saveEdgeTypes = GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
242  "Save Edge Types", "Ctrl+Shift+H", "Save edge types of the current net.",
244  saveEdgeTypes->disable();
245  GUIDesigns::buildFXMenuCommandShortcut(fileMenuEdgeTypes,
246  "Save Edge Types As...", "", "Save edge types of the current net to another file.",
248  edgeTypesMenuCascade = new FXMenuCascade(fileMenu, "Edge Types", GUIIconSubSys::getIcon(GUIIcon::MODECREATEEDGE), fileMenuEdgeTypes);
249  // create Additionals menu options
250  GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
251  "Load Additionals...", "Ctrl+A", "Load additionals and shapes.",
253  reloadAdditionals = GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
254  "Reload Additionals", "", "Reload additionals.",
256  reloadAdditionals->disable();
257  saveAdditionals = GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
258  "Save Additionals", "Ctrl+Shift+A", "Save additionals and shapes.",
260  saveAdditionals->disable();
261  saveAdditionalsAs = GUIDesigns::buildFXMenuCommandShortcut(fileMenuAdditionals,
262  "Save Additionals As...", "", "Save additional elements to another file.",
264  saveAdditionalsAs->disable();
265  additionalMenuCascade = new FXMenuCascade(fileMenu, "Additionals and Shapes", GUIIconSubSys::getIcon(GUIIcon::MODEADDITIONAL), fileMenuAdditionals);
266  // create DemandElements menu options
267  GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
268  "Load Demand Elements...", "Ctrl+D", "Load demand elements.",
270  reloadDemandElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
271  "Reload Demand Elements", "", "Reload demand elements.",
273  reloadDemandElements->disable();
274  saveDemandElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
275  "Save Demand Elements", "Ctrl+Shift+D", "Save demand elements.",
277  saveDemandElements->disable();
278  saveDemandElementsAs = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDemandElements,
279  "Save Demand Elements As...", "", "Save demand elements to another file.",
281  saveDemandElementsAs->disable();
282  demandMenuCascade = new FXMenuCascade(fileMenu, "Demand Elements", GUIIconSubSys::getIcon(GUIIcon::SUPERMODEDEMAND), fileMenuDemandElements);
283  // create DataElements menu options
284  GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
285  "Load Data Elements...", "Ctrl+B", "Load data elements.",
287  reloadDataElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
288  "Reload Data Elements", "", "Reload data elements.",
290  reloadDataElements->disable();
291  saveDataElements = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
292  "Save Data Elements", "Ctrl+Shift+B", "Save data elements.",
294  saveDataElements->disable();
295  saveDataElementsAs = GUIDesigns::buildFXMenuCommandShortcut(fileMenuDataElements,
296  "Save Data Elements As...", "", "Save data elements to another file.",
298  saveDataElementsAs->disable();
299  dataMenuCascade = new FXMenuCascade(fileMenu, "Data Elements", GUIIconSubSys::getIcon(GUIIcon::SUPERMODEDATA), fileMenuDataElements);
300  // close network
301  new FXMenuSeparator(fileMenu);
303  "Close", "Ctrl+W", "Close the network.",
305 }
306 
307 // ---------------------------------------------------------------------------
308 // GNEApplicationWindowHelper::ModesMenuCommands::CommonMenuCommands - methods
309 // ---------------------------------------------------------------------------
310 
312  deleteMode(nullptr),
313  inspectMode(nullptr),
314  selectMode(nullptr),
315  myModesMenuCommandsParent(modesMenuCommandsParent) {
316 }
317 
318 
319 void
321  // build every FXMenuCommand giving it a shortcut
322  inspectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
323  TL("&Inspect"), "I", "Inspect elements and change their attributes.",
324  GUIIconSubSys::getIcon(GUIIcon::MODEINSPECT), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_I_MODE_INSPECT);
325  deleteMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
326  TL("&Delete"), "D", "Delete elements.",
327  GUIIconSubSys::getIcon(GUIIcon::MODEDELETE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_D_MODE_DELETE);
328  selectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
329  TL("&Select"), "S", "Select elements.",
330  GUIIconSubSys::getIcon(GUIIcon::MODESELECT), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_S_MODE_SELECT);
331 }
332 
333 // ---------------------------------------------------------------------------
334 // GNEApplicationWindowHelper::ModesMenuCommands::NetworkMenuCommands - methods
335 // ---------------------------------------------------------------------------
336 
338  createEdgeMode(nullptr),
339  moveMode(nullptr),
340  connectMode(nullptr),
341  prohibitionMode(nullptr),
342  TLSMode(nullptr),
343  additionalMode(nullptr),
344  crossingMode(nullptr),
345  TAZMode(nullptr),
346  shapeMode(nullptr),
347  wireMode(nullptr),
348  myModesMenuCommandsParent(modesMenuCommandsParent) {
349 }
350 
351 
352 void
354  createEdgeMode->show();
355  moveMode->show();
356  connectMode->show();
357  prohibitionMode->show();
358  TLSMode->show();
359  additionalMode->show();
360  crossingMode->show();
361  TAZMode->show();
362  shapeMode->show();
363  wireMode->show();
364 }
365 
366 
367 void
369  createEdgeMode->hide();
370  moveMode->hide();
371  connectMode->hide();
372  prohibitionMode->hide();
373  TLSMode->hide();
374  additionalMode->hide();
375  crossingMode->hide();
376  TAZMode->hide();
377  shapeMode->hide();
378  wireMode->hide();
379 }
380 
381 
382 void
384  // build every FXMenuCommand giving it a shortcut
385  moveMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
386  TL("&Move"), "M", "Move elements.",
387  GUIIconSubSys::getIcon(GUIIcon::MODEMOVE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_M_MODE_MOVE);
388  createEdgeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
389  TL("&Edge"), "E", "Create junction and edges.",
391  connectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
392  TL("&Connection"), "C", "Modes connections between lanes.",
394  prohibitionMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
395  TL("Pro&hibition"), "H", "Modes connection prohibitions.",
397  TLSMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
398  "&Traffic light", "T", "Modes traffic lights over junctions.",
399  GUIIconSubSys::getIcon(GUIIcon::MODETLS), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_T_MODE_TLS_TYPE);
400  additionalMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
401  TL("&Additional"), "A", "Create additional elements.",
403  crossingMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
404  TL("C&rossing"), "R", "Create crossings between edges.",
406  TAZMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
407  TL("TA&Z"), "Z", "Create Traffic Assignment Zones.",
408  GUIIconSubSys::getIcon(GUIIcon::MODETAZ), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_Z_MODE_TAZ_TAZREL);
409  shapeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
410  "&POI-Poly", "P", "Create Points-Of-Interest and polygons.",
411  GUIIconSubSys::getIcon(GUIIcon::MODESHAPE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_P_MODE_POLYGON_PERSON);
412  wireMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
413  TL("&Wire"), "W", "Create wires.",
414  GUIIconSubSys::getIcon(GUIIcon::MODEWIRE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_W_MODE_WIRE);
415 }
416 
417 // ---------------------------------------------------------------------------
418 // GNEApplicationWindowHelper::ModesMenuCommands::DemandMenuCommands - methods
419 // ---------------------------------------------------------------------------
420 
422  moveMode(nullptr),
423  routeMode(nullptr),
424  vehicleMode(nullptr),
425  typeMode(nullptr),
426  stopMode(nullptr),
427  personMode(nullptr),
428  personPlanMode(nullptr),
429  containerMode(nullptr),
430  containerPlanMode(nullptr),
431  myModesMenuCommandsParent(modesMenuCommandsParent) {
432 }
433 
434 
435 void
437  moveMode->show();
438  routeMode->show();
439  vehicleMode->show();
440  typeMode->show();
441  stopMode->show();
442  personMode->show();
443  personPlanMode->show();
444  containerMode->show();
445  containerPlanMode->show();
446 }
447 
448 
449 void
451  moveMode->hide();
452  routeMode->hide();
453  vehicleMode->hide();
454  typeMode->hide();
455  stopMode->hide();
456  personMode->hide();
457  personPlanMode->hide();
458  containerMode->hide();
459  containerPlanMode->hide();
460 }
461 
462 
463 void
465  // build every FXMenuCommand giving it a shortcut
466  moveMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
467  TL("&Move"), "M", "Move elements.",
468  GUIIconSubSys::getIcon(GUIIcon::MODEMOVE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_M_MODE_MOVE);
469  routeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
470  "Route", "R", "Create Routes.",
472  vehicleMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
473  "Vehicle", "V", "Create vehicles.",
474  GUIIconSubSys::getIcon(GUIIcon::MODEVEHICLE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_V_MODE_VEHICLE);
475  typeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
476  "Type", "T", "Create types (vehicles, person an containers).",
477  GUIIconSubSys::getIcon(GUIIcon::MODETYPE), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_T_MODE_TLS_TYPE);
478  stopMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
479  "Stop", "A", "Create stops.",
480  GUIIconSubSys::getIcon(GUIIcon::MODESTOP), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_A_MODE_ADDITIONAL_STOP);
481  personMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
482  "Person", "P", "Create persons.",
483  GUIIconSubSys::getIcon(GUIIcon::MODEPERSON), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_P_MODE_POLYGON_PERSON);
484  personPlanMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
485  "Person plan", "C", "Create person plans.",
487  containerMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
488  "Container", "G", "Create containers.",
489  GUIIconSubSys::getIcon(GUIIcon::MODECONTAINER), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_G_MODE_CONTAINER);
490  containerPlanMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
491  "Container plan", "H", "Create container plans.",
493 }
494 
495 // ---------------------------------------------------------------------------
496 // GNEApplicationWindowHelper::ModesMenuCommands::DataMenuCommands - methods
497 // ---------------------------------------------------------------------------
498 
500  edgeData(nullptr),
501  edgeRelData(nullptr),
502  TAZRelData(nullptr),
503  myModesMenuCommandsParent(modesMenuCommandsParent) {
504 }
505 
506 
507 void
509  edgeData->show();
510  edgeRelData->show();
511  TAZRelData->show();
512 }
513 
514 
515 void
517  edgeData->hide();
518  edgeRelData->hide();
519  TAZRelData->hide();
520 }
521 
522 
523 void
525  // build every FXMenuCommand giving it a shortcut
526  edgeData = GUIDesigns::buildFXMenuCommand(modesMenu,
527  "EdgeData Mode\tE\tCreate edgeData elements.",
528  GUIIconSubSys::getIcon(GUIIcon::MODEEDGEDATA), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_E_MODE_EDGE_EDGEDATA);
529  edgeRelData = GUIDesigns::buildFXMenuCommand(modesMenu,
530  "EdgeRelation Mode\tR\tCreate edgeRelation elements.",
532  TAZRelData = GUIDesigns::buildFXMenuCommand(modesMenu,
533  "TAZRelation Mode\tZ\tCreate TAZRelation elements.",
534  GUIIconSubSys::getIcon(GUIIcon::MODETAZRELDATA), myModesMenuCommandsParent->myGNEApp, MID_HOTKEY_Z_MODE_TAZ_TAZREL);
535 }
536 
537 // ---------------------------------------------------------------------------
538 // GNEApplicationWindowHelper::ModesMenuCommands - methods
539 // ---------------------------------------------------------------------------
540 
541 #ifdef _MSC_VER
542 #pragma warning(push)
543 /* Disable warning about using "this" in the constructor */
544 #pragma warning(disable: 4355)
545 #endif
547  commonMenuCommands(this),
548  networkMenuCommands(this),
549  demandMenuCommands(this),
550  dataMenuCommands(this),
551  myGNEApp(GNEApp) {
552 }
553 #ifdef _MSC_VER
554 #pragma warning(pop)
555 #endif
556 
557 
558 void
560  // build Common modes commands and hide it
561  commonMenuCommands.buildCommonMenuCommands(modesMenu);
562  // build Network modes commands and hide it
563  networkMenuCommands.buildNetworkMenuCommands(modesMenu);
564  networkMenuCommands.hideNetworkMenuCommands();
565  // build Demand Modes commands
566  demandMenuCommands.buildDemandMenuCommands(modesMenu);
567  demandMenuCommands.hideDemandMenuCommands();
568  // build Data Modes commands
569  dataMenuCommands.buildDataMenuCommands(modesMenu);
570  dataMenuCommands.hideDataMenuCommands();
571 }
572 
573 // ---------------------------------------------------------------------------
574 // GNEApplicationWindowHelper::EditMenuCommands::NetworkViewOptions - methods
575 // ---------------------------------------------------------------------------
576 
578  menuCheckToggleGrid(nullptr),
579  menuCheckToggleDrawJunctionShape(nullptr),
580  menuCheckDrawSpreadVehicles(nullptr),
581  menuCheckShowDemandElements(nullptr),
582  menuCheckSelectEdges(nullptr),
583  menuCheckShowConnections(nullptr),
584  menuCheckHideConnections(nullptr),
585  menuCheckShowAdditionalSubElements(nullptr),
586  menuCheckShowTAZElements(nullptr),
587  menuCheckExtendSelection(nullptr),
588  menuCheckChangeAllPhases(nullptr),
589  menuCheckWarnAboutMerge(nullptr),
590  menuCheckShowJunctionBubble(nullptr),
591  menuCheckMoveElevation(nullptr),
592  menuCheckChainEdges(nullptr),
593  menuCheckAutoOppositeEdge(nullptr),
594  separator(nullptr),
595  myGNEApp(GNEApp) {
596 }
597 
598 
599 void
601  // create menu checks
602  menuCheckToggleGrid = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
603  "Show grid", "Ctrl+G or Alt+1", "",
606 
607  menuCheckToggleDrawJunctionShape = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
608  "Hide junction shape", "Ctrl+J or Alt+2", "",
611 
612  menuCheckDrawSpreadVehicles = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
613  "Draw vehicles spread in lane or in depart position", "Alt+3", "",
616 
617  menuCheckShowDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
618  "Show demand elements", "Alt+4", "",
621 
622  menuCheckSelectEdges = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
623  "Clicking should target lanes", "Alt+5", "",
626 
627  menuCheckShowConnections = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
628  "Show connections over junctions", "Alt+6", "",
631 
632  menuCheckHideConnections = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
633  "Hide connections", "Alt+7", "",
636 
637  menuCheckShowAdditionalSubElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
638  "Show sub-additional elements", "Alt+8", "",
641 
642  menuCheckShowTAZElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
643  "Show TAZ elements", "Alt+9", "",
646 
647  menuCheckExtendSelection = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
648  "Selecting multiple edges automatically select their junctions", "Alt+10", "",
651 
652  menuCheckChangeAllPhases = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
653  "Clicking should apply state changes to all phases of TLS plan", "Alt+5", "",
656 
657  menuCheckWarnAboutMerge = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
658  "Ask for confirmation before merging junction", "Alt+5", "",
661 
662  menuCheckShowJunctionBubble = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
663  "Show bubbles over junctions shapes", "Alt+6", "",
666 
667  menuCheckMoveElevation = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
668  "Apply mouse movement to elevation", "Alt+7", "",
671 
672  menuCheckChainEdges = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
673  "Create consecutive edges", "Alt+5", "",
676 
677  menuCheckAutoOppositeEdge = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
678  "Create an edge in the opposite direction", "Alt+6", "",
681 
682  // build separator
683  separator = new FXMenuSeparator(editMenu);
684 }
685 
686 
687 void
689  menuCheckToggleGrid->hide();
690  menuCheckToggleDrawJunctionShape->hide();
691  menuCheckDrawSpreadVehicles->hide();
692  menuCheckShowDemandElements->hide();
693  menuCheckSelectEdges->hide();
694  menuCheckShowConnections->hide();
695  menuCheckHideConnections->hide();
696  menuCheckShowAdditionalSubElements->hide();
697  menuCheckShowTAZElements->hide();
698  menuCheckExtendSelection->hide();
699  menuCheckChangeAllPhases->hide();
700  menuCheckWarnAboutMerge->hide();
701  menuCheckShowJunctionBubble->hide();
702  menuCheckMoveElevation->hide();
703  menuCheckChainEdges->hide();
704  menuCheckAutoOppositeEdge->hide();
705  separator->hide();
706 }
707 
708 
709 void
711  int index = 2;
712  // update all accel text
713  if (menuCheckDrawSpreadVehicles->shown()) {
714  menuCheckDrawSpreadVehicles->setAccelText(("Alt+" + toString(index)).c_str());
715  index++;
716  }
717  if (menuCheckDrawSpreadVehicles->shown()) {
718  menuCheckDrawSpreadVehicles->setAccelText(("Alt+" + toString(index)).c_str());
719  index++;
720  }
721  if (menuCheckShowDemandElements->shown()) {
722  menuCheckShowDemandElements->setAccelText(("Alt+" + toString(index)).c_str());
723  index++;
724  }
725  if (menuCheckSelectEdges->shown()) {
726  menuCheckSelectEdges->setAccelText(("Alt+" + toString(index)).c_str());
727  index++;
728  }
729  if (menuCheckShowConnections->shown()) {
730  menuCheckShowConnections->setAccelText(("Alt+" + toString(index)).c_str());
731  index++;
732  }
733  if (menuCheckHideConnections->shown()) {
734  menuCheckHideConnections->setAccelText(("Alt+" + toString(index)).c_str());
735  index++;
736  }
737  if (menuCheckShowAdditionalSubElements->shown()) {
738  menuCheckShowAdditionalSubElements->setAccelText(("Alt+" + toString(index)).c_str());
739  index++;
740  }
741  if (menuCheckShowTAZElements->shown()) {
742  menuCheckShowTAZElements->setAccelText(("Alt+" + toString(index)).c_str());
743  index++;
744  }
745  if (menuCheckExtendSelection->shown()) {
746  menuCheckExtendSelection->setAccelText(("Alt+" + toString(index)).c_str());
747  index++;
748  }
749  if (menuCheckChangeAllPhases->shown()) {
750  menuCheckChangeAllPhases->setAccelText(("Alt+" + toString(index)).c_str());
751  index++;
752  }
753  if (menuCheckWarnAboutMerge->shown()) {
754  menuCheckWarnAboutMerge->setAccelText(("Alt+" + toString(index)).c_str());
755  index++;
756  }
757  if (menuCheckShowJunctionBubble->shown()) {
758  menuCheckShowJunctionBubble->setAccelText(("Alt+" + toString(index)).c_str());
759  index++;
760  }
761  if (menuCheckMoveElevation->shown()) {
762  menuCheckMoveElevation->setAccelText(("Alt+" + toString(index)).c_str());
763  index++;
764  }
765  if (menuCheckChainEdges->shown()) {
766  menuCheckChainEdges->setAccelText(("Alt+" + toString(index)).c_str());
767  index++;
768  }
769  if (menuCheckAutoOppositeEdge->shown()) {
770  menuCheckAutoOppositeEdge->setAccelText(("Alt+" + toString(index)).c_str());
771  index++;
772  }
773 }
774 
775 // ---------------------------------------------------------------------------
776 // GNEApplicationWindowHelper::DemandViewOptions - methods
777 // ---------------------------------------------------------------------------
778 
780  menuCheckToggleGrid(nullptr),
781  menuCheckToggleDrawJunctionShape(nullptr),
782  menuCheckDrawSpreadVehicles(nullptr),
783  menuCheckHideShapes(nullptr),
784  menuCheckShowAllTrips(nullptr),
785  menuCheckHideNonInspectedDemandElements(nullptr),
786  menuCheckShowOverlappedRoutes(nullptr),
787  menuCheckShowAllPersonPlans(nullptr),
788  menuCheckLockPerson(nullptr),
789  menuCheckShowAllContainerPlans(nullptr),
790  menuCheckLockContainer(nullptr),
791  separator(nullptr),
792  myGNEApp(GNEApp) {
793 }
794 
795 
796 void
798  // create menu checks
799  menuCheckToggleGrid = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
800  "Show grid", "Ctrl+G or Alt+1", "",
803 
804  menuCheckToggleDrawJunctionShape = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
805  "Hide junction shape", "Ctrl+J or Alt+2", "",
808 
809  menuCheckDrawSpreadVehicles = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
810  "Draw vehicles spread/depart position", "Alt+3", "",
813 
814  menuCheckHideShapes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
815  "Show shapes", "Alt+4", "",
818 
819  menuCheckShowAllTrips = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
820  "Show all trips", "Alt+5", "",
823 
824  menuCheckShowAllPersonPlans = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
825  "Show all person plans", "Alt+6", "",
828 
829  menuCheckLockPerson = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
830  "Lock selected person", "Alt+7", "",
833 
834  menuCheckShowAllContainerPlans = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
835  "Show all container plans", "Alt+6", "",
838 
839  menuCheckLockContainer = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
840  "Lock selected container", "Alt+7", "",
843 
844  menuCheckHideNonInspectedDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
845  "Show non-inspected demand elements", "Alt+8", "",
848 
849  menuCheckShowOverlappedRoutes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
850  "Show number of overlapped routes", "Alt+9", "",
853 
854  // build separator
855  separator = new FXMenuSeparator(editMenu);
856 }
857 
858 
859 void
861  menuCheckToggleGrid->hide();
862  menuCheckToggleDrawJunctionShape->hide();
863  menuCheckDrawSpreadVehicles->hide();
864  menuCheckHideShapes->hide();
865  menuCheckShowAllTrips->hide();
866  menuCheckHideNonInspectedDemandElements->hide();
867  menuCheckShowOverlappedRoutes->hide();
868  menuCheckShowAllPersonPlans->hide();
869  menuCheckLockPerson->hide();
870  menuCheckShowAllContainerPlans->hide();
871  menuCheckLockContainer->hide();
872  separator->hide();
873 }
874 
875 
876 void
878  int index = 2;
879  // update all accel text
880  if (menuCheckDrawSpreadVehicles->shown()) {
881  menuCheckDrawSpreadVehicles->setAccelText(("Alt+" + toString(index)).c_str());
882  index++;
883  }
884  if (menuCheckHideShapes->shown()) {
885  menuCheckHideShapes->setAccelText(("Alt+" + toString(index)).c_str());
886  index++;
887  }
888  if (menuCheckShowAllTrips->shown()) {
889  menuCheckShowAllTrips->setAccelText(("Alt+" + toString(index)).c_str());
890  index++;
891  }
892  if (menuCheckHideNonInspectedDemandElements->shown()) {
893  menuCheckHideNonInspectedDemandElements->setAccelText(("Alt+" + toString(index)).c_str());
894  index++;
895  }
896  if (menuCheckShowOverlappedRoutes->shown()) {
897  menuCheckShowOverlappedRoutes->setAccelText(("Alt+" + toString(index)).c_str());
898  index++;
899  }
900  if (menuCheckShowAllPersonPlans->shown()) {
901  menuCheckShowAllPersonPlans->setAccelText(("Alt+" + toString(index)).c_str());
902  index++;
903  }
904  if (menuCheckLockPerson->shown()) {
905  menuCheckLockPerson->setAccelText(("Alt+" + toString(index)).c_str());
906  index++;
907  }
908  if (menuCheckShowAllContainerPlans->shown()) {
909  menuCheckShowAllContainerPlans->setAccelText(("Alt+" + toString(index)).c_str());
910  index++;
911  }
912  if (menuCheckLockContainer->shown()) {
913  menuCheckLockContainer->setAccelText(("Alt+" + toString(index)).c_str());
914  index++;
915  }
916 }
917 
918 // ---------------------------------------------------------------------------
919 // GNEApplicationWindowHelper::EditMenuCommands::DataViewOptions - methods
920 // ---------------------------------------------------------------------------
921 
923  menuCheckToggleDrawJunctionShape(nullptr),
924  menuCheckShowAdditionals(nullptr),
925  menuCheckShowShapes(nullptr),
926  menuCheckShowDemandElements(nullptr),
927  menuCheckToggleTAZRelDrawing(nullptr),
928  menuCheckToggleTAZDrawFill(nullptr),
929  menuCheckToggleTAZRelOnlyFrom(nullptr),
930  menuCheckToggleTAZRelOnlyTo(nullptr),
931  separator(nullptr),
932  myGNEApp(GNEApp) {
933 }
934 
935 
936 void
938  // create menu checks
939  menuCheckToggleDrawJunctionShape = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
940  "Hide junction shape", "Ctrl+J or Alt+1", "",
943 
944  menuCheckShowAdditionals = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
945  "Show additionals", "Alt+2", "",
948 
949  menuCheckShowShapes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
950  "Show shapes", "Alt+3", "",
953 
954  menuCheckShowDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
955  "Show demand elements", "Alt+4", "",
958 
959  menuCheckToggleTAZRelDrawing = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
960  "Draw TAZRel from center", "Alt+5", "",
963 
964  menuCheckToggleTAZDrawFill = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
965  "Draw TAZ fill", "Alt+6", "",
968 
969  menuCheckToggleTAZRelOnlyFrom = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
970  "Only draw TAZRel from", "Alt+6", "",
973 
974  menuCheckToggleTAZRelOnlyTo = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
975  "Only draw TAZRel to", "Alt+7", "",
978  // build separator
979  separator = new FXMenuSeparator(editMenu);
980 }
981 
982 
983 void
985  menuCheckToggleDrawJunctionShape->hide();
986  menuCheckShowAdditionals->hide();
987  menuCheckShowShapes->hide();
988  menuCheckShowDemandElements->hide();
989  menuCheckToggleTAZRelDrawing->hide();
990  menuCheckToggleTAZDrawFill->hide();
991  menuCheckToggleTAZRelOnlyFrom->hide();
992  menuCheckToggleTAZRelOnlyTo->hide();
993  separator->hide();
994 }
995 
996 
997 void
999  int index = 2;
1000  // update all accel text
1001  if (menuCheckShowAdditionals->shown()) {
1002  menuCheckShowAdditionals->setAccelText(("Alt+" + toString(index)).c_str());
1003  index++;
1004  }
1005  if (menuCheckShowShapes->shown()) {
1006  menuCheckShowShapes->setAccelText(("Alt+" + toString(index)).c_str());
1007  index++;
1008  }
1009  if (menuCheckShowDemandElements->shown()) {
1010  menuCheckShowDemandElements->setAccelText(("Alt+" + toString(index)).c_str());
1011  index++;
1012  }
1013  if (menuCheckToggleTAZRelDrawing->shown()) {
1014  menuCheckToggleTAZRelDrawing->setAccelText(("Alt+" + toString(index)).c_str());
1015  index++;
1016  }
1017  if (menuCheckToggleTAZDrawFill->shown()) {
1018  menuCheckToggleTAZDrawFill->setAccelText(("Alt+" + toString(index)).c_str());
1019  index++;
1020  }
1021  if (menuCheckToggleTAZRelOnlyFrom->shown()) {
1022  menuCheckToggleTAZRelOnlyFrom->setAccelText(("Alt+" + toString(index)).c_str());
1023  index++;
1024  }
1025  if (menuCheckToggleTAZRelOnlyTo->shown()) {
1026  menuCheckToggleTAZRelOnlyTo->setAccelText(("Alt+" + toString(index)).c_str());
1027  index++;
1028  }
1029 }
1030 
1031 // ---------------------------------------------------------------------------
1032 // GNEApplicationWindowHelper::EditMenuCommands - methods
1033 // ---------------------------------------------------------------------------
1034 
1036  undoLastChange(nullptr),
1037  redoLastChange(nullptr),
1038  openUndolistDialog(nullptr),
1039  networkViewOptions(GNEApp),
1040  demandViewOptions(GNEApp),
1041  dataViewOptions(GNEApp),
1042  editViewScheme(nullptr),
1043  editViewPort(nullptr),
1044  clearFrontElement(nullptr),
1045  loadAdditionalsInSUMOGUI(nullptr),
1046  loadDemandInSUMOGUI(nullptr),
1047  openInSUMOGUI(nullptr),
1048  myGNEApp(GNEApp) {
1049 }
1050 
1051 
1052 void
1054  // build undo/redo command
1055  undoLastChange = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1056  "Undo", "Ctrl+Z", "Undo the last change.",
1058  redoLastChange = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1059  "Redo", "Ctrl+Y", "Redo the last change.",
1061  openUndolistDialog = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1062  "Show undo/redo history", "", "Open undo/redo history dialog.",
1064 }
1065 
1066 
1067 void
1069  // build rest of menu commands
1070  editViewScheme = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1071  "Edit Visualisation", "F9", "Opens a dialog for editing visualization settings.",
1073  editViewPort = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1074  "Edit Viewport", "Ctrl+I", "Opens a dialog for editing viewing are, zoom and rotation.",
1076 }
1077 
1078 
1079 void
1081  // add clear front element
1082  clearFrontElement = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1083  "Clear front element", "F11", "Clear current front element",
1085 }
1086 
1087 
1088 void
1090  // add open in sumo options
1091  loadAdditionalsInSUMOGUI = new FXMenuCheck(editMenu,
1092  "Load additionals in sumo-gui\t\tLoad additionals in sumo-gui.",
1094  loadAdditionalsInSUMOGUI->setCheck(TRUE);
1095  loadDemandInSUMOGUI = new FXMenuCheck(editMenu,
1096  "Load demand in sumo-gui\t\tLoad demand in sumo-gui.",
1097  myGNEApp, MID_GNE_TOOLBAREDIT_LOADDEMAND);
1098  loadDemandInSUMOGUI->setCheck(TRUE);
1099  openInSUMOGUI = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1100  "Open in sumo-gui", "Ctrl+T", "Opens the sumo-gui application with the current network.",
1102 }
1103 
1104 // ---------------------------------------------------------------------------
1105 // GNEApplicationWindowHelper::LockMenuCommands - methods
1106 // ---------------------------------------------------------------------------
1107 
1109  myGNEApp(GNEApp) {
1110 }
1111 
1112 
1113 void
1115  // newtork
1116  menuCheckLockJunction = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1117  TL("&Junctions"), "", "",
1119  myGNEApp, MID_GNE_LOCK_ELEMENT);
1120 
1121  menuCheckLockEdges = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1122  TL("&Edges"), "", "",
1124  myGNEApp, MID_GNE_LOCK_ELEMENT);
1125 
1126  menuCheckLockLanes = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1127  TL("&Lanes"), "", "",
1129  myGNEApp, MID_GNE_LOCK_ELEMENT);
1130 
1131  menuCheckLockConnections = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1132  TL("&Connections"), "", "",
1134  myGNEApp, MID_GNE_LOCK_ELEMENT);
1135 
1136  menuCheckLockCrossings = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1137  TL("C&rossings"), "", "",
1139  myGNEApp, MID_GNE_LOCK_ELEMENT);
1140 
1141  menuCheckLockWalkingAreas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1142  TL("Walkin&gAreas"), "", "",
1144  myGNEApp, MID_GNE_LOCK_ELEMENT);
1145 
1146  menuCheckLockAdditionals = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1147  TL("&Additionals"), "", "",
1149  myGNEApp, MID_GNE_LOCK_ELEMENT);
1150 
1151  menuCheckLockTAZs = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1152  TL("&TAZs"), "", "",
1154  myGNEApp, MID_GNE_LOCK_ELEMENT);
1155 
1156  menuCheckLockWires = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1157  TL("&Wires"), "", "",
1159  myGNEApp, MID_GNE_LOCK_ELEMENT);
1160 
1161  menuCheckLockPolygons = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1162  TL("&Polygons"), "", "",
1164  myGNEApp, MID_GNE_LOCK_ELEMENT);
1165 
1166  menuCheckLockPOIs = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1167  TL("P&OIs"), "", "",
1169  myGNEApp, MID_GNE_LOCK_ELEMENT);
1170  // demand
1171  menuCheckLockRoutes = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1172  TL("&Routes"), "", "",
1174  myGNEApp, MID_GNE_LOCK_ELEMENT);
1175 
1176  menuCheckLockVehicles = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1177  TL("&Vehicles"), "", "",
1179  myGNEApp, MID_GNE_LOCK_ELEMENT);
1180 
1181  menuCheckLockPersons = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1182  TL("&Persons"), "", "",
1184  myGNEApp, MID_GNE_LOCK_ELEMENT);
1185 
1186  menuCheckLockPersonTrip = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1187  TL("Person&Trips"), "", "",
1189  myGNEApp, MID_GNE_LOCK_ELEMENT);
1190 
1191  menuCheckLockWalk = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1192  TL("&Walks"), "", "",
1194  myGNEApp, MID_GNE_LOCK_ELEMENT);
1195 
1196  menuCheckLockRides = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1197  TL("Ri&des"), "", "",
1199  myGNEApp, MID_GNE_LOCK_ELEMENT);
1200 
1201  menuCheckLockContainers = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1202  TL("&Containers"), "", "",
1204  myGNEApp, MID_GNE_LOCK_ELEMENT);
1205 
1206  menuCheckLockTransports = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1207  TL("Tra&nsports"), "", "",
1209  myGNEApp, MID_GNE_LOCK_ELEMENT);
1210 
1211  menuCheckLockTranships = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1212  TL("Trans&hips"), "", "",
1214  myGNEApp, MID_GNE_LOCK_ELEMENT);
1215 
1216  menuCheckLockStops = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1217  TL("Stop&s"), "", "",
1219  myGNEApp, MID_GNE_LOCK_ELEMENT);
1220  // data
1221  menuCheckLockEdgeDatas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1222  TL("&EdgeDatas"), "", "",
1224  myGNEApp, MID_GNE_LOCK_ELEMENT);
1225 
1226  menuCheckLockEdgeRelDatas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1227  TL("E&dgeRelDatas"), "", "",
1229  myGNEApp, MID_GNE_LOCK_ELEMENT);
1230 
1231  menuCheckLockEdgeTAZRels = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1232  TL("Edge&TAZRel"), "", "",
1234  myGNEApp, MID_GNE_LOCK_ELEMENT);
1235 
1236  // separator
1237  new FXMenuSeparator(fileMenu);
1238 
1239  menuCheckLockSelectedElements = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1240  "Lock selected elements", "", "selected elements",
1242 
1243  // separator
1244  new FXMenuSeparator(fileMenu);
1245 
1247  "Lock all elements", "", "all elements",
1249 
1251  "Unlock all elements", "", "Unlock all elements",
1253 }
1254 
1255 
1256 void
1258  // network
1259  menuCheckLockJunction->remHotKey(parseHotKey('j'));
1260  menuCheckLockEdges->remHotKey(parseHotKey('e'));
1261  menuCheckLockLanes->remHotKey(parseHotKey('l'));
1262  menuCheckLockConnections->remHotKey(parseHotKey('c'));
1263  menuCheckLockCrossings->remHotKey(parseHotKey('r'));
1264  menuCheckLockWalkingAreas->remHotKey(parseHotKey('g'));
1265  menuCheckLockAdditionals->remHotKey(parseHotKey('a'));
1266  menuCheckLockTAZs->remHotKey(parseHotKey('t'));
1267  menuCheckLockWires->remHotKey(parseHotKey('w'));
1268  menuCheckLockPolygons->remHotKey(parseHotKey('p'));
1269  menuCheckLockPOIs->remHotKey(parseHotKey('o'));
1270  // demand
1271  menuCheckLockRoutes->remHotKey(parseHotKey('r'));
1272  menuCheckLockVehicles->remHotKey(parseHotKey('v'));
1273  menuCheckLockPersons->remHotKey(parseHotKey('p'));
1274  menuCheckLockPersonTrip->remHotKey(parseHotKey('t'));
1275  menuCheckLockWalk->remHotKey(parseHotKey('w'));
1276  menuCheckLockRides->remHotKey(parseHotKey('d'));
1277  menuCheckLockContainers->remHotKey(parseHotKey('c'));
1278  menuCheckLockTransports->remHotKey(parseHotKey('n'));
1279  menuCheckLockTranships->remHotKey(parseHotKey('h'));
1280  menuCheckLockStops->remHotKey(parseHotKey('s'));
1281  // data
1282  menuCheckLockEdgeDatas->remHotKey(parseHotKey('e'));
1283  menuCheckLockEdgeRelDatas->remHotKey(parseHotKey('d'));
1284  menuCheckLockEdgeTAZRels->remHotKey(parseHotKey('t'));
1285 }
1286 
1287 void
1289  // first enable menu commands
1290  menuCheckLockJunction->enable();
1291  menuCheckLockEdges->enable();
1292  menuCheckLockLanes->enable();
1293  menuCheckLockConnections->enable();
1294  menuCheckLockCrossings->enable();
1295  menuCheckLockWalkingAreas->enable();
1296  menuCheckLockAdditionals->enable();
1297  menuCheckLockTAZs->enable();
1298  menuCheckLockWires->enable();
1299  menuCheckLockPolygons->enable();
1300  menuCheckLockPOIs->enable();
1301  // set accels
1302  menuCheckLockJunction->addHotKey(parseHotKey('j'));
1303  menuCheckLockEdges->addHotKey(parseHotKey('e'));
1304  menuCheckLockLanes->addHotKey(parseHotKey('l'));
1305  menuCheckLockConnections->addHotKey(parseHotKey('c'));
1306  menuCheckLockCrossings->addHotKey(parseHotKey('r'));
1307  menuCheckLockWalkingAreas->addHotKey(parseHotKey('g'));
1308  menuCheckLockAdditionals->addHotKey(parseHotKey('a'));
1309  menuCheckLockTAZs->addHotKey(parseHotKey('t'));
1310  menuCheckLockWires->addHotKey(parseHotKey('w'));
1311  menuCheckLockPolygons->addHotKey(parseHotKey('p'));
1312  menuCheckLockPOIs->addHotKey(parseHotKey('o'));
1313  // now show it
1314  menuCheckLockJunction->show();
1315  menuCheckLockEdges->show();
1316  menuCheckLockLanes->show();
1317  menuCheckLockConnections->show();
1318  menuCheckLockCrossings->show();
1319  menuCheckLockWalkingAreas->show();
1320  menuCheckLockAdditionals->show();
1321  menuCheckLockTAZs->show();
1322  menuCheckLockWires->show();
1323  menuCheckLockPolygons->show();
1324  menuCheckLockPOIs->show();
1325 }
1326 
1327 
1328 void
1330  // first disable menu commands
1331  menuCheckLockJunction->disable();
1332  menuCheckLockEdges->disable();
1333  menuCheckLockLanes->disable();
1334  menuCheckLockConnections->disable();
1335  menuCheckLockCrossings->disable();
1336  menuCheckLockWalkingAreas->disable();
1337  menuCheckLockAdditionals->disable();
1338  menuCheckLockTAZs->disable();
1339  menuCheckLockPolygons->disable();
1340  menuCheckLockPOIs->disable();
1341  // now hide it
1342  menuCheckLockJunction->hide();
1343  menuCheckLockEdges->hide();
1344  menuCheckLockLanes->hide();
1345  menuCheckLockConnections->hide();
1346  menuCheckLockCrossings->hide();
1347  menuCheckLockWalkingAreas->hide();
1348  menuCheckLockAdditionals->hide();
1349  menuCheckLockTAZs->hide();
1350  menuCheckLockWires->hide();
1351  menuCheckLockPolygons->hide();
1352  menuCheckLockPOIs->hide();
1353 }
1354 
1355 
1356 void
1358  // first enable menu commands
1359  menuCheckLockRoutes->enable();
1360  menuCheckLockVehicles->enable();
1361  menuCheckLockPersons->enable();
1362  menuCheckLockPersonTrip->enable();
1363  menuCheckLockWalk->enable();
1364  menuCheckLockRides->enable();
1365  menuCheckLockContainers->enable();
1366  menuCheckLockTransports->enable();
1367  menuCheckLockTranships->enable();
1368  menuCheckLockStops->enable();
1369  // set accels
1370  menuCheckLockRoutes->addHotKey(parseHotKey('r'));
1371  menuCheckLockVehicles->addHotKey(parseHotKey('v'));
1372  menuCheckLockPersons->addHotKey(parseHotKey('p'));
1373  menuCheckLockPersonTrip->addHotKey(parseHotKey('t'));
1374  menuCheckLockWalk->addHotKey(parseHotKey('w'));
1375  menuCheckLockRides->addHotKey(parseHotKey('d'));
1376  menuCheckLockContainers->addHotKey(parseHotKey('c'));
1377  menuCheckLockTransports->addHotKey(parseHotKey('n'));
1378  menuCheckLockTranships->addHotKey(parseHotKey('h'));
1379  menuCheckLockStops->addHotKey(parseHotKey('s'));
1380  // now show it
1381  menuCheckLockRoutes->show();
1382  menuCheckLockVehicles->show();
1383  menuCheckLockPersons->show();
1384  menuCheckLockPersonTrip->show();
1385  menuCheckLockWalk->show();
1386  menuCheckLockRides->show();
1387  menuCheckLockContainers->show();
1388  menuCheckLockTransports->show();
1389  menuCheckLockTranships->show();
1390  menuCheckLockStops->show();
1391 }
1392 
1393 
1394 void
1396  // first disable menu commands
1397  menuCheckLockRoutes->disable();
1398  menuCheckLockVehicles->disable();
1399  menuCheckLockPersons->disable();
1400  menuCheckLockPersonTrip->disable();
1401  menuCheckLockWalk->disable();
1402  menuCheckLockRides->disable();
1403  menuCheckLockContainers->disable();
1404  menuCheckLockTransports->disable();
1405  menuCheckLockTranships->disable();
1406  menuCheckLockStops->disable();
1407  // now hide it
1408  menuCheckLockRoutes->hide();
1409  menuCheckLockVehicles->hide();
1410  menuCheckLockPersons->hide();
1411  menuCheckLockPersonTrip->hide();
1412  menuCheckLockWalk->hide();
1413  menuCheckLockRides->hide();
1414  menuCheckLockContainers->hide();
1415  menuCheckLockTransports->hide();
1416  menuCheckLockTranships->hide();
1417  menuCheckLockStops->hide();
1418 }
1419 
1420 
1421 void
1423  // first enable menu commands
1424  menuCheckLockEdgeDatas->enable();
1425  menuCheckLockEdgeRelDatas->enable();
1426  menuCheckLockEdgeTAZRels->enable();
1427  // set accels
1428  menuCheckLockEdgeDatas->addHotKey(parseHotKey('e'));
1429  menuCheckLockEdgeRelDatas->addHotKey(parseHotKey('d'));
1430  menuCheckLockEdgeTAZRels->addHotKey(parseHotKey('t'));
1431  // now show it
1432  menuCheckLockEdgeDatas->show();
1433  menuCheckLockEdgeRelDatas->show();
1434  menuCheckLockEdgeTAZRels->show();
1435 }
1436 
1437 
1438 void
1440  // first disable menu commands
1441  menuCheckLockEdgeDatas->disable();
1442  menuCheckLockEdgeRelDatas->disable();
1443  menuCheckLockEdgeTAZRels->disable();
1444  // now hide it
1445  menuCheckLockEdgeDatas->hide();
1446  menuCheckLockEdgeRelDatas->hide();
1447  menuCheckLockEdgeTAZRels->hide();
1448 }
1449 
1450 
1451 void
1453  menuCheckLockJunction->setCheck(TRUE);
1454  menuCheckLockEdges->setCheck(TRUE);
1455  menuCheckLockLanes->setCheck(TRUE);
1456  menuCheckLockConnections->setCheck(TRUE);
1457  menuCheckLockCrossings->setCheck(TRUE);
1458  menuCheckLockWalkingAreas->setCheck(TRUE);
1459  menuCheckLockAdditionals->setCheck(TRUE);
1460  menuCheckLockTAZs->setCheck(TRUE);
1461  menuCheckLockWires->setCheck(TRUE);
1462  menuCheckLockPolygons->setCheck(TRUE);
1463  menuCheckLockPOIs->setCheck(TRUE);
1464  menuCheckLockRoutes->setCheck(TRUE);
1465  menuCheckLockVehicles->setCheck(TRUE);
1466  menuCheckLockPersons->setCheck(TRUE);
1467  menuCheckLockPersonTrip->setCheck(TRUE);
1468  menuCheckLockWalk->setCheck(TRUE);
1469  menuCheckLockRides->setCheck(TRUE);
1470  menuCheckLockContainers->setCheck(TRUE);
1471  menuCheckLockTransports->setCheck(TRUE);
1472  menuCheckLockTranships->setCheck(TRUE);
1473  menuCheckLockStops->setCheck(TRUE);
1474  menuCheckLockEdgeDatas->setCheck(TRUE);
1475  menuCheckLockEdgeRelDatas->setCheck(TRUE);
1476  menuCheckLockEdgeTAZRels->setCheck(TRUE);
1477 }
1478 
1479 
1480 void
1482  menuCheckLockJunction->setCheck(FALSE);
1483  menuCheckLockEdges->setCheck(FALSE);
1484  menuCheckLockLanes->setCheck(FALSE);
1485  menuCheckLockConnections->setCheck(FALSE);
1486  menuCheckLockCrossings->setCheck(FALSE);
1487  menuCheckLockWalkingAreas->setCheck(FALSE);
1488  menuCheckLockAdditionals->setCheck(FALSE);
1489  menuCheckLockTAZs->setCheck(FALSE);
1490  menuCheckLockWires->setCheck(FALSE);
1491  menuCheckLockPolygons->setCheck(FALSE);
1492  menuCheckLockPOIs->setCheck(FALSE);
1493  menuCheckLockRoutes->setCheck(FALSE);
1494  menuCheckLockVehicles->setCheck(FALSE);
1495  menuCheckLockPersons->setCheck(FALSE);
1496  menuCheckLockPersonTrip->setCheck(FALSE);
1497  menuCheckLockWalk->setCheck(FALSE);
1498  menuCheckLockRides->setCheck(FALSE);
1499  menuCheckLockContainers->setCheck(FALSE);
1500  menuCheckLockTransports->setCheck(FALSE);
1501  menuCheckLockTranships->setCheck(FALSE);
1502  menuCheckLockStops->setCheck(FALSE);
1503  menuCheckLockEdgeDatas->setCheck(FALSE);
1504  menuCheckLockEdgeRelDatas->setCheck(FALSE);
1505  menuCheckLockEdgeTAZRels->setCheck(FALSE);
1506 }
1507 
1508 
1509 void
1511  // check elements
1512  if (AC->getTagProperty().getTag() == SUMO_TAG_JUNCTION) {
1513  menuCheckLockJunction->setCheck(value);
1514  } else if (AC->getTagProperty().getTag() == SUMO_TAG_EDGE) {
1515  menuCheckLockEdges->setCheck(value);
1516  } else if (AC->getTagProperty().getTag() == SUMO_TAG_LANE) {
1517  menuCheckLockLanes->setCheck(value);
1518  } else if (AC->getTagProperty().getTag() == SUMO_TAG_CONNECTION) {
1519  menuCheckLockConnections->setCheck(value);
1520  } else if (AC->getTagProperty().getTag() == SUMO_TAG_CROSSING) {
1521  menuCheckLockCrossings->setCheck(value);
1522  } else if (AC->getTagProperty().getTag() == SUMO_TAG_WALKINGAREA) {
1523  menuCheckLockWalkingAreas->setCheck(value);
1524  } else if (AC->getTagProperty().isAdditionalElement()) {
1525  menuCheckLockAdditionals->setCheck(value);
1526  } else if (AC->getTagProperty().isTAZElement()) {
1527  menuCheckLockTAZs->setCheck(value);
1528  } else if (AC->getTagProperty().isWireElement()) {
1529  menuCheckLockWires->setCheck(value);
1530  } else if (AC->getTagProperty().getTag() == SUMO_TAG_POLY) {
1531  menuCheckLockPolygons->setCheck(value);
1532  } else if (AC->getTagProperty().isShapeElement() && (AC->getTagProperty().getTag() != SUMO_TAG_POLY)) {
1533  menuCheckLockPOIs->setCheck(value);
1534  } else if (AC->getTagProperty().isRoute()) {
1535  menuCheckLockRoutes->setCheck(value);
1536  } else if (AC->getTagProperty().isVehicle()) {
1537  menuCheckLockVehicles->setCheck(value);
1538  } else if (AC->getTagProperty().isPerson()) {
1539  menuCheckLockPersons->setCheck(value);
1540  } else if (AC->getTagProperty().isPersonTrip()) {
1541  menuCheckLockPersonTrip->setCheck(value);
1542  } else if (AC->getTagProperty().isWalk()) {
1543  menuCheckLockWalk->setCheck(value);
1544  } else if (AC->getTagProperty().isRide()) {
1545  menuCheckLockRides->setCheck(value);
1546  } else if (AC->getTagProperty().isContainer()) {
1547  menuCheckLockContainers->setCheck(value);
1548  } else if (AC->getTagProperty().isTransportPlan()) {
1549  menuCheckLockTransports->setCheck(value);
1550  } else if (AC->getTagProperty().isTranshipPlan()) {
1551  menuCheckLockTranships->setCheck(value);
1552  } else if (AC->getTagProperty().isStop() || AC->getTagProperty().isStopPerson()) {
1553  menuCheckLockStops->setCheck(value);
1554  } else if (AC->getTagProperty().getTag() == SUMO_TAG_MEANDATA_EDGE) {
1555  menuCheckLockEdgeDatas->setCheck(value);
1556  } else if (AC->getTagProperty().getTag() == SUMO_TAG_EDGEREL) {
1557  menuCheckLockEdgeRelDatas->setCheck(value);
1558  } else if (AC->getTagProperty().getTag() == SUMO_TAG_TAZREL) {
1559  menuCheckLockEdgeTAZRels->setCheck(value);
1560  }
1561 }
1562 
1563 
1564 FXHotKey
1566  FXuint code = 0, mods = 0;
1567  if (Unicode::isAlphaNumeric(character)) {
1568  mods = ALTMASK;
1569  code = fxucs2keysym(Unicode::toLower(character));
1570  }
1571  return MKUINT(code, mods);
1572 }
1573 
1574 // ---------------------------------------------------------------------------
1575 // GNEApplicationWindowHelper::ProcessingMenuCommands - methods
1576 // ---------------------------------------------------------------------------
1577 
1579  myGNEApp(GNEApp) {
1580 }
1581 
1582 
1583 void
1585  // build network processing menu commands
1586  computeNetwork = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1587  "Compute Junctions", "F5", "Compute junction shape and logic.",
1589  computeNetworkVolatile = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1590  "Compute Junctions with volatile options", "Shift+F5", "Compute junction shape and logic using volatile junctions.",
1592  cleanJunctions = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1593  "Clean Junctions", "F6", "Remove solitary junctions.",
1595  joinJunctions = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1596  "Join Selected Junctions", "F7", "Join selected junctions into a single junction.",
1598  clearInvalidCrossings = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1599  "Clean invalid crossings", "F8", "Clear invalid crossings.",
1601  // add separator for checkBox
1602  mySeparatorCheckBox = new FXMenuSeparator(processingMenu);
1603  // add checkBox for recomputing in data mode
1604  menuCheckRecomputeDataMode = GUIDesigns::buildFXMenuCheckboxIcon(processingMenu,
1605  "Recompute Network in Data Mode", "", "",
1607  // set default value
1608  menuCheckRecomputeDataMode->setCheck(myGNEApp->getApp()->reg().readBoolEntry("NETEDIT", "RecomputeData", true));
1609  // build demand processing menu commands
1610  computeDemand = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1611  "Compute demand", "F5", "Computes demand elements.",
1613  cleanRoutes = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1614  "Clean routes", "F6", "Removes routes without vehicles.",
1616  joinRoutes = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1617  "Join routes", "F7", "Joins routes with the same edges.",
1619  adjustPersonPlans = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1620  "Adjust person plans", "Shift+F7", "Adjust person plans (start/end positions, arrival positions, etc.)",
1622  clearInvalidDemandElements = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1623  "Clean invalid route elements", "F8", "Clear elements with an invalid path (routes, Trips, Flows...).",
1625  // create separator
1626  myOptionsSeparator = new FXMenuSeparator(processingMenu);
1627  // create optionmenus
1628  optionMenus = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1629  "Options", "F10", "Configure Processing Options.",
1631 }
1632 
1633 
1634 void
1636  // first enable menu commands
1637  computeNetwork->enable();
1638  computeNetworkVolatile->enable();
1639  cleanJunctions->enable();
1640  joinJunctions->enable();
1641  clearInvalidCrossings->enable();
1642  mySeparatorCheckBox->enable();
1643  menuCheckRecomputeDataMode->enable();
1644  // now show it
1645  computeNetwork->show();
1646  computeNetworkVolatile->show();
1647  cleanJunctions->show();
1648  joinJunctions->show();
1649  clearInvalidCrossings->show();
1650  mySeparatorCheckBox->show();
1651  menuCheckRecomputeDataMode->show();
1652 }
1653 
1654 
1655 void
1657  // first disable menu commands
1658  computeNetwork->disable();
1659  computeNetworkVolatile->disable();
1660  cleanJunctions->disable();
1661  joinJunctions->disable();
1662  clearInvalidCrossings->disable();
1663  // now hide it
1664  computeNetwork->hide();
1665  computeNetworkVolatile->hide();
1666  cleanJunctions->hide();
1667  joinJunctions->hide();
1668  clearInvalidCrossings->hide();
1669 }
1670 
1671 
1672 void
1674  // first enable menu commands
1675  computeDemand->enable();
1676  cleanRoutes->enable();
1677  joinRoutes->enable();
1678  adjustPersonPlans->enable();
1679  clearInvalidDemandElements->enable();
1680  // now show it
1681  computeDemand->show();
1682  cleanRoutes->show();
1683  joinRoutes->show();
1684  adjustPersonPlans->show();
1685  clearInvalidDemandElements->show();
1686 }
1687 
1688 
1689 void
1691  // first disable menu commands
1692  computeDemand->disable();
1693  cleanRoutes->disable();
1694  joinRoutes->disable();
1695  adjustPersonPlans->disable();
1696  clearInvalidDemandElements->disable();
1697  // now hide it
1698  computeDemand->hide();
1699  cleanRoutes->hide();
1700  joinRoutes->hide();
1701  adjustPersonPlans->hide();
1702  clearInvalidDemandElements->hide();
1703 }
1704 
1705 
1706 void
1708  // currently nothing to show
1709 }
1710 
1711 
1712 void
1714  // currently nothing to hide
1715 }
1716 
1717 
1718 void
1720  myOptionsSeparator->show();
1721 }
1722 
1723 
1724 void
1726  myOptionsSeparator->hide();
1727 }
1728 
1729 // ---------------------------------------------------------------------------
1730 // GNEApplicationWindowHelper::LocateMenuCommands - methods
1731 // ---------------------------------------------------------------------------
1732 
1734  myGNEApp(GNEApp) {
1735 }
1736 
1737 
1738 void
1740  // build locate menu commands
1742  TL("&Junctions"), "Shift+J", "Open a dialog for locating a Junction.",
1745  TL("&Edges"), "Shift+E", "Open a dialog for locating an Edge.",
1748  TL("&WalkingAreas"), "Shift+W", "Open a dialog for locating a Walking Area.",
1751  TL("&Vehicles"), "Shift+V", "Open a dialog for locating a Vehicle.",
1754  TL("&Persons"), "Shift+P", "Open a dialog for locating a Person.",
1757  TL("&Route"), "Shift+R", "Open a dialog for locating a Route.",
1760  TL("&Stops"), "Shift+S", "Open a dialog for locating a Stop.",
1763  TL("&TLS"), "Shift+T", "Open a dialog for locating a Traffic Light.",
1766  TL("&Additional"), "Shift+A", "Open a dialog for locating an Additional Structure.",
1769  TL("P&oI"), "Shift+O", "Open a dialog for locating a Point of Interest.",
1772  TL("Po&lygon"), "Shift+L", "Open a dialog for locating a Polygon.",
1774 }
1775 
1776 // ---------------------------------------------------------------------------
1777 // GNEApplicationWindowHelper::ToolsMenuCommands - methods
1778 // ---------------------------------------------------------------------------
1779 
1781  myGNEApp(GNEApp) {
1782 }
1783 
1784 
1785 void
1787  // build locate menu commands
1789  TL("&NetDiff"), "", "Execute NetDiff.",
1791 }
1792 
1793 // ---------------------------------------------------------------------------
1794 // GNEApplicationWindowHelper::WindowsMenuCommands - methods
1795 // ---------------------------------------------------------------------------
1796 
1798  myGNEApp(GNEApp) {
1799 }
1800 
1801 
1802 void
1803 GNEApplicationWindowHelper::WindowsMenuCommands::buildWindowsMenuCommands(FXMenuPane* windowsMenu, FXStatusBar* statusbar, GUIMessageWindow* messageWindow) {
1804  // build windows menu commands
1805  GUIDesigns::buildFXMenuCheckbox(windowsMenu,
1806  "Show Status Line", "Toggle this Status Bar on/off.",
1807  statusbar, FXWindow::ID_TOGGLESHOWN);
1808  GUIDesigns::buildFXMenuCheckbox(windowsMenu,
1809  "Show Message Window", "Toggle the Message Window on/off.",
1810  messageWindow, FXWindow::ID_TOGGLESHOWN);
1812  "Clear Message Window", "", "Clear the Message Window.",
1814 }
1815 
1816 // ---------------------------------------------------------------------------
1817 // GNEApplicationWindowHelper::NetworkCheckableButtons - methods
1818 // ---------------------------------------------------------------------------
1819 
1821  networkMode(nullptr),
1822  demandMode(nullptr),
1823  dataMode(nullptr),
1824  myGNEApp(GNEApp) {
1825 }
1826 
1827 
1828 void
1830  networkMode->show();
1831  demandMode->show();
1832  dataMode->show();
1833 }
1834 
1835 
1836 void
1838  networkMode->hide();
1839  demandMode->hide();
1840  dataMode->hide();
1841 }
1842 
1843 
1844 void
1846  // build supermode menu commands
1847  networkMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1848  TL("&Network"), "F2", "Select network mode.",
1850  demandMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1851  TL("&Demand"), "F3", "Select demand mode.",
1853  dataMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1854  TL("&Data"), "F4", "Select data mode.",
1856 }
1857 
1858 // ---------------------------------------------------------------------------
1859 // GNEConfigHandler - methods
1860 // ---------------------------------------------------------------------------
1861 
1863  ConfigHandler(file),
1864  myApplicationWindow(applicationWindow),
1865  myFilepath(FileHelpers::getFilePath(file)) {
1866 }
1867 
1868 
1870 
1871 
1872 void
1874  // get net file
1875  const auto netFile = configObj->hasStringAttribute(SUMO_ATTR_NETFILE) ? configObj->getStringAttribute(SUMO_ATTR_NETFILE) : "";
1876  // first check if there is a network to load
1877  if (netFile.size() > 0) {
1879  // load net depending if file is absoulte or relative
1880  oc.resetWritable();
1881  if (FileHelpers::isAbsolute(netFile)) {
1882  oc.set("sumo-net-file", netFile);
1883  } else {
1884  oc.set("sumo-net-file", myFilepath + netFile);
1885  }
1886  // set additional files
1888  const auto file = configObj->getStringAttribute(SUMO_ATTR_ADDITIONALFILES);
1889  oc.resetWritable();
1890  if (FileHelpers::isAbsolute(file)) {
1891  oc.set("additional-files", file);
1892  } else {
1893  oc.set("additional-files", myFilepath + file);
1894  }
1895  }
1896  // set route files
1897  if (configObj->hasStringAttribute(SUMO_ATTR_ROUTEFILES)) {
1898  const auto file = configObj->getStringAttribute(SUMO_ATTR_ROUTEFILES);
1899  oc.resetWritable();
1900  if (FileHelpers::isAbsolute(file)) {
1901  oc.set("route-files", file);
1902  } else {
1903  oc.set("route-files", myFilepath + file);
1904  }
1905  }
1906  // set data files
1907  if (configObj->hasStringAttribute(SUMO_ATTR_DATAFILES)) {
1908  const auto file = configObj->getStringAttribute(SUMO_ATTR_DATAFILES);
1909  oc.resetWritable();
1910  if (FileHelpers::isAbsolute(file)) {
1911  oc.set("data-files", file);
1912  } else {
1913  oc.set("data-files", myFilepath + file);
1914  }
1915  }
1916  // set SUMOConfig-files
1917  oc.resetWritable();
1918  oc.set("SUMOConfig-output", configObj->getStringAttribute(SUMO_ATTR_CONFIGFILE));
1919  // load network
1920  myApplicationWindow->loadNet("");
1921  }
1922 }
1923 
1924 // ---------------------------------------------------------------------------
1925 // GNEApplicationWindowHelper - methods
1926 // ---------------------------------------------------------------------------
1927 
1928 
1929 void
1931  // obtain option container
1933  // check SUMOConfig-outpout
1934  if (oc.getString("SUMOConfig-output").size() > 0) {
1935  // open output device
1936  OutputDevice& device = OutputDevice::getDevice(oc.getString("SUMOConfig-output"));
1937  // open configuration tag
1939  // save network
1940  device.openTag(SUMO_TAG_NETFILE);
1941  device.writeAttr(SUMO_ATTR_VALUE, oc.getString("output-file"));
1942  device.closeTag();
1943  // check if write additionals
1944  if (oc.getString("additional-files").size() > 0) {
1946  device.writeAttr(SUMO_ATTR_VALUE, oc.getString("additional-files"));
1947  device.closeTag();
1948  }
1949  // check if write route elements
1950  if (oc.getString("route-files").size() > 0) {
1951  device.openTag(SUMO_TAG_ROUTEFILES);
1952  device.writeAttr(SUMO_ATTR_VALUE, oc.getString("route-files"));
1953  device.closeTag();
1954  }
1955  // check if write data elements
1956  if (oc.getString("data-files").size() > 0) {
1957  device.openTag(SUMO_TAG_DATAFILES);
1958  device.writeAttr(SUMO_ATTR_VALUE, oc.getString("data-files"));
1959  device.closeTag();
1960  }
1961  // close device
1962  device.close();
1963  // show debug information
1964  WRITE_DEBUG("SUMOConfig saved");
1965  }
1966 }
1967 
1968 
1969 bool
1970 GNEApplicationWindowHelper::toggleEditOptionsNetwork(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, const int numericalKeyPressed, FXObject* obj, FXSelector sel) {
1971  // finally function correspond to visibleMenuCommands[numericalKeyPressed]
1972  if (menuCheck == viewNet->getNetworkViewOptions().menuCheckToggleGrid) {
1973  // Toggle menuCheckToggleGrid
1974  if (viewNet->getNetworkViewOptions().menuCheckToggleGrid->amChecked() == TRUE) {
1975  // show extra information for tests
1976  WRITE_DEBUG("Disabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
1977  } else {
1978  // show extra information for tests
1979  WRITE_DEBUG("Enabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
1980  }
1981  // Call manually onCmdToggleShowGrid
1982  viewNet->onCmdToggleShowGrid(obj, sel, nullptr);
1983  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckToggleDrawJunctionShape) {
1984  // Toggle menuCheckToggleDrawJunctionShape
1986  // show extra information for tests
1987  WRITE_DEBUG("Disabled draw junction shape throught alt + " + toString(numericalKeyPressed + 1));
1988  } else {
1989  // show extra information for tests
1990  WRITE_DEBUG("Enabled draw junction shape throught alt + " + toString(numericalKeyPressed + 1));
1991  }
1992  // Call manually onCmdToggleDrawJunctionShape
1993  viewNet->onCmdToggleDrawJunctionShape(obj, sel, nullptr);
1994  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckDrawSpreadVehicles) {
1995  // Toggle menuCheckDrawSpreadVehicles
1996  if (viewNet->getNetworkViewOptions().menuCheckDrawSpreadVehicles->amChecked() == TRUE) {
1997  // show extra information for tests
1998  WRITE_DEBUG("Disabled toggle draw spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
1999  } else {
2000  // show extra information for tests
2001  WRITE_DEBUG("Enabled toggle spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
2002  }
2003  // Call manually onCmdToggleDrawSpreadVehicles
2004  viewNet->onCmdToggleDrawSpreadVehicles(obj, sel, nullptr);
2005  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowDemandElements) {
2006  // Toggle menuCheckShowDemandElements
2007  if (viewNet->getNetworkViewOptions().menuCheckShowDemandElements->amChecked() == TRUE) {
2008  // show extra information for tests
2009  WRITE_DEBUG("Disabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
2010  } else {
2011  // show extra information for tests
2012  WRITE_DEBUG("Enabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
2013  }
2014  // Call manually onCmdToggleShowDemandElementsNetwork
2015  viewNet->onCmdToggleShowDemandElementsNetwork(obj, sel, nullptr);
2016  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckSelectEdges) {
2017  // Toggle menuCheckSelectEdges
2018  if (viewNet->getNetworkViewOptions().menuCheckSelectEdges->amChecked() == TRUE) {
2019  // show extra information for tests
2020  WRITE_DEBUG("Disabled select edges throught alt + " + toString(numericalKeyPressed + 1));
2021  } else {
2022  // show extra information for tests
2023  WRITE_DEBUG("Enabled select edges throught alt + " + toString(numericalKeyPressed + 1));
2024  }
2025  // Call manually onCmdToggleSelectEdges
2026  viewNet->onCmdToggleSelectEdges(obj, sel, nullptr);
2027  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowConnections) {
2028  // Toggle menuCheckShowConnections
2029  if (viewNet->getNetworkViewOptions().menuCheckShowConnections->amChecked() == TRUE) {
2030  // show extra information for tests
2031  WRITE_DEBUG("Disabled show connections throught alt + " + toString(numericalKeyPressed + 1));
2032  } else {
2033  // show extra information for tests
2034  WRITE_DEBUG("Enabled show connections throught alt + " + toString(numericalKeyPressed + 1));
2035  }
2036  // Call manually onCmdToggleShowConnections
2037  viewNet->onCmdToggleShowConnections(obj, sel, nullptr);
2038  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckHideConnections) {
2039  // Toggle menuCheckHideConnections
2040  if (viewNet->getNetworkViewOptions().menuCheckHideConnections->amChecked() == TRUE) {
2041  // show extra information for tests
2042  WRITE_DEBUG("Disabled hide connections throught alt + " + toString(numericalKeyPressed + 1));
2043  } else {
2044  // show extra information for tests
2045  WRITE_DEBUG("Enabled hide connections throught alt + " + toString(numericalKeyPressed + 1));
2046  }
2047  // Call manually onCmdToggleHideConnections
2048  viewNet->onCmdToggleHideConnections(obj, sel, nullptr);
2049  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowAdditionalSubElements) {
2050  // Toggle menuCheckShowAdditionalSubElements
2052  // show extra information for tests
2053  WRITE_DEBUG("Disabled show additional sub-elements throught alt + " + toString(numericalKeyPressed + 1));
2054  } else {
2055  // show extra information for tests
2056  WRITE_DEBUG("Enabled show additional sub-elements throught alt + " + toString(numericalKeyPressed + 1));
2057  }
2058  // Call manually onCmdToggleShowAdditionalSubElements
2059  viewNet->onCmdToggleShowAdditionalSubElements(obj, sel, nullptr);
2060  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowTAZElements) {
2061  // Toggle menuCheckShowTAZElements
2062  if (viewNet->getNetworkViewOptions().menuCheckShowTAZElements->amChecked() == TRUE) {
2063  // show extra information for tests
2064  WRITE_DEBUG("Disabled show TAZ elements throught alt + " + toString(numericalKeyPressed + 1));
2065  } else {
2066  // show extra information for tests
2067  WRITE_DEBUG("Enabled show TAZ elements throught alt + " + toString(numericalKeyPressed + 1));
2068  }
2069  // Call manually onCmdToggleShowTAZElements
2070  viewNet->onCmdToggleShowTAZElements(obj, sel, nullptr);
2071  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckExtendSelection) {
2072  // Toggle menuCheckExtendSelection
2073  if (viewNet->getNetworkViewOptions().menuCheckExtendSelection->amChecked() == TRUE) {
2074  // show extra information for tests
2075  WRITE_DEBUG("Disabled extend selection throught alt + " + toString(numericalKeyPressed + 1));
2076  } else {
2077  // show extra information for tests
2078  WRITE_DEBUG("Enabled extend selection throught alt + " + toString(numericalKeyPressed + 1));
2079  }
2080  // Call manually onCmdToggleExtendSelection
2081  viewNet->onCmdToggleExtendSelection(obj, sel, nullptr);
2082  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckChangeAllPhases) {
2083  // Toggle menuCheckChangeAllPhases
2084  if (viewNet->getNetworkViewOptions().menuCheckChangeAllPhases->amChecked() == TRUE) {
2085  // show extra information for tests
2086  WRITE_DEBUG("Disabled change all phases throught alt + " + toString(numericalKeyPressed + 1));
2087  } else {
2088  // show extra information for tests
2089  WRITE_DEBUG("Enabled change all phases throught alt + " + toString(numericalKeyPressed + 1));
2090  }
2091  // Call manually onCmdToggleChangeAllPhases
2092  viewNet->onCmdToggleChangeAllPhases(obj, sel, nullptr);
2093  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckWarnAboutMerge) {
2094  // Toggle menuCheckWarnAboutMerge
2095  if (viewNet->getNetworkViewOptions().menuCheckWarnAboutMerge->amChecked() == TRUE) {
2096  // show extra information for tests
2097  WRITE_DEBUG("Disabled warn about merge throught alt + " + toString(numericalKeyPressed + 1));
2098  } else {
2099  // show extra information for tests
2100  WRITE_DEBUG("Enabled warn about merge throught alt + " + toString(numericalKeyPressed + 1));
2101  }
2102  // Call manually onCmdToggleWarnAboutMerge
2103  viewNet->onCmdToggleWarnAboutMerge(obj, sel, nullptr);
2104  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowJunctionBubble) {
2105  // Toggle menuCheckShowJunctionBubble
2106  if (viewNet->getNetworkViewOptions().menuCheckShowJunctionBubble->amChecked() == TRUE) {
2107  // show extra information for tests
2108  WRITE_DEBUG("Disabled show junction as bubble throught alt + " + toString(numericalKeyPressed + 1));
2109  } else {
2110  // show extra information for tests
2111  WRITE_DEBUG("Enabled show junction as bubble throught alt + " + toString(numericalKeyPressed + 1));
2112  }
2113  // Call manually onCmdToggleShowJunctionBubble
2114  viewNet->onCmdToggleShowJunctionBubbles(obj, sel, nullptr);
2115  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckMoveElevation) {
2116  // Toggle menuCheckMoveElevation
2117  if (viewNet->getNetworkViewOptions().menuCheckMoveElevation->amChecked() == TRUE) {
2118  // show extra information for tests
2119  WRITE_DEBUG("Disabled move elevation throught alt + " + toString(numericalKeyPressed + 1));
2120  } else {
2121  // show extra information for tests
2122  WRITE_DEBUG("Enabled move elevation throught alt + " + toString(numericalKeyPressed + 1));
2123  }
2124  // Call manually onCmdToggleMoveElevation
2125  viewNet->onCmdToggleMoveElevation(obj, sel, nullptr);
2126  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckChainEdges) {
2127  // Toggle menuCheckChainEdges
2128  if (viewNet->getNetworkViewOptions().menuCheckChainEdges->amChecked() == TRUE) {
2129  // show extra information for tests
2130  WRITE_DEBUG("Disabled chain edges throught alt + " + toString(numericalKeyPressed + 1));
2131  } else {
2132  // show extra information for tests
2133  WRITE_DEBUG("Enabled chain edges throught alt + " + toString(numericalKeyPressed + 1));
2134  }
2135  // Call manually onCmdToggleChainEdges
2136  viewNet->onCmdToggleChainEdges(obj, sel, nullptr);
2137  } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckAutoOppositeEdge) {
2138  // Toggle menuCheckAutoOppositeEdge
2139  if (viewNet->getNetworkViewOptions().menuCheckAutoOppositeEdge->amChecked() == TRUE) {
2140  // show extra information for tests
2141  WRITE_DEBUG("Disabled auto opposite edge throught alt + " + toString(numericalKeyPressed + 1));
2142  } else {
2143  // show extra information for tests
2144  WRITE_DEBUG("Enabled auto opposite edge throught alt + " + toString(numericalKeyPressed + 1));
2145  }
2146  // Call manually onCmdToggleAutoOppositeEdge
2147  viewNet->onCmdToggleAutoOppositeEdge(obj, sel, nullptr);
2148  } else {
2149  return false;
2150  }
2151  return true;
2152 }
2153 
2154 
2155 bool
2156 GNEApplicationWindowHelper::toggleEditOptionsDemand(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, const int numericalKeyPressed, FXObject* obj, FXSelector sel) {
2157  if (menuCheck == viewNet->getDemandViewOptions().menuCheckToggleGrid) {
2158  // Toggle menuCheckToggleGrid
2159  if (viewNet->getDemandViewOptions().menuCheckToggleGrid->amChecked() == TRUE) {
2160  // show extra information for tests
2161  WRITE_DEBUG("Disabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
2162  } else {
2163  // show extra information for tests
2164  WRITE_DEBUG("Enabled toggle show grid throught alt + " + toString(numericalKeyPressed + 1));
2165  }
2166  // Call manually onCmdToggleShowGrid
2167  viewNet->onCmdToggleShowGrid(obj, sel, nullptr);
2168  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckToggleDrawJunctionShape) {
2169  // Toggle menuCheckToggleDrawJunctionShape
2171  // show extra information for tests
2172  WRITE_DEBUG("Disabled draw junction shape throught alt + " + toString(numericalKeyPressed + 1));
2173  } else {
2174  // show extra information for tests
2175  WRITE_DEBUG("Enabled draw junction shape throught alt + " + toString(numericalKeyPressed + 1));
2176  }
2177  // Call manually onCmdToggleDrawJunctionShape
2178  viewNet->onCmdToggleDrawJunctionShape(obj, sel, nullptr);
2179  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckDrawSpreadVehicles) {
2180  // Toggle menuCheckDrawSpreadVehicles
2181  if (viewNet->getDemandViewOptions().menuCheckDrawSpreadVehicles->amChecked() == TRUE) {
2182  // show extra information for tests
2183  WRITE_DEBUG("Disabled toggle draw spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
2184  } else {
2185  // show extra information for tests
2186  WRITE_DEBUG("Enabled toggle spread vehicles throught alt + " + toString(numericalKeyPressed + 1));
2187  }
2188  // Call manually onCmdToggleDrawSpreadVehicles
2189  viewNet->onCmdToggleDrawSpreadVehicles(obj, sel, nullptr);
2190  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckHideShapes) {
2191  // Toggle menuCheckHideShapes
2192  if (viewNet->getDemandViewOptions().menuCheckHideShapes->amChecked() == TRUE) {
2193  // show extra information for tests
2194  WRITE_DEBUG("Disabled hide shapes throught alt + " + toString(numericalKeyPressed + 1));
2195  } else {
2196  // show extra information for tests
2197  WRITE_DEBUG("Enabled hide shapes throught alt + " + toString(numericalKeyPressed + 1));
2198  }
2199  // Call manually onCmdToggleHideShapes
2200  viewNet->onCmdToggleHideShapes(obj, sel, nullptr);
2201  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllTrips) {
2202  // Toggle menuCheckShowAllTrips
2203  if (viewNet->getDemandViewOptions().menuCheckShowAllTrips->amChecked() == TRUE) {
2204  // show extra information for tests
2205  WRITE_DEBUG("Disabled show all trips throught alt + " + toString(numericalKeyPressed + 1));
2206  } else {
2207  // show extra information for tests
2208  WRITE_DEBUG("Enabled show all trips throught alt + " + toString(numericalKeyPressed + 1));
2209  }
2210  // Call manually onCmdToggleShowTrips
2211  viewNet->onCmdToggleShowTrips(obj, sel, nullptr);
2212  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllPersonPlans) {
2213  // Toggle menuCheckShowAllPersonPlans
2214  if (viewNet->getDemandViewOptions().menuCheckShowAllPersonPlans->amChecked() == TRUE) {
2215  // show extra information for tests
2216  WRITE_DEBUG("Disabled show all person plans throught alt + " + toString(numericalKeyPressed + 1));
2217  } else {
2218  // show extra information for tests
2219  WRITE_DEBUG("Enabled show all person plans throught alt + " + toString(numericalKeyPressed + 1));
2220  }
2221  // Call manually onCmdToggleShowAllPersonPlans
2222  viewNet->onCmdToggleShowAllPersonPlans(obj, sel, nullptr);
2223  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckLockPerson) {
2224  // Toggle menuCheckShowAllPersonPlans
2225  if (viewNet->getDemandViewOptions().menuCheckLockPerson->amChecked() == TRUE) {
2226  // show extra information for tests
2227  WRITE_DEBUG("Disabled lock person plan throught alt + " + toString(numericalKeyPressed + 1));
2228  } else {
2229  // show extra information for tests
2230  WRITE_DEBUG("Enabled lock person plan throught alt + " + toString(numericalKeyPressed + 1));
2231  }
2232  // Call manually onCmdToggleLockPerson
2233  viewNet->onCmdToggleLockPerson(obj, sel, nullptr);
2234  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllContainerPlans) {
2235  // Toggle menuCheckShowAllContainerPlans
2237  // show extra information for tests
2238  WRITE_DEBUG("Disabled show all container plans throught alt + " + toString(numericalKeyPressed + 1));
2239  } else {
2240  // show extra information for tests
2241  WRITE_DEBUG("Enabled show all container plans throught alt + " + toString(numericalKeyPressed + 1));
2242  }
2243  // Call manually onCmdToggleShowAllContainerPlans
2244  viewNet->onCmdToggleShowAllContainerPlans(obj, sel, nullptr);
2245  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckLockContainer) {
2246  // Toggle menuCheckShowAllContainerPlans
2247  if (viewNet->getDemandViewOptions().menuCheckLockContainer->amChecked() == TRUE) {
2248  // show extra information for tests
2249  WRITE_DEBUG("Disabled lock container plan throught alt + " + toString(numericalKeyPressed + 1));
2250  } else {
2251  // show extra information for tests
2252  WRITE_DEBUG("Enabled lock container plan throught alt + " + toString(numericalKeyPressed + 1));
2253  }
2254  // Call manually onCmdToggleLockContainer
2255  viewNet->onCmdToggleLockContainer(obj, sel, nullptr);
2256  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckHideNonInspectedDemandElements) {
2257  // Toggle menuCheckHideNonInspectedDemandElements
2259  // show extra information for tests
2260  WRITE_DEBUG("Disabled hide non inspected demand elements throught alt + " + toString(numericalKeyPressed + 1));
2261  } else {
2262  // show extra information for tests
2263  WRITE_DEBUG("Enabled hide non inspected demand elements throught alt + " + toString(numericalKeyPressed + 1));
2264  }
2265  // Call manually onCmdToggleHideNonInspecteDemandElements
2266  viewNet->onCmdToggleHideNonInspecteDemandElements(obj, sel, nullptr);
2267 
2268  } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowOverlappedRoutes) {
2269  // Toggle menuCheckShowOverlappedRoutes
2270  if (viewNet->getDemandViewOptions().menuCheckShowOverlappedRoutes->amChecked() == TRUE) {
2271  // show extra information for tests
2272  WRITE_DEBUG("Disabled show overlapped routes throught alt + " + toString(numericalKeyPressed + 1));
2273  } else {
2274  // show extra information for tests
2275  WRITE_DEBUG("Enabled show overlapped routes throught alt + " + toString(numericalKeyPressed + 1));
2276  }
2277  // Call manually onCmdToggleHideNonInspecteDemandElements
2278  viewNet->onCmdToggleShowOverlappedRoutes(obj, sel, nullptr);
2279  } else {
2280  return false;
2281  }
2282  return true;
2283 }
2284 
2285 
2286 bool
2287 GNEApplicationWindowHelper::toggleEditOptionsData(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, const int numericalKeyPressed, FXObject* obj, FXSelector sel) {
2288  if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleDrawJunctionShape) {
2289  // Toggle menuCheckToggleDrawJunctionShape
2291  // show extra information for tests
2292  WRITE_DEBUG("Disabled draw junction shape throught alt + " + toString(numericalKeyPressed + 1));
2293  } else {
2294  // show extra information for tests
2295  WRITE_DEBUG("Enabled draw junction shape throught alt + " + toString(numericalKeyPressed + 1));
2296  }
2297  // Call manually onCmdToggleDrawJunctionShape
2298  viewNet->onCmdToggleDrawJunctionShape(obj, sel, nullptr);
2299  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowAdditionals) {
2300  // Toggle menuCheckHideShapes
2301  if (viewNet->getDataViewOptions().menuCheckShowAdditionals->amChecked() == TRUE) {
2302  // show extra information for tests
2303  WRITE_DEBUG("Disabled show additionals throught alt + " + toString(numericalKeyPressed + 1));
2304  } else {
2305  // show extra information for tests
2306  WRITE_DEBUG("Enabled show shapes throught alt + " + toString(numericalKeyPressed + 1));
2307  }
2308  // Call manually onCmdToggleShowAdditionals
2309  viewNet->onCmdToggleShowAdditionals(obj, sel, nullptr);
2310  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowShapes) {
2311  // Toggle menuCheckHideShapes
2312  if (viewNet->getDataViewOptions().menuCheckShowShapes->amChecked() == TRUE) {
2313  // show extra information for tests
2314  WRITE_DEBUG("Disabled show shapes throught alt + " + toString(numericalKeyPressed + 1));
2315  } else {
2316  // show extra information for tests
2317  WRITE_DEBUG("Enabled show shapes throught alt + " + toString(numericalKeyPressed + 1));
2318  }
2319  // Call manually onCmdToggleShowShapes
2320  viewNet->onCmdToggleShowShapes(obj, sel, nullptr);
2321  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowDemandElements) {
2322  // Toggle menuCheckShowDemandElements
2323  if (viewNet->getDataViewOptions().menuCheckShowDemandElements->amChecked() == TRUE) {
2324  // show extra information for tests
2325  WRITE_DEBUG("Disabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
2326  } else {
2327  // show extra information for tests
2328  WRITE_DEBUG("Enabled show demand elements throught alt + " + toString(numericalKeyPressed + 1));
2329  }
2330  // Call manually onCmdToggleShowDemandElementsData
2331  viewNet->onCmdToggleShowDemandElementsData(obj, sel, nullptr);
2332  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZRelDrawing) {
2333  // Toggle menuCheckToggleTAZRelDrawing
2334  if (viewNet->getDataViewOptions().menuCheckToggleTAZRelDrawing->amChecked() == TRUE) {
2335  // show extra information for tests
2336  WRITE_DEBUG("Disabled toggle TAXRel drawing throught alt + " + toString(numericalKeyPressed + 1));
2337  } else {
2338  // show extra information for tests
2339  WRITE_DEBUG("Enabled toggle TAXRel drawing throught alt + " + toString(numericalKeyPressed + 1));
2340  }
2341  // Call manually onCmdToggleTAZRelDrawing
2342  viewNet->onCmdToggleTAZRelDrawing(obj, sel, nullptr);
2343  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZDrawFill) {
2344  // Toggle menuCheckToggleTAZDrawFill
2345  if (viewNet->getDataViewOptions().menuCheckToggleTAZDrawFill->amChecked() == TRUE) {
2346  // show extra information for tests
2347  WRITE_DEBUG("Disabled toggle TAZ draw fill throught alt + " + toString(numericalKeyPressed + 1));
2348  } else {
2349  // show extra information for tests
2350  WRITE_DEBUG("Enabled toggle TAZ draw fill throught alt + " + toString(numericalKeyPressed + 1));
2351  }
2352  // Call manually onCmdToggleTAZDrawFill
2353  viewNet->onCmdToggleTAZDrawFill(obj, sel, nullptr);
2354  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZRelOnlyFrom) {
2355  // Toggle menuCheckToggleTAZRelOnlyFrom
2356  if (viewNet->getDataViewOptions().menuCheckToggleTAZRelOnlyFrom->amChecked() == TRUE) {
2357  // show extra information for tests
2358  WRITE_DEBUG("Disabled toggle TAZRel only from throught alt + " + toString(numericalKeyPressed + 1));
2359  } else {
2360  // show extra information for tests
2361  WRITE_DEBUG("Enabled toggle TAZRel only from throught alt + " + toString(numericalKeyPressed + 1));
2362  }
2363  // Call manually onCmdToggleTAZRelOnlyFrom
2364  viewNet->onCmdToggleTAZRelOnlyFrom(obj, sel, nullptr);
2365  } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZRelOnlyTo) {
2366  // Toggle menuCheckToggleTAZRelOnlyTo
2367  if (viewNet->getDataViewOptions().menuCheckToggleTAZRelOnlyTo->amChecked() == TRUE) {
2368  // show extra information for tests
2369  WRITE_DEBUG("Disabled toggle TAZRel only to throught alt + " + toString(numericalKeyPressed + 1));
2370  } else {
2371  // show extra information for tests
2372  WRITE_DEBUG("Enabled toggle TAZRel only to throught alt + " + toString(numericalKeyPressed + 1));
2373  }
2374  // Call manually onCmdToggleTAZRelOnlyTo
2375  viewNet->onCmdToggleTAZRelOnlyTo(obj, sel, nullptr);
2376  } else {
2377  return false;
2378  }
2379  return true;
2380 }
2381 
2382 
2383 bool
2384 GNEApplicationWindowHelper::stringEndsWith(const std::string& str, const std::string& suffix) {
2385  if (str.length() < suffix.length()) {
2386  return false;
2387  } else {
2388  return str.compare(str.length() - suffix.length(), suffix.length(), suffix) == 0;
2389  }
2390 }
2391 
2392 /****************************************************************************/
2393 
@ MID_GNE_TOOLBAREDIT_LOADADDITIONALS
load additionals in SUMO-GUI after press ctrl+T
Definition: GUIAppEnum.h:725
@ MID_GNE_NETWORKVIEWOPTIONS_AUTOOPPOSITEEDGES
automatically create opposite edge
Definition: GUIAppEnum.h:777
@ MID_HOTKEY_A_MODE_ADDITIONAL_STOP
hotkey for mode editing additionals AND stops
Definition: GUIAppEnum.h:43
@ MID_HOTKEY_SHIFT_F7_ADJUST_PERSON_PLANS
Adjust person plans (start und end positions, arrival positions, etc.)
Definition: GUIAppEnum.h:228
@ MID_HOTKEY_SHIFT_F5_COMPUTEJUNCTIONS_VOLATILE
compute junctions with volatile options
Definition: GUIAppEnum.h:226
@ MID_HOTKEY_CTRL_SHIFT_B_SAVEDATAELEMENTS
save Data Elements
Definition: GUIAppEnum.h:163
@ MID_HOTKEY_F3_SUPERMODE_DEMAND
select demand supermode in NETEDIT
Definition: GUIAppEnum.h:193
@ MID_GNE_UNDOLISTDIALOG
open undo list dialog
Definition: GUIAppEnum.h:1433
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLPERSONPLANS
show all person plans
Definition: GUIAppEnum.h:809
@ MID_GNE_UNLOCK_ALLELEMENTS
unlock all element
Definition: GUIAppEnum.h:787
@ MID_HOTKEY_CTRL_SHIFT_M_SAVESUMOCONFIG
save SUMOConfig
Definition: GUIAppEnum.h:171
@ MID_GNE_DATAVIEWOPTIONS_TAZRELDRAWING
toggle TAZRel drawing
Definition: GUIAppEnum.h:833
@ MID_GNE_TOGGLE_COMPUTE_NETWORK_DATA
enable/disable computing after switchin between supermodes
Definition: GUIAppEnum.h:731
@ MID_LOCATEPERSON
Locate person - button.
Definition: GUIAppEnum.h:369
@ MID_GNE_NETWORKVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
Definition: GUIAppEnum.h:751
@ MID_HOTKEY_CTRL_Y_REDO
Undo.
Definition: GUIAppEnum.h:121
@ MID_HOTKEY_CTRL_SHIFT_H_SAVEEDGETYPES
save Edge Types
Definition: GUIAppEnum.h:161
@ MID_GNE_NETWORKVIEWOPTIONS_MOVEELEVATION
move elevation instead of x,y
Definition: GUIAppEnum.h:773
@ MID_GNE_TOOLBARFILE_RELOAD_EDGETYPES
reload edge types
Definition: GUIAppEnum.h:693
@ MID_LOCATEJUNCTION
Locate junction - button.
Definition: GUIAppEnum.h:357
@ MID_GNE_NETWORKVIEWOPTIONS_HIDECONNECTIONS
hide connections
Definition: GUIAppEnum.h:759
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWCONNECTIONS
show connections
Definition: GUIAppEnum.h:757
@ MID_GNE_SAVEALLELEMENTS
save all element
Definition: GUIAppEnum.h:683
@ MID_GNE_TOOLBAREDIT_LOADDEMAND
load demand in SUMO-GUI after press ctrl+T
Definition: GUIAppEnum.h:727
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYTO
toggle draw TAZRel only to
Definition: GUIAppEnum.h:839
@ MID_OPEN_CONFIG
Open configuration - ID.
Definition: GUIAppEnum.h:270
@ MID_HOTKEY_M_MODE_MOVE
hotkey for mode moving element
Definition: GUIAppEnum.h:57
@ MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
Definition: GUIAppEnum.h:117
@ MID_GNE_LOCK_ALLELEMENTS
lock all element
Definition: GUIAppEnum.h:785
@ MID_HOTKEY_F7_JOIN_SELECTEDJUNCTIONS_ROUTES
join selected junctions in network mode and normalice demand element ids in demand mode
Definition: GUIAppEnum.h:201
@ 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:197
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWTAZELEMENTS
show TAZ elements
Definition: GUIAppEnum.h:763
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKPERSON
lock person
Definition: GUIAppEnum.h:811
@ MID_HOTKEY_Z_MODE_TAZ_TAZREL
hotkey for mode editing TAZ and TAZRel
Definition: GUIAppEnum.h:71
@ MID_HOTKEY_F9_EDIT_VIEWSCHEME
open edit scheme menu
Definition: GUIAppEnum.h:205
@ MID_GNE_DEMANDVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
Definition: GUIAppEnum.h:799
@ MID_GNE_LOCK_SELECTEDELEMENTS
lock selected element
Definition: GUIAppEnum.h:789
@ MID_LOCATEPOLY
Locate polygons - button.
Definition: GUIAppEnum.h:379
@ MID_GNE_TOOLBARFILE_SAVESUMOCONFIG_AS
save SUMOConfig as
Definition: GUIAppEnum.h:699
@ MID_GNE_TOOLBARFILE_RELOAD_TLSPROGRAMS
reload TLS Programs
Definition: GUIAppEnum.h:689
@ MID_HOTKEY_CTRL_N_NEWNETWORK
create new empty network
Definition: GUIAppEnum.h:103
@ MID_HOTKEY_CTRL_SHIFT_S_SAVENETWORK_AS
save network as
Definition: GUIAppEnum.h:173
@ MID_GNE_NETWORKVIEWOPTIONS_ASKFORMERGE
ask before merging junctions
Definition: GUIAppEnum.h:769
@ MID_GNE_TOOLBARFILE_OPENFOREIGN
open foreign network
Definition: GUIAppEnum.h:681
@ 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:797
@ MID_HOTKEY_CTRL_SHIFT_D_SAVEDEMANDELEMENTS
Save Demand Elements.
Definition: GUIAppEnum.h:165
@ MID_HOTKEY_CTRL_R_RELOAD
Reload the previously loaded simulation.
Definition: GUIAppEnum.h:109
@ MID_HOTKEY_CTRL_S_STOPSIMULATION_SAVENETWORK
Stop the simulation in SUMO and save network in NETEDIT.
Definition: GUIAppEnum.h:107
@ MID_GNE_NETWORKVIEWOPTIONS_CHAINEDGES
create edges in chain mode
Definition: GUIAppEnum.h:775
@ MID_GNE_TOOLBARFILE_SAVEDATA_AS
save data elements as
Definition: GUIAppEnum.h:707
@ MID_HOTKEY_F10_OPTIONSMENU
open options menu
Definition: GUIAppEnum.h:207
@ MID_HOTKEY_F11_FRONTELEMENT
set/clear front element
Definition: GUIAppEnum.h:209
@ MID_HOTKEY_F8_CLEANINVALID_CROSSINGS_DEMANDELEMENTS
clean invalid crossings in network mode and demand elements in demand mode
Definition: GUIAppEnum.h:203
@ MID_GNE_DATAVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
Definition: GUIAppEnum.h:831
@ MID_HOTKEY_H_MODE_PROHIBITION_CONTAINERPLAN
hotkey for mode prohibition AND container plan
Definition: GUIAppEnum.h:53
@ MID_HOTKEY_T_MODE_TLS_TYPE
hotkey for mode editing TLS AND Vehicle Types
Definition: GUIAppEnum.h:65
@ MID_LOCATEADD
Locate additional structure - button.
Definition: GUIAppEnum.h:375
@ MID_LOCATEPOI
Locate poi - button.
Definition: GUIAppEnum.h:377
@ MID_GNE_DEMANDVIEWOPTIONS_HIDESHAPES
hide shapes
Definition: GUIAppEnum.h:805
@ MID_OPEN_NETWORK
Open network - ID.
Definition: GUIAppEnum.h:272
@ MID_GNE_TOOLBARFILE_SAVETLSPROGRAMS_AS
save TLS Programs as
Definition: GUIAppEnum.h:697
@ MID_GNE_DATAVIEWOPTIONS_SHOWADDITIONALS
show additionals
Definition: GUIAppEnum.h:827
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWBUBBLES
show junctions as bubbles
Definition: GUIAppEnum.h:771
@ MID_GNE_TOOLBARFILE_RELOAD_DEMANDELEMENTS
reload demand elements
Definition: GUIAppEnum.h:705
@ MID_GNE_NETWORKVIEWOPTIONS_EXTENDSELECTION
extend selection
Definition: GUIAppEnum.h:765
@ MID_HOTKEY_CTRL_I_EDITVIEWPORT
Open viewport editor.
Definition: GUIAppEnum.h:91
@ MID_HOTKEY_S_MODE_SELECT
hotkey for mode selecting objects
Definition: GUIAppEnum.h:61
@ MID_RECENTFILE
Loads a file previously loaded.
Definition: GUIAppEnum.h:278
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWSUBADDITIONALS
show sub-additionals
Definition: GUIAppEnum.h:761
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLCONTAINERPLANS
show all container plans
Definition: GUIAppEnum.h:813
@ MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW
Open a New Window.
Definition: GUIAppEnum.h:169
@ MID_HOTKEY_F4_SUPERMODE_DATA
select data supermode in NETEDIT
Definition: GUIAppEnum.h:195
@ MID_HOTKEY_F6_CLEAN_SOLITARYJUNCTIONS_UNUSEDROUTES
clean junctions without edges in network mode and unused routes in demand mode
Definition: GUIAppEnum.h:199
@ MID_LOCATESTOP
Locate stop - button.
Definition: GUIAppEnum.h:367
@ MID_HOTKEY_CTRL_K_OPENTLSPROGRAMS
Load file with TLS Programs.
Definition: GUIAppEnum.h:97
@ MID_GNE_LOCK_ELEMENT
lock element
Definition: GUIAppEnum.h:783
@ MID_CLEARMESSAGEWINDOW
Clear simulation output.
Definition: GUIAppEnum.h:339
@ MID_HOTKEY_R_MODE_CROSSING_ROUTE_EDGERELDATA
hotkey for mode editing crossing, routes and edge rel datas
Definition: GUIAppEnum.h:63
@ MID_HOTKEY_W_MODE_WIRE
hotkey for mode editing overhead wires
Definition: GUIAppEnum.h:69
@ MID_GNE_DATAVIEWOPTIONS_TAZDRAWFILL
toggle draw TAZ fill
Definition: GUIAppEnum.h:835
@ MID_HOTKEY_D_MODE_DELETE
hotkey for mode deleting things
Definition: GUIAppEnum.h:47
@ MID_GNE_TOOLBARFILE_RELOAD_ADDITIONALS
reload additionals
Definition: GUIAppEnum.h:695
@ MID_HOTKEY_V_MODE_VEHICLE
hotkey for mode create vehicles
Definition: GUIAppEnum.h:67
@ MID_HOTKEY_I_MODE_INSPECT
hotkey for mode inspecting object attributes
Definition: GUIAppEnum.h:55
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
Definition: GUIAppEnum.h:753
@ MID_GNE_TOOLBARFILE_SAVEADDITIONALS_AS
save additionals as
Definition: GUIAppEnum.h:687
@ MID_GNE_TOOLBARFILE_SAVEEDGETYPES_AS
save edgeTypes as
Definition: GUIAppEnum.h:701
@ MID_HOTKEY_C_MODE_CONNECT_PERSONPLAN
hotkey for mode connecting lanes ABD person plan
Definition: GUIAppEnum.h:45
@ MID_GNE_DEMANDVIEWOPTIONS_HIDENONINSPECTED
hide non-inspected demand element
Definition: GUIAppEnum.h:803
@ MID_HOTKEY_CTRL_SHIFT_A_SAVEADDITIONALS
Save Additional Elements.
Definition: GUIAppEnum.h:159
@ MID_LOCATEWALKINGAREA
Locate edge - button.
Definition: GUIAppEnum.h:361
@ MID_LOCATEEDGE
Locate edge - button.
Definition: GUIAppEnum.h:359
@ MID_HOTKEY_G_MODE_CONTAINER
hotkey for mode container
Definition: GUIAppEnum.h:51
@ MID_GNE_NETWORKVIEWOPTIONS_CHANGEALLPHASES
change all phases
Definition: GUIAppEnum.h:767
@ MID_HOTKEY_CTRL_A_STARTSIMULATION_OPENADDITIONALS
Start the simulation in SUMO and open Additionals Elements in NETEDIT.
Definition: GUIAppEnum.h:79
@ MID_GNE_DATAVIEWOPTIONS_SHOWSHAPES
show shapes
Definition: GUIAppEnum.h:829
@ MID_HOTKEY_E_MODE_EDGE_EDGEDATA
hotkey for mode adding edges AND edgeDatas
Definition: GUIAppEnum.h:49
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYFROM
toggle draw TAZRel only from
Definition: GUIAppEnum.h:837
@ MID_GNE_TOOLBARTOOLS_NETDIFF
call tool netdiff
Definition: GUIAppEnum.h:717
@ MID_LOCATEVEHICLE
Locate vehicle - button.
Definition: GUIAppEnum.h:363
@ MID_LOCATETLS
Locate TLS - button.
Definition: GUIAppEnum.h:373
@ MID_GNE_TOOLBARFILE_RELOAD_SUMOCONFIG
reload SUMOConfig
Definition: GUIAppEnum.h:691
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
Definition: GUIAppEnum.h:749
@ MID_HOTKEY_CTRL_M_OPENSUMOCONFIG
open sumo config
Definition: GUIAppEnum.h:101
@ MID_GNE_TOOLBARFILE_SAVEDEMAND_AS
save demand elements as
Definition: GUIAppEnum.h:703
@ MID_GNE_DEMANDVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
Definition: GUIAppEnum.h:801
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWOVERLAPPEDROUTES
show overlapped routes
Definition: GUIAppEnum.h:817
@ MID_HOTKEY_CTRL_Z_UNDO
Redo.
Definition: GUIAppEnum.h:123
@ MID_GNE_TOOLBARFILE_RELOAD_DATAELEMENTS
reload data elements
Definition: GUIAppEnum.h:709
@ MID_HOTKEY_CTRL_SHIFT_K_SAVETLS
save TLS Programs
Definition: GUIAppEnum.h:167
@ MID_HOTKEY_F2_SUPERMODE_NETWORK
select network supermode in NETEDIT
Definition: GUIAppEnum.h:191
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKCONTAINER
lock container
Definition: GUIAppEnum.h:815
@ MID_GNE_NETWORKVIEWOPTIONS_SELECTEDGES
select edges
Definition: GUIAppEnum.h:755
@ MID_HOTKEY_CTRL_H_OPENEDGETYPES
open edge type files
Definition: GUIAppEnum.h:89
@ MID_GNE_SAVEJOINEDJUNCTIONS
save joined junctions
Definition: GUIAppEnum.h:685
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWTRIPS
show all trips
Definition: GUIAppEnum.h:807
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEGRID
show grid
Definition: GUIAppEnum.h:747
@ MID_LOCATEROUTE
Locate route - button.
Definition: GUIAppEnum.h:365
@ MID_HOTKEY_P_MODE_POLYGON_PERSON
hotkey for mode creating polygons
Definition: GUIAppEnum.h:59
@ 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:113
#define GUIDesignToolbarMenuBarNetedit
design for top toolbar (file, edit, processing...) used only in netedit (due supermodes buttons)
Definition: GUIDesigns.h:423
#define GUIDesignToolBarGrip
design for toolbar grip (used to change the position of toolbar with mouse)
Definition: GUIDesigns.h:438
#define GUIDesignToolBar
design for default toolbar
Definition: GUIDesigns.h:426
#define GUIDesignToolBarRaisedNext
design for first toolbar shell positioned in the next position of dock
Definition: GUIDesigns.h:432
#define GUIDesignToolBarRaisedSame
design for toolbar
Definition: GUIDesigns.h:429
@ 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
@ COMMONMODE_CHECKBOX_TOGGLEDRAWJUNCTIONSHAPE
@ DATAMODE_CHECKBOX_SHOWSHAPES
@ NETWORKMODE_CHECKBOX_SELECTEDGES
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
@ COMPUTEJUNCTIONS
@ DEMANDMODE_CHECKBOX_LOCKPERSON
@ LOCATEVEHICLE
@ FRONTELEMENT
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
@ TRANSHIP_FROMTO
@ MODECREATEEDGE
@ LOCATEWALKINGAREA
@ 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
@ NETWORKMODE_CHECKBOX_SHOWTAZELEMENTS
@ SUPERMODEDATA
@ PERSONTRIP_FROMTO
@ SAVEADDITIONALELEMENTS
@ MODECONNECTION
@ LOCATEJUNCTION
@ MODECONTAINERPLAN
@ NETWORKMODE_CHECKBOX_CHAIN
@ COMPUTEDEMAND
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ NETWORKMODE_CHECKBOX_ASKFORMERGE
@ OVERHEADWIRE
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ OPEN_TLSPROGRAMS
@ JOINJUNCTIONS
@ MODETAZRELDATA
@ OPEN_SUMOCONFIG
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
#define WRITE_DEBUG(msg)
Definition: MsgHandler.h:276
#define TL(string)
Definition: MsgHandler.h:282
@ SUMO_TAG_EDGEREL
a relation between two edges
@ SUMO_TAG_ADDITIONALFILES
additional files
@ SUMO_TAG_NETFILE
net file
@ SUMO_TAG_CONNECTION
connectio between two lanes
@ SUMO_TAG_WALKINGAREA
walking area for pedestrians
@ SUMO_TAG_CONFIGURATION
@ 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_DATAFILES
data files
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ SUMO_TAG_ROUTEFILES
route files
@ SUMO_TAG_EDGE
begin/end of the description of an edge
@ SUMO_ATTR_DATAFILES
route files
@ SUMO_ATTR_CONFIGFILE
@ SUMO_ATTR_NETFILE
net file
@ SUMO_ATTR_VALUE
@ SUMO_ATTR_ADDITIONALFILES
additional files
@ SUMO_ATTR_ROUTEFILES
route files
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:46
bool hasStringAttribute(const SumoXMLAttr attr) const
has function
const std::string & getStringAttribute(const SumoXMLAttr attr) const
get string attribute
handler for SUMOConfigs
Definition: ConfigHandler.h:31
Functions for an easier usage of files and paths.
Definition: FileHelpers.h:38
static bool isAbsolute(const std::string &path)
Returns the information whether the given path is absolute.
GNEConfigHandler(GNEApplicationWindow *applicationWindow, const std::string &file)
Constructor.
void loadConfig(CommonXMLStructure::SumoBaseObject *configObj)
Load net file.
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 isShapeElement() const
return true if tag correspond to a shape
bool isTAZElement() const
return true if tag correspond to a TAZ 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 isWireElement() const
return true if tag correspond to a Wire 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 (note: this include TAZ, shapes and wires)
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:656
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 onCmdToggleShowTAZElements(FXObject *, FXSelector, void *)
toggle show TAZ elements
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:644
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 onCmdToggleDrawJunctionShape(FXObject *, FXSelector, void *)
toggle draw junction shape
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:650
long onCmdToggleHideConnections(FXObject *, FXSelector, void *)
toggle hide connections
static MFXMenuCheckIcon * 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
A storage for options typed value containers)
Definition: OptionsCont.h:89
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
bool set(const std::string &name, const std::string &value, const bool append=false)
Sets the given value for the named option.
void resetWritable()
Resets all options to be writeable.
static OptionsCont & getOptions()
Retrieves the options.
Definition: OptionsCont.cpp:59
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:61
void close()
Closes the device and removes it from the dictionary.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
Definition: OutputDevice.h:251
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
static OutputDevice & getDevice(const std::string &name, bool usePrefix=true)
Returns the described OutputDevice.
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 dialog.
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 *fileMenuSUMOConfig, 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 buildProcessingMenuCommands(FXMenuPane *processingMenu)
build menu commands
void showNetworkProcessingMenuCommands()
show network processing 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 stringEndsWith(const std::string &str, const std::string &suffix)
check if a string ends with another string
static void saveSUMOConfig()
save SUMOConfig
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 * menuCheckToggleTAZDrawFill
menu check to toggle TAZ draw fill
MFXCheckableButton * menuCheckShowAdditionals
menu check to show Additionals
MFXCheckableButton * menuCheckShowShapes
menu check to show Shapes
MFXCheckableButton * menuCheckToggleTAZRelOnlyFrom
menu check to toggle TAZRel only from
MFXCheckableButton * menuCheckToggleDrawJunctionShape
checkable button to show junction shapes
MFXCheckableButton * menuCheckToggleTAZRelDrawing
menu check to toggle TAZ Rel drawing
MFXCheckableButton * menuCheckShowDemandElements
menu check to show Demand Elements
MFXCheckableButton * menuCheckToggleTAZRelOnlyTo
menu check to toggle TAZRel only to
MFXCheckableButton * menuCheckShowAllTrips
show all trips
MFXCheckableButton * menuCheckToggleGrid
menu check to show grid button
MFXCheckableButton * menuCheckToggleDrawJunctionShape
checkable button to show junction shapes
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 * menuCheckShowTAZElements
checkable button to show TAZ elements
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 * menuCheckToggleDrawJunctionShape
checkable button to show junction shapes
MFXCheckableButton * menuCheckToggleGrid
checkable button to show grid button
MFXCheckableButton * menuCheckShowJunctionBubble
checkable button to show connection as bubble 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