Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEApplicationWindowHelper.cpp
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
18// The main window of Netedit (adapted from GUIApplicationWindow)
19/****************************************************************************/
20#include <config.h>
21
22#include <regex>
28#include <netedit/templates.h>
35#include <xercesc/parsers/SAXParser.hpp>
36#include <xercesc/sax/AttributeList.hpp>
37#include <xercesc/sax/HandlerBase.hpp>
38#include <xercesc/sax/SAXException.hpp>
39#include <xercesc/sax/SAXParseException.hpp>
40
42#include "GNEViewNet.h"
43#include "GNENet.h"
44
45// ===========================================================================
46// GNEApplicationWindowHelper::ToolbarsGrip method definitions
47// ===========================================================================
48
50 myApplicationWindow(applicationWindow) {
51}
52
53
54void
56 // build menu bar (for File, edit, processing...) using specify design
57 myPythonToolBarShellMenu = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
58 menu = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellMenu, GUIDesignToolbarMenuBarNetedit);
59 // declare toolbar grip for menu bar
60 new FXToolBarGrip(menu, menu, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
61}
62
63
64void
66 // build toolbar shells
67 myPythonToolBarShellSuperModes = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
68 myPythonToolBarShellSaveElements = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
69 myPythonToolBarShellTimeFormat = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
70 myPythonToolBarShellNavigation = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
71 myPythonToolBarShellModes = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
72 myPythonToolBarShellIntervalBar = new FXToolBarShell(myApplicationWindow, GUIDesignToolBar);
73 // build menu bars
74 superModes = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellSuperModes, GUIDesignToolBarRaisedSupermodes);
75 saveElements = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellSaveElements, GUIDesignToolBarRaisedNext);
76 timeSwitch = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellTimeFormat, GUIDesignToolBarRaisedSame);
77 navigation = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellNavigation, GUIDesignToolBarRaisedSame);
78 if (OptionsCont::getOptions().getBool("gui-testing")) {
79 modes = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellModes, GUIDesignToolBarRaisedNext);
80 } else {
81 modes = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellModes, GUIDesignToolBarRaisedSame);
82 }
83 intervalBar = new FXMenuBar(myApplicationWindow->getTopDock(), myPythonToolBarShellIntervalBar, GUIDesignToolBarRaisedNext);
84 // build FXToolBarGrip
85 new FXToolBarGrip(superModes, superModes, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
86 new FXToolBarGrip(saveElements, saveElements, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
87 new FXToolBarGrip(timeSwitch, timeSwitch, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
88 new FXToolBarGrip(navigation, navigation, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
89 new FXToolBarGrip(modes, modes, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
90 new FXToolBarGrip(intervalBar, intervalBar, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
91 // create menu bars
92 superModes->create();
93 saveElements->create();
94 timeSwitch->create();
95 navigation->create();
96 modes->create();
97 intervalBar->create();
98 // create toolbar shells
99 myPythonToolBarShellSuperModes->create();
100 myPythonToolBarShellSaveElements->create();
101 myPythonToolBarShellTimeFormat->create();
102 myPythonToolBarShellNavigation->create();
103 myPythonToolBarShellModes->create();
104 myPythonToolBarShellIntervalBar->create();
105 // recalc top dop after creating elements
106 myApplicationWindow->getTopDock()->recalc();
107}
108
109
110void
112 // delete Menu bars
113 delete superModes;
114 delete saveElements;
115 delete timeSwitch;
116 delete navigation;
117 delete modes;
118 delete intervalBar;
119 // also delete toolbar shells to avoid floating windows
120 delete myPythonToolBarShellSuperModes;
121 delete myPythonToolBarShellSaveElements;
122 delete myPythonToolBarShellTimeFormat;
123 delete myPythonToolBarShellNavigation;
124 delete myPythonToolBarShellModes;
125 delete myPythonToolBarShellIntervalBar;
126 // recalc top dop after deleting elements
127 myApplicationWindow->getTopDock()->recalc();
128}
129
130// ===========================================================================
131// GNEApplicationWindowHelper::MenuBarFile method definitions
132// ===========================================================================
133
135 myRecentNetworks(applicationWindow->getApp(), TL("nets")),
136 myRecentConfigs(applicationWindow->getApp(), TL("configs")),
137 myApplicationWindow(applicationWindow) {
138}
139
140
141void
142GNEApplicationWindowHelper::MenuBarFile::buildRecentNetworkFiles(FXMenuPane* fileMenu, FXMenuPane* fileMenuRecentNetworkFiles) {
143 // for whatever reason, sonar complains in the next line that sep1 may leak, but fox does the cleanup
144 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_1);
145 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_2);
146 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_3);
147 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_4);
148 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_5);
149 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_6);
150 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_7);
151 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_8);
152 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_9);
153 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentNetworkFiles, "", &myRecentNetworks, FXRecentFiles::ID_FILE_10);
154 new FXMenuSeparator(fileMenuRecentNetworkFiles); // NOSONAR, Fox does the cleanup
155 GUIDesigns::buildFXMenuCommand(fileMenuRecentNetworkFiles, TL("Cl&ear Recent Networks"), nullptr, &myRecentNetworks, FXRecentFiles::ID_CLEAR);
156 GUIDesigns::buildFXMenuCommand(fileMenuRecentNetworkFiles, TL("No Recent Networks"), nullptr, &myRecentNetworks, MFXRecentNetworks::ID_NOFILES);
157 // set target
158 myRecentNetworks.setTarget(myApplicationWindow);
159 myRecentNetworks.setSelector(MID_RECENTFILE);
160 new FXMenuCascade(fileMenu, TL("Recent Networks"), nullptr, fileMenuRecentNetworkFiles);
161}
162
163
164void
165GNEApplicationWindowHelper::MenuBarFile::buildRecentConfigFiles(FXMenuPane* fileMenu, FXMenuPane* fileMenuRecentConfigFiles) {
166 // for whatever reason, sonar complains in the next line that sep1 may leak, but fox does the cleanup
167 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_1);
168 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_2);
169 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_3);
170 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_4);
171 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_5);
172 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_6);
173 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_7);
174 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_8);
175 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_9);
176 GUIDesigns::buildFXMenuCommandRecentFile(fileMenuRecentConfigFiles, "", &myRecentConfigs, FXRecentFiles::ID_FILE_10);
177 new FXMenuSeparator(fileMenuRecentConfigFiles); // NOSONAR, Fox does the cleanup
178 GUIDesigns::buildFXMenuCommand(fileMenuRecentConfigFiles, TL("Cl&ear Recent Configs"), nullptr, &myRecentConfigs, FXRecentFiles::ID_CLEAR);
179 GUIDesigns::buildFXMenuCommand(fileMenuRecentConfigFiles, TL("No Recent Configs"), nullptr, &myRecentConfigs, MFXRecentNetworks::ID_NOFILES);
180 // set target
181 myRecentConfigs.setTarget(myApplicationWindow);
182 myRecentConfigs.setSelector(MID_RECENTFILE);
183 new FXMenuCascade(fileMenu, TL("Recent Configs"), nullptr, fileMenuRecentConfigFiles);
184}
185
186// ---------------------------------------------------------------------------
187// GNEApplicationWindowHelper::FileMenuCommands - methods
188// ---------------------------------------------------------------------------
189
191 myApplicationWindow(applicationWindow) {
192}
193
194
195void
196GNEApplicationWindowHelper::FileMenuCommands::buildFileMenuCommands(FXMenuPane* fileMenu, FXMenuPane* fileMenuNeteditConfig,
197 FXMenuPane* fileMenuSumoConfig, FXMenuPane* fileMenuTLS, FXMenuPane* fileMenuEdgeTypes, FXMenuPane* fileMenuAdditionals,
198 FXMenuPane* fileMenuDemandElements, FXMenuPane* fileMenuDataElements, FXMenuPane* fileMenuMeanDataElements) {
199
201 TL("New Network"), "Ctrl+N", TL("Create a new network."),
203
205 TL("New Window"), "Ctrl+Shift+N", TL("Open a new netedit window."),
206 nullptr, myApplicationWindow, MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW);
207
209 TL("Generate Network"), "", TL("Create network using netgenerate."),
211
212 // load sumo/netedit configs
213 new FXMenuSeparator(fileMenu);
214
216 TL("Load Netedit config..."), "Ctrl+E", TL("Load a netedit configuration file."),
218
220 TL("Load Sumo config..."), "Ctrl+M", TL("Load a SUMO configuration file."),
222
223 // load networks
224 new FXMenuSeparator(fileMenu);
225
227 TL("Open Network..."), "Ctrl+O", TL("Open a SUMO network."),
229
231 TL("Open Netconvert Configuration..."), "Ctrl+Shift+O", TL("Open a configuration file with NETCONVERT options."),
233
235 TL("Import Foreign Network..."), "", TL("Import a foreign network such as OSM."),
237
238 // save networks
239 new FXMenuSeparator(fileMenu);
240
242 TL("Save Network"), "Ctrl+S", TL("Save the network."),
244
246 TL("Save Network As..."), "", TL("Save the network to another file."),
248
250 TL("Save Plain XML..."), "Ctrl+L", TL("Save a plain XML representation of the network."),
252
254 TL("Save Joined Junctions..."), "", TL("Save log of joined junctions (allows reproduction of joins)."),
256
257 // reload
258 new FXMenuSeparator(fileMenu);
259
261 TL("Reload"), "Ctrl+R", TL("Reload the network."),
263
265 TL("Reload Network"), "", TL("Reload the network."),
267
268 new FXMenuSeparator(fileMenu);
269
270 // create netedit config menu options
271 buildNeteditConfigSection(fileMenuNeteditConfig);
272 myNeteditConfigMenuCascade = new FXMenuCascade(fileMenu, TL("Netedit Config"), GUIIconSubSys::getIcon(GUIIcon::NETEDIT_MINI), fileMenuNeteditConfig);
273
274 // create SumoConfig menu options
275 buildSumoConfigSection(fileMenuSumoConfig);
276 mySumoConfigMenuCascade = new FXMenuCascade(fileMenu, TL("Sumo Config"), GUIIconSubSys::getIcon(GUIIcon::SUMO_MINI), fileMenuSumoConfig);
277
278 // create TLS menu options
279 buildTrafficLightSection(fileMenuTLS);
280 myTLSMenuCascade = new FXMenuCascade(fileMenu, TL("Traffic Lights"), GUIIconSubSys::getIcon(GUIIcon::MODETLS), fileMenuTLS);
281
282 // create edgeTypes menu options
283 buildEdgeTypeSection(fileMenuEdgeTypes);
284 myEdgeTypesMenuCascade = new FXMenuCascade(fileMenu, TL("Edge Types"), GUIIconSubSys::getIcon(GUIIcon::MODECREATEEDGE), fileMenuEdgeTypes);
285
286 // create Additionals menu options
287 buildAdditionalSection(fileMenuAdditionals);
288 myAdditionalMenuCascade = new FXMenuCascade(fileMenu, TL("Additionals and Shapes"), GUIIconSubSys::getIcon(GUIIcon::MODEADDITIONAL), fileMenuAdditionals);
289
290 // create DemandElements menu options
291 buildDemandSection(fileMenuDemandElements);
292 myDemandMenuCascade = new FXMenuCascade(fileMenu, TL("Demand Elements"), GUIIconSubSys::getIcon(GUIIcon::SUPERMODEDEMAND), fileMenuDemandElements);
293
294 // create DataElements menu options
295 buildDataSection(fileMenuDataElements);
296 myDataMenuCascade = new FXMenuCascade(fileMenu, TL("Data Elements"), GUIIconSubSys::getIcon(GUIIcon::SUPERMODEDATA), fileMenuDataElements);
297
298 // create MeanDatas menu options
299 buildMeanDataSection(fileMenuMeanDataElements);
300 myMeanDataMenuCascade = new FXMenuCascade(fileMenu, TL("MeanData Elements"), GUIIconSubSys::getIcon(GUIIcon::MODEMEANDATA), fileMenuMeanDataElements);
301
302 // add checkBox for quick load
303 new FXMenuSeparator(fileMenu);
304 menuCheckAllowUndoRedoLoading = GUIDesigns::buildFXMenuCheckbox(fileMenu,
305 TL("Allow undoing element loading"), TL("Allow to undo loading of elements (Slow if a lot of elements are loaded)"),
306 myApplicationWindow, MID_GNE_TOGGLE_UNDOREDO_LOADING);
307 // set default value
308 menuCheckAllowUndoRedoLoading->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry("NETEDIT", "AllowUndoRedoLoading", true));
309
310 // close network
311 new FXMenuSeparator(fileMenu);
313 TL("Close"), "Ctrl+W", TL("Close the network."),
315}
316
317
318void
320 mySumoConfigMenuCascade->enable();
321 myNeteditConfigMenuCascade->enable();
322 myTLSMenuCascade->enable();
323 myEdgeTypesMenuCascade->enable();
324 myAdditionalMenuCascade->enable();
325 myDemandMenuCascade->enable();
326 myDataMenuCascade->enable();
327 myMeanDataMenuCascade->enable();
328}
329
330
331void
333 mySumoConfigMenuCascade->disable();
334 myNeteditConfigMenuCascade->disable();
335 myTLSMenuCascade->disable();
336 myEdgeTypesMenuCascade->disable();
337 myAdditionalMenuCascade->disable();
338 myDemandMenuCascade->disable();
339 myDataMenuCascade->disable();
340 myMeanDataMenuCascade->disable();
341}
342
343
344void
346 myTLSMenuCascade->show();
347 myDataMenuCascade->show();
348 myMeanDataMenuCascade->show();
349}
350
351
352void
354 myTLSMenuCascade->hide();
355 myDataMenuCascade->hide();
356 myMeanDataMenuCascade->hide();
357}
358
359
360void
363 TL("Save Netedit Config"), "Ctrl+Shift+E", TL("Save netedit configuration file."),
365
367 TL("Save Netedit Config As..."), "", TL("Save netedit configuration in a new file."),
369
370 new FXMenuSeparator(menuPane);
371
373 TL("Reload Netedit Config"), "", TL("Reload netedit configuration."),
375}
376
377
378void
381 TL("Save Sumo Config"), "Ctrl+Shift+S", TL("Save sumo configuration file."),
383
385 TL("Save Sumo Config As..."), "", TL("Save sumo configuration in a new file."),
387
388 new FXMenuSeparator(menuPane);
389
391 TL("Reload Sumo Config"), "", TL("Reload sumo configuration."),
393}
394
395
396void
399 TL("Load TLS Programs..."), "Ctrl+K", TL("Load programs for traffic lights in the current net."),
401
402 new FXMenuSeparator(menuPane);
403
405 TL("Save TLS Programs"), "Ctrl+Shift+K", TL("Save all traffic light programs of the current network."),
407
409 TL("Save TLS Programs As..."), "", TL("Save all traffic light programs of the current network to another file."),
411
412 new FXMenuSeparator(menuPane);
413
415 TL("Reload TLS Programs"), "", TL("Reload TLS Programs."),
417}
418
419
420void
423 TL("Load Edge Types..."), "Ctrl+H", TL("Load edge types in the current net."),
425
426 new FXMenuSeparator(menuPane);
427
429 TL("Save Edge Types"), "Ctrl+Shift+H", TL("Save edge types of the current net."),
431
433 TL("Save Edge Types As..."), "", TL("Save edge types of the current net to another file."),
435
436 new FXMenuSeparator(menuPane);
437
439 TL("Reload edge types"), "", TL("Reload edge types."),
441}
442
443
444void
447 TL("Load Additionals..."), "Ctrl+A", TL("Load additionals and shapes."),
449
450 new FXMenuSeparator(menuPane);
451
453 TL("Save Additionals"), "Ctrl+Shift+A", TL("Save additionals and shapes."),
455
457 TL("Save Additionals unified as..."), "", TL("Save all additional elements to the chosen file."),
459
461 TL("Save JuPedSim Elements as..."), "", TL("Save JuPedSim elements in a separated file."),
463
464 new FXMenuSeparator(menuPane);
465
467 TL("Reload Additionals"), "", TL("Reload additionals."),
469}
470
471
472void
475 TL("Load Demand Elements..."), "Ctrl+D", TL("Load demand elements."),
477
478 new FXMenuSeparator(menuPane);
479
481 TL("Save Demand Elements"), "Ctrl+Shift+D", TL("Save demand elements."),
483
485 TL("Save Demand Elements unified as..."), "", TL("Save all demand elements to the chosen file"),
487
488 new FXMenuSeparator(menuPane);
489
491 TL("Reload Demand Elements"), "", TL("Reload demand elements."),
493}
494
495
496void
499 TL("Load Data Elements..."), "Ctrl+B", TL("Load data elements."),
501
502 new FXMenuSeparator(menuPane);
503
505 TL("Save Data Elements"), "Ctrl+Shift+B", TL("Save data elements."),
507
509 TL("Save Data Elements unified as..."), "", TL("Save all data elements to the chosen file."),
511
512 new FXMenuSeparator(menuPane);
513
515 TL("Reload Data Elements"), "", TL("Reload data elements."),
517}
518
519
520void
523 TL("Load MeanDatas..."), "", TL("Load meanDatas and shapes."),
525
526 new FXMenuSeparator(menuPane);
527
529 TL("Save MeanDatas"), "", TL("Save meanDatas and shapes."),
531
533 TL("Save MeanDatas unified as..."), "Ctrl+Shift+M", TL("Save all meanData elements to the chosen file."),
535
536 new FXMenuSeparator(menuPane);
537
539 TL("Reload MeanDatas"), "", TL("Reload meanDatas."),
541}
542
543// ---------------------------------------------------------------------------
544// GNEApplicationWindowHelper::ModesMenuCommands::CommonMenuCommands - methods
545// ---------------------------------------------------------------------------
546
548 myModesMenuCommandsParent(modesMenuCommandsParent) {
549}
550
551
552void
554 // build every FXMenuCommand giving it a shortcut
555 inspectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
556 TL("&Inspect"), "I", TL("Inspect elements and change their attributes."),
557 GUIIconSubSys::getIcon(GUIIcon::MODEINSPECT), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_I_MODE_INSPECT);
558 deleteMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
559 TL("&Delete"), "D", TL("Delete elements."),
560 GUIIconSubSys::getIcon(GUIIcon::MODEDELETE), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_D_MODE_SINGLESIMULATIONSTEP_DELETE);
561 selectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
562 TL("&Select"), "S", TL("Select elements."),
563 GUIIconSubSys::getIcon(GUIIcon::MODESELECT), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_S_MODE_STOPSIMULATION_SELECT);
564}
565
566// ---------------------------------------------------------------------------
567// GNEApplicationWindowHelper::ModesMenuCommands::NetworkMenuCommands - methods
568// ---------------------------------------------------------------------------
569
571 myModesMenuCommandsParent(modesMenuCommandsParent) {
572}
573
574
575void
577 createEdgeMode->show();
578 moveMode->show();
579 connectMode->show();
580 prohibitionMode->show();
581 TLSMode->show();
582 additionalMode->show();
583 crossingMode->show();
584 TAZMode->show();
585 shapeMode->show();
586 wireMode->show();
587 decalMode->show();
588}
589
590
591void
593 createEdgeMode->hide();
594 moveMode->hide();
595 connectMode->hide();
596 prohibitionMode->hide();
597 TLSMode->hide();
598 additionalMode->hide();
599 crossingMode->hide();
600 TAZMode->hide();
601 shapeMode->hide();
602 wireMode->hide();
603 decalMode->hide();
604}
605
606
607void
609 // build every FXMenuCommand giving it a shortcut
610 moveMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
611 TL("&Move"), "M", TL("Move elements."),
612 GUIIconSubSys::getIcon(GUIIcon::MODEMOVE), myModesMenuCommandsParent->myApplicationWindow,
614 createEdgeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
615 TL("&Edge"), "E", TL("Create junction and edges."),
616 GUIIconSubSys::getIcon(GUIIcon::MODECREATEEDGE), myModesMenuCommandsParent->myApplicationWindow,
618 TLSMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
619 TL("&Traffic light"), "T", TL("Modes traffic lights over junctions."),
620 GUIIconSubSys::getIcon(GUIIcon::MODETLS), myModesMenuCommandsParent->myApplicationWindow,
622 connectMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
623 TL("&Connection"), "C", TL("Modes connections between lanes."),
624 GUIIconSubSys::getIcon(GUIIcon::MODECONNECTION), myModesMenuCommandsParent->myApplicationWindow,
626 prohibitionMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
627 TL("Pro&hibition"), "H", TL("Modes connection prohibitions."),
628 GUIIconSubSys::getIcon(GUIIcon::MODEPROHIBITION), myModesMenuCommandsParent->myApplicationWindow,
630 crossingMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
631 TL("C&rossing"), "R", TL("Create crossings between edges."),
632 GUIIconSubSys::getIcon(GUIIcon::MODECROSSING), myModesMenuCommandsParent->myApplicationWindow,
634 additionalMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
635 TL("&Additional"), "A", TL("Create additional elements."),
636 GUIIconSubSys::getIcon(GUIIcon::MODEADDITIONAL), myModesMenuCommandsParent->myApplicationWindow,
638 wireMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
639 TL("&Wire"), "W", TL("Create wires."),
640 GUIIconSubSys::getIcon(GUIIcon::MODEWIRE), myModesMenuCommandsParent->myApplicationWindow,
642 TAZMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
643 TL("TA&Z"), "Z", TL("Create Traffic Assignment Zones."),
644 GUIIconSubSys::getIcon(GUIIcon::MODETAZ), myModesMenuCommandsParent->myApplicationWindow,
646 shapeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
647 TL("&POI-Poly"), "P", TL("Create Points-Of-Interest and polygons."),
648 GUIIconSubSys::getIcon(GUIIcon::MODESHAPE), myModesMenuCommandsParent->myApplicationWindow,
650 decalMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
651 TL("Deca&ls"), "U", TL("Create decals."),
652 GUIIconSubSys::getIcon(GUIIcon::MODEDECAL), myModesMenuCommandsParent->myApplicationWindow,
654}
655
656// ---------------------------------------------------------------------------
657// GNEApplicationWindowHelper::ModesMenuCommands::DemandMenuCommands - methods
658// ---------------------------------------------------------------------------
659
661 myModesMenuCommandsParent(modesMenuCommandsParent) {
662}
663
664
665void
667 moveMode->show();
668 routeMode->show();
669 routeDistributionMode->show();
670 vehicleMode->show();
671 typeMode->show();
672 typeDistributionMode->show();
673 stopMode->show();
674 personMode->show();
675 personPlanMode->show();
676 containerMode->show();
677 containerPlanMode->show();
678}
679
680
681void
683 moveMode->hide();
684 routeMode->hide();
685 routeDistributionMode->hide();
686 vehicleMode->hide();
687 typeMode->hide();
688 typeDistributionMode->hide();
689 stopMode->hide();
690 personMode->hide();
691 personPlanMode->hide();
692 containerMode->hide();
693 containerPlanMode->hide();
694}
695
696
697void
699 // build every FXMenuCommand giving it a shortcut
700 moveMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
701 TL("&Move"), "M", TL("Move elements."),
702 GUIIconSubSys::getIcon(GUIIcon::MODEMOVE), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_M_MODE_MOVE_MEANDATA);
703 routeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
704 TL("Route"), "R", TL("Create Routes."),
705 GUIIconSubSys::getIcon(GUIIcon::MODEROUTE), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_R_MODE_CROSSING_ROUTE_EDGERELDATA);
706 routeDistributionMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
707 TL("Route distribution"), "W", TL("Create and edit route distributions."),
708 GUIIconSubSys::getIcon(GUIIcon::MODEROUTEDISTRIBUTION), myModesMenuCommandsParent->myApplicationWindow,
710 vehicleMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
711 TL("Vehicle"), "V", TL("Create vehicles."),
712 GUIIconSubSys::getIcon(GUIIcon::MODEVEHICLE), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_V_MODE_VEHICLE);
713 typeMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
714 TL("Type"), "T", TL("Create types (vehicles, person and containers)."),
715 GUIIconSubSys::getIcon(GUIIcon::MODETYPE), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_T_MODE_TLS_TYPE);
716 typeDistributionMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
717 TL("TypeDistribution"), "U", TL("Create and edit type distributions."),
719 stopMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
720 TL("Stop"), "A", TL("Create stops."),
722 personMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
723 TL("Person"), "P", TL("Create persons."),
724 GUIIconSubSys::getIcon(GUIIcon::MODEPERSON), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_P_MODE_POLYGON_PERSON);
725 personPlanMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
726 TL("Person plan"), "L", TL("Create person plans."),
727 GUIIconSubSys::getIcon(GUIIcon::MODEPERSONPLAN), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_L_MODE_PERSONPLAN);
728 containerMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
729 TL("Container"), "C", TL("Create containers."),
730 GUIIconSubSys::getIcon(GUIIcon::MODECONTAINER), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_C_MODE_CONNECT_CONTAINER);
731 containerPlanMode = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
732 TL("Container plan"), "H", TL("Create container plans."),
734}
735
736// ---------------------------------------------------------------------------
737// GNEApplicationWindowHelper::ModesMenuCommands::DataMenuCommands - methods
738// ---------------------------------------------------------------------------
739
741 myModesMenuCommandsParent(modesMenuCommandsParent) {
742}
743
744
745void
747 edgeData->show();
748 edgeRelData->show();
749 TAZRelData->show();
750 meanData->show();
751}
752
753
754void
756 edgeData->hide();
757 edgeRelData->hide();
758 TAZRelData->hide();
759 meanData->hide();
760}
761
762
763void
765 // build every FXMenuCommand giving it a shortcut
766 edgeData = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
767 TL("&EdgeData"), "E", TL("Create edgeData elements."),
768 GUIIconSubSys::getIcon(GUIIcon::MODEEDGEDATA), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_E_MODE_EDGE_EDGEDATA);
769 edgeRelData = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
770 TL("Edge&Relation"), "R", TL("Create edgeRelation elements."),
772 TAZRelData = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
773 TL("TA&ZRelation"), "Z", TL("Create TAZRelation elements."),
774 GUIIconSubSys::getIcon(GUIIcon::MODETAZRELDATA), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_Z_MODE_TAZ_TAZREL);
775 meanData = GUIDesigns::buildFXMenuCommandShortcut(modesMenu,
776 TL("&MeanData"), "M", TL("Create MeanData edge/lanes."),
777 GUIIconSubSys::getIcon(GUIIcon::MODEMEANDATA), myModesMenuCommandsParent->myApplicationWindow, MID_HOTKEY_M_MODE_MOVE_MEANDATA);
778}
779
780
781// ---------------------------------------------------------------------------
782// GNEApplicationWindowHelper::ModesMenuCommands - methods
783// ---------------------------------------------------------------------------
784#ifdef _MSC_VER
785#pragma warning(push)
786#pragma warning(disable: 4355) // mask warning about "this" in initializers
787#endif
795#ifdef _MSC_VER
796#pragma warning(pop)
797#endif
798
799
800void
802 commonMenuCommands.buildCommonMenuCommands(modesMenu);
803 // build Network modes commands and hide it
804 networkMenuCommands.buildNetworkMenuCommands(modesMenu);
805 networkMenuCommands.hideNetworkMenuCommands();
806 // build Demand Modes commands
807 demandMenuCommands.buildDemandMenuCommands(modesMenu);
808 demandMenuCommands.hideDemandMenuCommands();
809 // build Data Modes commands
810 dataMenuCommands.buildDataMenuCommands(modesMenu);
811 dataMenuCommands.hideDataMenuCommands();
812}
813
814
815void
817 if (supermode == Supermode::NETWORK) {
818 networkMenuCommands.showNetworkMenuCommands();
819 } else if (supermode == Supermode::DEMAND) {
820 demandMenuCommands.showDemandMenuCommands();
821 } else if (supermode == Supermode::DATA) {
822 dataMenuCommands.showDataMenuCommands();
823 }
824}
825
826
827void
829 if (supermode == Supermode::NETWORK) {
830 networkMenuCommands.connectMode->hide();
831 networkMenuCommands.TLSMode->hide();
832 networkMenuCommands.prohibitionMode->hide();
833 networkMenuCommands.wireMode->hide();
834 networkMenuCommands.decalMode->hide();
835 } else if (supermode == Supermode::DEMAND) {
836 demandMenuCommands.moveMode->hide();
837 demandMenuCommands.vehicleMode->hide();
838 demandMenuCommands.stopMode->hide();
839 demandMenuCommands.containerMode->hide();
840 demandMenuCommands.containerPlanMode->hide();
841 } else if (supermode == Supermode::DATA) {
842 dataMenuCommands.hideDataMenuCommands();
843 }
844}
845
846// ---------------------------------------------------------------------------
847// GNEApplicationWindowHelper::EditMenuCommands::NetworkViewOptions - methods
848// ---------------------------------------------------------------------------
849
851 myApplicationWindow(applicationWindow) {
852}
853
854
855void
857 // create menu checks
858 menuCheckToggleGrid = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
859 TL("Show grid"), "Ctrl+G or Alt+1", "",
862
863 menuCheckToggleDrawJunctionShape = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
864 TL("Hide junction shape"), "Ctrl+J or Alt+2", "",
867
868 menuCheckDrawSpreadVehicles = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
869 TL("Draw vehicles spread in lane or in depart position"), "Alt+3", "",
872
873 menuCheckShowDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
874 TL("Show demand elements"), "Alt+4", "",
877
878 menuCheckSelectEdges = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
879 TL("Clicking should target lanes"), "Alt+5", "",
882
883 menuCheckShowConnections = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
884 TL("Show connections over junctions"), "Alt+6", "",
887
888 menuCheckHideConnections = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
889 TL("Hide connections"), "Alt+7", "",
892
893 menuCheckShowAdditionalSubElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
894 TL("Show sub-additional elements"), "Alt+8", "",
897
898 menuCheckShowTAZElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
899 TL("Show TAZ elements"), "Alt+9", "",
902
903 menuCheckExtendSelection = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
904 TL("Selecting multiple edges automatically select their junctions"), "Alt+10", "",
907
908 menuCheckChangeAllPhases = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
909 TL("Clicking should apply state changes to all phases of TLS plan"), "Alt+5", "",
912
913 menuCheckMergeAutomatically = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
914 TL("Don't ask for confirmation before merging junction"), "Alt+5", "",
917
918 menuCheckChainEdges = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
919 TL("Create consecutive edges"), "Alt+5", "",
922
923 menuCheckAutoOppositeEdge = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
924 TL("Create an edge in the opposite direction"), "Alt+6", "",
927
928 menuCheckMoveElevation = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
929 TL("Apply mouse movement to elevation"), "Alt+7", "",
932
933 menuCheckShowJunctionBubble = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
934 TL("Show bubbles over junctions shapes"), "Alt+8", "",
937
938 // build separator
939 separator = new FXMenuSeparator(editMenu);
940}
941
942
943void
945 menuCheckToggleGrid->hide();
946 menuCheckToggleDrawJunctionShape->hide();
947 menuCheckDrawSpreadVehicles->hide();
948 menuCheckShowDemandElements->hide();
949 menuCheckSelectEdges->hide();
950 menuCheckShowConnections->hide();
951 menuCheckHideConnections->hide();
952 menuCheckShowAdditionalSubElements->hide();
953 menuCheckShowTAZElements->hide();
954 menuCheckExtendSelection->hide();
955 menuCheckChangeAllPhases->hide();
956 menuCheckMergeAutomatically->hide();
957 menuCheckShowJunctionBubble->hide();
958 menuCheckMoveElevation->hide();
959 menuCheckChainEdges->hide();
960 menuCheckAutoOppositeEdge->hide();
961 separator->hide();
962}
963
964
965void
967 int index = 2;
968 // update all accel text
969 if (menuCheckDrawSpreadVehicles->shown()) {
970 menuCheckDrawSpreadVehicles->setAccelText(("Alt+" + toString(index)).c_str());
971 index++;
972 }
973 if (menuCheckDrawSpreadVehicles->shown()) {
974 menuCheckDrawSpreadVehicles->setAccelText(("Alt+" + toString(index)).c_str());
975 index++;
976 }
977 if (menuCheckShowDemandElements->shown()) {
978 menuCheckShowDemandElements->setAccelText(("Alt+" + toString(index)).c_str());
979 index++;
980 }
981 if (menuCheckSelectEdges->shown()) {
982 menuCheckSelectEdges->setAccelText(("Alt+" + toString(index)).c_str());
983 index++;
984 }
985 if (menuCheckShowConnections->shown()) {
986 menuCheckShowConnections->setAccelText(("Alt+" + toString(index)).c_str());
987 index++;
988 }
989 if (menuCheckHideConnections->shown()) {
990 menuCheckHideConnections->setAccelText(("Alt+" + toString(index)).c_str());
991 index++;
992 }
993 if (menuCheckShowAdditionalSubElements->shown()) {
994 menuCheckShowAdditionalSubElements->setAccelText(("Alt+" + toString(index)).c_str());
995 index++;
996 }
997 if (menuCheckShowTAZElements->shown()) {
998 menuCheckShowTAZElements->setAccelText(("Alt+" + toString(index)).c_str());
999 index++;
1000 }
1001 if (menuCheckExtendSelection->shown()) {
1002 menuCheckExtendSelection->setAccelText(("Alt+" + toString(index)).c_str());
1003 index++;
1004 }
1005 if (menuCheckChangeAllPhases->shown()) {
1006 menuCheckChangeAllPhases->setAccelText(("Alt+" + toString(index)).c_str());
1007 index++;
1008 }
1009 if (menuCheckMergeAutomatically->shown()) {
1010 menuCheckMergeAutomatically->setAccelText(("Alt+" + toString(index)).c_str());
1011 index++;
1012 }
1013 if (menuCheckChainEdges->shown()) {
1014 menuCheckChainEdges->setAccelText(("Alt+" + toString(index)).c_str());
1015 index++;
1016 }
1017 if (menuCheckAutoOppositeEdge->shown()) {
1018 menuCheckAutoOppositeEdge->setAccelText(("Alt+" + toString(index)).c_str());
1019 index++;
1020 }
1021 if (menuCheckMoveElevation->shown()) {
1022 menuCheckMoveElevation->setAccelText(("Alt+" + toString(index)).c_str());
1023 index++;
1024 }
1025 if (menuCheckShowJunctionBubble->shown()) {
1026 menuCheckShowJunctionBubble->setAccelText(("Alt+" + toString(index)).c_str());
1027 index++;
1028 }
1029}
1030
1031// ---------------------------------------------------------------------------
1032// GNEApplicationWindowHelper::DemandViewOptions - methods
1033// ---------------------------------------------------------------------------
1034
1038
1039
1040void
1042 // create menu checks
1043 menuCheckToggleGrid = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1044 TL("Show grid"), "Ctrl+G or Alt+1", "",
1047
1048 menuCheckToggleDrawJunctionShape = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1049 TL("Hide junction shape"), "Ctrl+J or Alt+2", "",
1052
1053 menuCheckDrawSpreadVehicles = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1054 TL("Draw vehicles spread/depart position"), "Alt+3", "",
1057
1058 menuCheckHideShapes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1059 TL("Show shapes"), "Alt+4", "",
1062
1063 menuCheckShowAllTrips = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1064 TL("Show all trips"), "Alt+5", "",
1067
1068 menuCheckShowAllPersonPlans = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1069 TL("Show all person plans"), "Alt+6", "",
1072
1073 menuCheckLockPerson = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1074 TL("Lock selected person"), "Alt+7", "",
1077
1078 menuCheckShowAllContainerPlans = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1079 TL("Show all container plans"), "Alt+6", "",
1082
1083 menuCheckLockContainer = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1084 TL("Lock selected container"), "Alt+7", "",
1087
1088 menuCheckHideNonInspectedDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1089 TL("Show non-inspected demand elements"), "Alt+8", "",
1092
1093 menuCheckShowOverlappedRoutes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1094 TL("Show number of overlapped routes"), "Alt+9", "",
1097
1098 // build separator
1099 separator = new FXMenuSeparator(editMenu);
1100}
1101
1102
1103void
1105 menuCheckToggleGrid->hide();
1106 menuCheckToggleDrawJunctionShape->hide();
1107 menuCheckDrawSpreadVehicles->hide();
1108 menuCheckHideShapes->hide();
1109 menuCheckShowAllTrips->hide();
1110 menuCheckHideNonInspectedDemandElements->hide();
1111 menuCheckShowOverlappedRoutes->hide();
1112 menuCheckShowAllPersonPlans->hide();
1113 menuCheckLockPerson->hide();
1114 menuCheckShowAllContainerPlans->hide();
1115 menuCheckLockContainer->hide();
1116 separator->hide();
1117}
1118
1119
1120void
1122 int index = 2;
1123 // update all accel text
1124 if (menuCheckDrawSpreadVehicles->shown()) {
1125 menuCheckDrawSpreadVehicles->setAccelText(("Alt+" + toString(index)).c_str());
1126 index++;
1127 }
1128 if (menuCheckHideShapes->shown()) {
1129 menuCheckHideShapes->setAccelText(("Alt+" + toString(index)).c_str());
1130 index++;
1131 }
1132 if (menuCheckShowAllTrips->shown()) {
1133 menuCheckShowAllTrips->setAccelText(("Alt+" + toString(index)).c_str());
1134 index++;
1135 }
1136 if (menuCheckHideNonInspectedDemandElements->shown()) {
1137 menuCheckHideNonInspectedDemandElements->setAccelText(("Alt+" + toString(index)).c_str());
1138 index++;
1139 }
1140 if (menuCheckShowOverlappedRoutes->shown()) {
1141 menuCheckShowOverlappedRoutes->setAccelText(("Alt+" + toString(index)).c_str());
1142 index++;
1143 }
1144 if (menuCheckShowAllPersonPlans->shown()) {
1145 menuCheckShowAllPersonPlans->setAccelText(("Alt+" + toString(index)).c_str());
1146 index++;
1147 }
1148 if (menuCheckLockPerson->shown()) {
1149 menuCheckLockPerson->setAccelText(("Alt+" + toString(index)).c_str());
1150 index++;
1151 }
1152 if (menuCheckShowAllContainerPlans->shown()) {
1153 menuCheckShowAllContainerPlans->setAccelText(("Alt+" + toString(index)).c_str());
1154 index++;
1155 }
1156 if (menuCheckLockContainer->shown()) {
1157 menuCheckLockContainer->setAccelText(("Alt+" + toString(index)).c_str());
1158 index++;
1159 }
1160}
1161
1162// ---------------------------------------------------------------------------
1163// GNEApplicationWindowHelper::EditMenuCommands::DataViewOptions - methods
1164// ---------------------------------------------------------------------------
1165
1169
1170
1171void
1173 // create menu checks
1174 menuCheckToggleDrawJunctionShape = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1175 TL("Hide junction shape"), "Ctrl+J or Alt+1", "",
1178
1179 menuCheckShowAdditionals = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1180 TL("Show additionals"), "Alt+2", "",
1183
1184 menuCheckShowShapes = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1185 TL("Show shapes"), "Alt+3", "",
1188
1189 menuCheckShowDemandElements = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1190 TL("Show demand elements"), "Alt+4", "",
1193
1194 menuCheckToggleTAZRelDrawing = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1195 TL("Draw TAZRel from center"), "Alt+5", "",
1198
1199 menuCheckToggleTAZDrawFill = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1200 TL("Draw TAZ fill"), "Alt+6", "",
1203
1204 menuCheckToggleTAZRelOnlyFrom = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1205 TL("Only draw TAZRel from"), "Alt+6", "",
1208
1209 menuCheckToggleTAZRelOnlyTo = GUIDesigns::buildFXMenuCheckboxIcon(editMenu,
1210 TL("Only draw TAZRel to"), "Alt+7", "",
1213 // build separator
1214 separator = new FXMenuSeparator(editMenu);
1215}
1216
1217
1218void
1220 menuCheckToggleDrawJunctionShape->hide();
1221 menuCheckShowAdditionals->hide();
1222 menuCheckShowShapes->hide();
1223 menuCheckShowDemandElements->hide();
1224 menuCheckToggleTAZRelDrawing->hide();
1225 menuCheckToggleTAZDrawFill->hide();
1226 menuCheckToggleTAZRelOnlyFrom->hide();
1227 menuCheckToggleTAZRelOnlyTo->hide();
1228 separator->hide();
1229}
1230
1231
1232void
1234 int index = 2;
1235 // update all accel text
1236 if (menuCheckShowAdditionals->shown()) {
1237 menuCheckShowAdditionals->setAccelText(("Alt+" + toString(index)).c_str());
1238 index++;
1239 }
1240 if (menuCheckShowShapes->shown()) {
1241 menuCheckShowShapes->setAccelText(("Alt+" + toString(index)).c_str());
1242 index++;
1243 }
1244 if (menuCheckShowDemandElements->shown()) {
1245 menuCheckShowDemandElements->setAccelText(("Alt+" + toString(index)).c_str());
1246 index++;
1247 }
1248 if (menuCheckToggleTAZRelDrawing->shown()) {
1249 menuCheckToggleTAZRelDrawing->setAccelText(("Alt+" + toString(index)).c_str());
1250 index++;
1251 }
1252 if (menuCheckToggleTAZDrawFill->shown()) {
1253 menuCheckToggleTAZDrawFill->setAccelText(("Alt+" + toString(index)).c_str());
1254 index++;
1255 }
1256 if (menuCheckToggleTAZRelOnlyFrom->shown()) {
1257 menuCheckToggleTAZRelOnlyFrom->setAccelText(("Alt+" + toString(index)).c_str());
1258 index++;
1259 }
1260 if (menuCheckToggleTAZRelOnlyTo->shown()) {
1261 menuCheckToggleTAZRelOnlyTo->setAccelText(("Alt+" + toString(index)).c_str());
1262 index++;
1263 }
1264}
1265
1266// ---------------------------------------------------------------------------
1267// GNEApplicationWindowHelper::EditMenuCommands - methods
1268// ---------------------------------------------------------------------------
1269
1271 networkViewOptions(applicationWindow),
1272 demandViewOptions(applicationWindow),
1273 dataViewOptions(applicationWindow),
1274 myApplicationWindow(applicationWindow) {
1275}
1276
1277
1278void
1280 // build undo/redo command
1281 undoLastChange = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1282 TL("Undo"), "Ctrl+Z", TL("Undo the last change."),
1284 redoLastChange = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1285 TL("Redo"), "Ctrl+Y", TL("Redo the last change."),
1287 openUndolistDialog = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1288 TL("Show undo/redo history"), "", TL("Open undo/redo history dialog."),
1290 // add checkBox for recomputing in data mode
1291 menuCheckAllowUndoRedo = GUIDesigns::buildFXMenuCheckbox(editMenu,
1292 TL("Allow undo-redo"), "",
1293 myApplicationWindow, MID_GNE_TOGGLE_UNDOREDO);
1294 menuCheckAllowUndoRedo->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry("NETEDIT", "AllowUndoRedo", true));
1295}
1296
1297
1298void
1300 // build rest of menu commands
1301 editViewScheme = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1302 TL("Edit Visualisation"), "F9", TL("Opens a dialog for editing visualization settings."),
1304 editViewPort = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1305 TL("Edit Viewport"), "Ctrl+I", TL("Opens a dialog for editing viewing area, zoom and rotation."),
1307}
1308
1309
1310void
1312 // add clear front element
1313 clearFrontElement = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1314 TL("Clear front element"), "F11", TL("Clear current front element"),
1316}
1317
1318
1319void
1321 // add open in sumo options
1322 loadAdditionalsInSUMOGUI = GUIDesigns::buildFXMenuCheckbox(editMenu,
1323 TL("Load additionals in sumo-gui"), TL("Load additionals in sumo-gui."),
1324 myApplicationWindow, MID_TOOLBAREDIT_LOADADDITIONALS);
1325 loadAdditionalsInSUMOGUI->setCheck(TRUE);
1326 loadDemandInSUMOGUI = GUIDesigns::buildFXMenuCheckbox(editMenu,
1327 TL("Load demand in sumo-gui"), TL("Load demand in sumo-gui."),
1328 myApplicationWindow, MID_TOOLBAREDIT_LOADDEMAND);
1329 loadDemandInSUMOGUI->setCheck(TRUE);
1330 openInSUMOGUI = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
1331 TL("Open in sumo-gui"), "Ctrl+T", TL("Opens the sumo-gui application with the current network."),
1333}
1334
1335// ---------------------------------------------------------------------------
1336// GNEApplicationWindowHelper::LockMenuCommands - methods
1337// ---------------------------------------------------------------------------
1338
1340 myApplicationWindow(applicationWindow) {
1341}
1342
1343
1344void
1346 // network
1347 menuCheckLockJunctions = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1348 TL("&Junctions"), "", "",
1350 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1351
1352 menuCheckLockEdges = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1353 TL("&Edges"), "", "",
1355 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1356
1357 menuCheckLockLanes = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1358 TL("&Lanes"), "", "",
1360 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1361
1362 menuCheckLockConnections = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1363 TL("&Connections"), "", "",
1365 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1366
1367 menuCheckLockCrossings = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1368 TL("C&rossings"), "", "",
1370 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1371
1372 menuCheckLockWalkingAreas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1373 TL("Walkin&gAreas"), "", "",
1375 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1376
1377 menuCheckLockAdditionals = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1378 TL("&Additionals"), "", "",
1380 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1381
1382 menuCheckLockTAZs = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1383 TL("&TAZs"), "", "",
1385 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1386
1387 menuCheckLockWires = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1388 TL("&Wires"), "", "",
1390 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1391
1392 menuCheckLockPolygons = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1393 TL("&Polygons"), "", "",
1395 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1396
1397 menuCheckLockPOIs = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1398 TL("P&OIs"), "", "",
1400 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1401
1402 menuCheckLockJpsWalkableAreas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1403 TL("WalkableAreas"), "", "",
1405 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1406
1407 menuCheckLockJpsObstacles = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1408 TL("Obstacles"), "", "",
1410 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1411 // demand
1412 menuCheckLockRoutes = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1413 TL("&Routes"), "", "",
1415 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1416
1417 menuCheckLockVehicles = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1418 TL("&Vehicles"), "", "",
1420 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1421
1422 menuCheckLockPersons = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1423 TL("&Persons"), "", "",
1425 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1426
1427 menuCheckLockPersonTrips = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1428 TL("Person&Trips"), "", "",
1430 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1431
1432 menuCheckLockWalks = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1433 TL("&Walks"), "", "",
1435 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1436
1437 menuCheckLockRides = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1438 TL("Ri&des"), "", "",
1440 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1441
1442 menuCheckLockContainers = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1443 TL("&Containers"), "", "",
1445 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1446
1447 menuCheckLockTransports = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1448 TL("Tra&nsports"), "", "",
1450 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1451
1452 menuCheckLockTranships = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1453 TL("Trans&hips"), "", "",
1455 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1456
1457 menuCheckLockStops = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1458 TL("Stop&s"), "", "",
1460 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1461 // data
1462 menuCheckLockEdgeDatas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1463 TL("&EdgeDatas"), "", "",
1465 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1466
1467 menuCheckLockEdgeRelDatas = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1468 TL("E&dgeRelDatas"), "", "",
1470 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1471
1472 menuCheckLockEdgeTAZRels = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1473 TL("Edge&TAZRel"), "", "",
1475 myApplicationWindow, MID_GNE_LOCK_ELEMENT);
1476
1477 // separator
1478 new FXMenuSeparator(fileMenu);
1479
1480 menuCheckLockSelectedElements = GUIDesigns::buildFXMenuCheckboxIcon(fileMenu,
1481 TL("Lock selected elements"), "", TL("selected elements"),
1483
1484 // separator
1485 new FXMenuSeparator(fileMenu);
1486
1488 TL("Lock all elements"), "", TL("all elements"),
1490
1492 TL("Unlock all elements"), "", TL("Unlock all elements"),
1494}
1495
1496
1497void
1499 // network
1500 menuCheckLockJunctions->remHotKey(parseHotKey('j'));
1501 menuCheckLockEdges->remHotKey(parseHotKey('e'));
1502 menuCheckLockLanes->remHotKey(parseHotKey('l'));
1503 menuCheckLockConnections->remHotKey(parseHotKey('c'));
1504 menuCheckLockCrossings->remHotKey(parseHotKey('r'));
1505 menuCheckLockWalkingAreas->remHotKey(parseHotKey('g'));
1506 menuCheckLockAdditionals->remHotKey(parseHotKey('a'));
1507 menuCheckLockTAZs->remHotKey(parseHotKey('t'));
1508 menuCheckLockWires->remHotKey(parseHotKey('w'));
1509 menuCheckLockPolygons->remHotKey(parseHotKey('p'));
1510 menuCheckLockPOIs->remHotKey(parseHotKey('o'));
1511 menuCheckLockJpsWalkableAreas->remHotKey(parseHotKey('n'));
1512 menuCheckLockJpsObstacles->remHotKey(parseHotKey('b'));
1513 // demand
1514 menuCheckLockRoutes->remHotKey(parseHotKey('r'));
1515 menuCheckLockVehicles->remHotKey(parseHotKey('v'));
1516 menuCheckLockPersons->remHotKey(parseHotKey('p'));
1517 menuCheckLockPersonTrips->remHotKey(parseHotKey('t'));
1518 menuCheckLockWalks->remHotKey(parseHotKey('w'));
1519 menuCheckLockRides->remHotKey(parseHotKey('d'));
1520 menuCheckLockContainers->remHotKey(parseHotKey('c'));
1521 menuCheckLockTransports->remHotKey(parseHotKey('n'));
1522 menuCheckLockTranships->remHotKey(parseHotKey('h'));
1523 menuCheckLockStops->remHotKey(parseHotKey('s'));
1524 // data
1525 menuCheckLockEdgeDatas->remHotKey(parseHotKey('e'));
1526 menuCheckLockEdgeRelDatas->remHotKey(parseHotKey('d'));
1527 menuCheckLockEdgeTAZRels->remHotKey(parseHotKey('t'));
1528}
1529
1530void
1532 // first enable menu commands
1533 menuCheckLockJunctions->enable();
1534 menuCheckLockEdges->enable();
1535 menuCheckLockLanes->enable();
1536 menuCheckLockConnections->enable();
1537 menuCheckLockCrossings->enable();
1538 menuCheckLockWalkingAreas->enable();
1539 menuCheckLockAdditionals->enable();
1540 menuCheckLockTAZs->enable();
1541 menuCheckLockWires->enable();
1542 menuCheckLockPolygons->enable();
1543 menuCheckLockPOIs->enable();
1544 menuCheckLockJpsWalkableAreas->enable();
1545 menuCheckLockJpsObstacles->enable();
1546 // set accels
1547 menuCheckLockJunctions->addHotKey(parseHotKey('j'));
1548 menuCheckLockEdges->addHotKey(parseHotKey('e'));
1549 menuCheckLockLanes->addHotKey(parseHotKey('l'));
1550 menuCheckLockConnections->addHotKey(parseHotKey('c'));
1551 menuCheckLockCrossings->addHotKey(parseHotKey('r'));
1552 menuCheckLockWalkingAreas->addHotKey(parseHotKey('g'));
1553 menuCheckLockAdditionals->addHotKey(parseHotKey('a'));
1554 menuCheckLockTAZs->addHotKey(parseHotKey('t'));
1555 menuCheckLockWires->addHotKey(parseHotKey('w'));
1556 menuCheckLockPolygons->addHotKey(parseHotKey('p'));
1557 menuCheckLockPOIs->addHotKey(parseHotKey('o'));
1558 menuCheckLockJpsWalkableAreas->addHotKey(parseHotKey('n'));
1559 menuCheckLockJpsObstacles->addHotKey(parseHotKey('b'));
1560 // now show it
1561 menuCheckLockJunctions->show();
1562 menuCheckLockEdges->show();
1563 menuCheckLockLanes->show();
1564 menuCheckLockConnections->show();
1565 menuCheckLockCrossings->show();
1566 menuCheckLockWalkingAreas->show();
1567 menuCheckLockAdditionals->show();
1568 menuCheckLockTAZs->show();
1569 menuCheckLockWires->show();
1570 menuCheckLockPolygons->show();
1571 menuCheckLockPOIs->show();
1572 menuCheckLockJpsWalkableAreas->show();
1573 menuCheckLockJpsObstacles->show();
1574}
1575
1576
1577void
1579 // first disable menu commands
1580 menuCheckLockJunctions->disable();
1581 menuCheckLockEdges->disable();
1582 menuCheckLockLanes->disable();
1583 menuCheckLockConnections->disable();
1584 menuCheckLockCrossings->disable();
1585 menuCheckLockWalkingAreas->disable();
1586 menuCheckLockAdditionals->disable();
1587 menuCheckLockTAZs->disable();
1588 menuCheckLockPolygons->disable();
1589 menuCheckLockPOIs->disable();
1590 menuCheckLockJpsWalkableAreas->disable();
1591 menuCheckLockJpsObstacles->disable();
1592 // now hide it
1593 menuCheckLockJunctions->hide();
1594 menuCheckLockEdges->hide();
1595 menuCheckLockLanes->hide();
1596 menuCheckLockConnections->hide();
1597 menuCheckLockCrossings->hide();
1598 menuCheckLockWalkingAreas->hide();
1599 menuCheckLockAdditionals->hide();
1600 menuCheckLockTAZs->hide();
1601 menuCheckLockWires->hide();
1602 menuCheckLockPolygons->hide();
1603 menuCheckLockPOIs->hide();
1604 menuCheckLockJpsWalkableAreas->hide();
1605 menuCheckLockJpsObstacles->hide();
1606}
1607
1608
1609void
1611 // first enable menu commands
1612 menuCheckLockRoutes->enable();
1613 menuCheckLockVehicles->enable();
1614 menuCheckLockPersons->enable();
1615 menuCheckLockPersonTrips->enable();
1616 menuCheckLockWalks->enable();
1617 menuCheckLockRides->enable();
1618 menuCheckLockContainers->enable();
1619 menuCheckLockTransports->enable();
1620 menuCheckLockTranships->enable();
1621 menuCheckLockStops->enable();
1622 // set accels
1623 menuCheckLockRoutes->addHotKey(parseHotKey('r'));
1624 menuCheckLockVehicles->addHotKey(parseHotKey('v'));
1625 menuCheckLockPersons->addHotKey(parseHotKey('p'));
1626 menuCheckLockPersonTrips->addHotKey(parseHotKey('t'));
1627 menuCheckLockWalks->addHotKey(parseHotKey('w'));
1628 menuCheckLockRides->addHotKey(parseHotKey('d'));
1629 menuCheckLockContainers->addHotKey(parseHotKey('c'));
1630 menuCheckLockTransports->addHotKey(parseHotKey('n'));
1631 menuCheckLockTranships->addHotKey(parseHotKey('h'));
1632 menuCheckLockStops->addHotKey(parseHotKey('s'));
1633 // now show it
1634 menuCheckLockRoutes->show();
1635 menuCheckLockVehicles->show();
1636 menuCheckLockPersons->show();
1637 menuCheckLockPersonTrips->show();
1638 menuCheckLockWalks->show();
1639 menuCheckLockRides->show();
1640 menuCheckLockContainers->show();
1641 menuCheckLockTransports->show();
1642 menuCheckLockTranships->show();
1643 menuCheckLockStops->show();
1644}
1645
1646
1647void
1649 // first disable menu commands
1650 menuCheckLockRoutes->disable();
1651 menuCheckLockVehicles->disable();
1652 menuCheckLockPersons->disable();
1653 menuCheckLockPersonTrips->disable();
1654 menuCheckLockWalks->disable();
1655 menuCheckLockRides->disable();
1656 menuCheckLockContainers->disable();
1657 menuCheckLockTransports->disable();
1658 menuCheckLockTranships->disable();
1659 menuCheckLockStops->disable();
1660 // now hide it
1661 menuCheckLockRoutes->hide();
1662 menuCheckLockVehicles->hide();
1663 menuCheckLockPersons->hide();
1664 menuCheckLockPersonTrips->hide();
1665 menuCheckLockWalks->hide();
1666 menuCheckLockRides->hide();
1667 menuCheckLockContainers->hide();
1668 menuCheckLockTransports->hide();
1669 menuCheckLockTranships->hide();
1670 menuCheckLockStops->hide();
1671}
1672
1673
1674void
1676 // first enable menu commands
1677 menuCheckLockEdgeDatas->enable();
1678 menuCheckLockEdgeRelDatas->enable();
1679 menuCheckLockEdgeTAZRels->enable();
1680 // set accels
1681 menuCheckLockEdgeDatas->addHotKey(parseHotKey('e'));
1682 menuCheckLockEdgeRelDatas->addHotKey(parseHotKey('d'));
1683 menuCheckLockEdgeTAZRels->addHotKey(parseHotKey('t'));
1684 // now show it
1685 menuCheckLockEdgeDatas->show();
1686 menuCheckLockEdgeRelDatas->show();
1687 menuCheckLockEdgeTAZRels->show();
1688}
1689
1690
1691void
1693 // first disable menu commands
1694 menuCheckLockEdgeDatas->disable();
1695 menuCheckLockEdgeRelDatas->disable();
1696 menuCheckLockEdgeTAZRels->disable();
1697 // now hide it
1698 menuCheckLockEdgeDatas->hide();
1699 menuCheckLockEdgeRelDatas->hide();
1700 menuCheckLockEdgeTAZRels->hide();
1701}
1702
1703
1704void
1706 menuCheckLockJunctions->setCheck(TRUE);
1707 menuCheckLockEdges->setCheck(TRUE);
1708 menuCheckLockLanes->setCheck(TRUE);
1709 menuCheckLockConnections->setCheck(TRUE);
1710 menuCheckLockCrossings->setCheck(TRUE);
1711 menuCheckLockWalkingAreas->setCheck(TRUE);
1712 menuCheckLockAdditionals->setCheck(TRUE);
1713 menuCheckLockTAZs->setCheck(TRUE);
1714 menuCheckLockWires->setCheck(TRUE);
1715 menuCheckLockPolygons->setCheck(TRUE);
1716 menuCheckLockPOIs->setCheck(TRUE);
1717 menuCheckLockJpsWalkableAreas->setCheck(TRUE);
1718 menuCheckLockJpsObstacles->setCheck(TRUE);
1719 menuCheckLockRoutes->setCheck(TRUE);
1720 menuCheckLockVehicles->setCheck(TRUE);
1721 menuCheckLockPersons->setCheck(TRUE);
1722 menuCheckLockPersonTrips->setCheck(TRUE);
1723 menuCheckLockWalks->setCheck(TRUE);
1724 menuCheckLockRides->setCheck(TRUE);
1725 menuCheckLockContainers->setCheck(TRUE);
1726 menuCheckLockTransports->setCheck(TRUE);
1727 menuCheckLockTranships->setCheck(TRUE);
1728 menuCheckLockStops->setCheck(TRUE);
1729 menuCheckLockEdgeDatas->setCheck(TRUE);
1730 menuCheckLockEdgeRelDatas->setCheck(TRUE);
1731 menuCheckLockEdgeTAZRels->setCheck(TRUE);
1732}
1733
1734
1735void
1737 menuCheckLockJunctions->setCheck(FALSE);
1738 menuCheckLockEdges->setCheck(FALSE);
1739 menuCheckLockLanes->setCheck(FALSE);
1740 menuCheckLockConnections->setCheck(FALSE);
1741 menuCheckLockCrossings->setCheck(FALSE);
1742 menuCheckLockWalkingAreas->setCheck(FALSE);
1743 menuCheckLockAdditionals->setCheck(FALSE);
1744 menuCheckLockTAZs->setCheck(FALSE);
1745 menuCheckLockWires->setCheck(FALSE);
1746 menuCheckLockPolygons->setCheck(FALSE);
1747 menuCheckLockPOIs->setCheck(FALSE);
1748 menuCheckLockJpsWalkableAreas->setCheck(FALSE);
1749 menuCheckLockJpsObstacles->setCheck(FALSE);
1750 menuCheckLockRoutes->setCheck(FALSE);
1751 menuCheckLockVehicles->setCheck(FALSE);
1752 menuCheckLockPersons->setCheck(FALSE);
1753 menuCheckLockPersonTrips->setCheck(FALSE);
1754 menuCheckLockWalks->setCheck(FALSE);
1755 menuCheckLockRides->setCheck(FALSE);
1756 menuCheckLockContainers->setCheck(FALSE);
1757 menuCheckLockTransports->setCheck(FALSE);
1758 menuCheckLockTranships->setCheck(FALSE);
1759 menuCheckLockStops->setCheck(FALSE);
1760 menuCheckLockEdgeDatas->setCheck(FALSE);
1761 menuCheckLockEdgeRelDatas->setCheck(FALSE);
1762 menuCheckLockEdgeTAZRels->setCheck(FALSE);
1763}
1764
1765
1766void
1768 // check elements
1769 if (AC->getTagProperty()->getTag() == SUMO_TAG_JUNCTION) {
1770 menuCheckLockJunctions->setCheck(value);
1771 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_EDGE) {
1772 menuCheckLockEdges->setCheck(value);
1773 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_LANE) {
1774 menuCheckLockLanes->setCheck(value);
1775 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_CONNECTION) {
1776 menuCheckLockConnections->setCheck(value);
1777 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_CROSSING) {
1778 menuCheckLockCrossings->setCheck(value);
1779 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_WALKINGAREA) {
1780 menuCheckLockWalkingAreas->setCheck(value);
1781 } else if (AC->getTagProperty()->isAdditionalElement()) {
1782 menuCheckLockAdditionals->setCheck(value);
1783 } else if (AC->getTagProperty()->isTAZElement()) {
1784 menuCheckLockTAZs->setCheck(value);
1785 } else if (AC->getTagProperty()->isWireElement()) {
1786 menuCheckLockWires->setCheck(value);
1787 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_POLY) {
1788 menuCheckLockPolygons->setCheck(value);
1789 } else if (AC->getTagProperty()->getTag() == GNE_TAG_JPS_WALKABLEAREA) {
1790 menuCheckLockJpsWalkableAreas->setCheck(value);
1791 } else if (AC->getTagProperty()->getTag() == GNE_TAG_JPS_OBSTACLE) {
1792 menuCheckLockJpsObstacles->setCheck(value);
1793 } else if ((AC->getTagProperty()->getTag() == SUMO_TAG_POI) ||
1794 (AC->getTagProperty()->getTag() == GNE_TAG_POILANE) ||
1795 (AC->getTagProperty()->getTag() == GNE_TAG_POIGEO)) {
1796 menuCheckLockPOIs->setCheck(value);
1797 } else if (AC->getTagProperty()->isRoute()) {
1798 menuCheckLockRoutes->setCheck(value);
1799 } else if (AC->getTagProperty()->isVehicle()) {
1800 menuCheckLockVehicles->setCheck(value);
1801 } else if (AC->getTagProperty()->isPerson()) {
1802 menuCheckLockPersons->setCheck(value);
1803 } else if (AC->getTagProperty()->isPlanPersonTrip()) {
1804 menuCheckLockPersonTrips->setCheck(value);
1805 } else if (AC->getTagProperty()->isPlanWalk()) {
1806 menuCheckLockWalks->setCheck(value);
1807 } else if (AC->getTagProperty()->isPlanRide()) {
1808 menuCheckLockRides->setCheck(value);
1809 } else if (AC->getTagProperty()->isContainer()) {
1810 menuCheckLockContainers->setCheck(value);
1811 } else if (AC->getTagProperty()->isPlanTransport()) {
1812 menuCheckLockTransports->setCheck(value);
1813 } else if (AC->getTagProperty()->isPlanTranship()) {
1814 menuCheckLockTranships->setCheck(value);
1815 } else if (AC->getTagProperty()->isVehicleStop() ||
1818 menuCheckLockStops->setCheck(value);
1819 } else if (AC->getTagProperty()->getTag() == GNE_TAG_EDGEREL_SINGLE) {
1820 menuCheckLockEdgeDatas->setCheck(value);
1821 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_EDGEREL) {
1822 menuCheckLockEdgeRelDatas->setCheck(value);
1823 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_TAZREL) {
1824 menuCheckLockEdgeTAZRels->setCheck(value);
1825 }
1826}
1827
1828
1829FXHotKey
1831 FXuint code = 0, mods = 0;
1832 if (Unicode::isAlphaNumeric(character)) {
1833 mods = ALTMASK;
1834 code = fxucs2keysym(Unicode::toLower(character));
1835 }
1836 return MKUINT(code, mods);
1837}
1838
1839// ---------------------------------------------------------------------------
1840// GNEApplicationWindowHelper::ProcessingMenuCommands - methods
1841// ---------------------------------------------------------------------------
1842
1844 myApplicationWindow(applicationWindow) {
1845}
1846
1847
1848void
1850 // build network processing menu commands
1851 computeNetwork = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1852 TL("Compute Junctions"), "F5", TL("Compute junction shape and logic."),
1854 computeNetworkVolatile = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1855 TL("Compute Junctions with volatile options"), "Shift+F5", TL("Compute junction shape and logic using volatile junctions."),
1857 cleanJunctions = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1858 TL("Clean Junctions"), "F6", TL("Remove solitary junctions."),
1860 joinJunctions = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1861 TL("Join Selected Junctions"), "F7", TL("Join selected junctions into a single junction."),
1863 clearInvalidCrossings = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1864 TL("Clean invalid crossings"), "F8", TL("Clear invalid crossings."),
1866 // add separator for checkBox
1867 mySeparatorCheckBox = new FXMenuSeparator(processingMenu);
1868 // add checkBox for recomputing in data mode
1869 menuCheckRecomputeDataMode = GUIDesigns::buildFXMenuCheckboxIcon(processingMenu,
1870 TL("Recompute Network in Data Mode"), "", "",
1872 // set default value
1873 menuCheckRecomputeDataMode->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry("NETEDIT", "RecomputeData", true));
1874 // build demand processing menu commands
1875 computeDemand = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1876 TL("Compute demand"), "F5", TL("Computes demand elements."),
1878 cleanRoutes = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1879 TL("Clean routes"), "F6", TL("Removes routes without vehicles."),
1881 joinRoutes = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1882 TL("Join routes"), "F7", TL("Joins routes with the same edges."),
1884 adjustPersonPlans = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1885 TL("Adjust person plans"), "Shift+F7", TL("Adjust person plans (start/end positions, arrival positions, etc.)"),
1887 clearInvalidDemandElements = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1888 TL("Clean invalid route elements"), "F8", TL("Clear elements with an invalid path (routes, Trips, Flows...)."),
1890 // add separator
1891 myOptionsSeparator = new FXMenuSeparator(processingMenu);
1892 // create optionmenus
1893 optionMenus = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1894 TL("Sumo options"), "Shift+F10", TL("Configure sumo Options."),
1896 // add separator
1897 myOptionsSeparator = new FXMenuSeparator(processingMenu);
1898 // create optionmenus
1899 optionMenus = GUIDesigns::buildFXMenuCommandShortcut(processingMenu,
1900 TL("Options"), "F10", TL("Configure netedit Options."),
1902}
1903
1904
1905void
1907 // first enable menu commands
1908 computeNetwork->enable();
1909 computeNetworkVolatile->enable();
1910 cleanJunctions->enable();
1911 joinJunctions->enable();
1912 clearInvalidCrossings->enable();
1913 mySeparatorCheckBox->enable();
1914 menuCheckRecomputeDataMode->enable();
1915 // now show it
1916 computeNetwork->show();
1917 computeNetworkVolatile->show();
1918 cleanJunctions->show();
1919 joinJunctions->show();
1920 clearInvalidCrossings->show();
1921 mySeparatorCheckBox->show();
1922 menuCheckRecomputeDataMode->show();
1923}
1924
1925
1926void
1928 // first disable menu commands
1929 computeNetwork->disable();
1930 computeNetworkVolatile->disable();
1931 cleanJunctions->disable();
1932 joinJunctions->disable();
1933 clearInvalidCrossings->disable();
1934 // now hide it
1935 computeNetwork->hide();
1936 computeNetworkVolatile->hide();
1937 cleanJunctions->hide();
1938 joinJunctions->hide();
1939 clearInvalidCrossings->hide();
1940}
1941
1942
1943void
1945 // first enable menu commands
1946 computeDemand->enable();
1947 cleanRoutes->enable();
1948 joinRoutes->enable();
1949 adjustPersonPlans->enable();
1950 clearInvalidDemandElements->enable();
1951 // now show it
1952 computeDemand->show();
1953 cleanRoutes->show();
1954 joinRoutes->show();
1955 adjustPersonPlans->show();
1956 clearInvalidDemandElements->show();
1957}
1958
1959
1960void
1962 // first disable menu commands
1963 computeDemand->disable();
1964 cleanRoutes->disable();
1965 joinRoutes->disable();
1966 adjustPersonPlans->disable();
1967 clearInvalidDemandElements->disable();
1968 // now hide it
1969 computeDemand->hide();
1970 cleanRoutes->hide();
1971 joinRoutes->hide();
1972 adjustPersonPlans->hide();
1973 clearInvalidDemandElements->hide();
1974}
1975
1976
1977void
1981
1982
1983void
1987
1988
1989void
1993
1994
1995void
1999
2000// ---------------------------------------------------------------------------
2001// GNEApplicationWindowHelper::LocateMenuCommands - methods
2002// ---------------------------------------------------------------------------
2003
2005 myApplicationWindow(applicationWindow) {
2006}
2007
2008
2009void
2011 // build locate menu commands
2013 TL("&Junctions"), "Shift+J", TL("Open a dialog for locating a Junction."),
2016 TL("&Edges"), "Shift+E", TL("Open a dialog for locating an Edge."),
2019 TL("&WalkingAreas"), "Shift+W", TL("Open a dialog for locating a Walking Area."),
2022 TL("&Vehicles"), "Shift+V", TL("Open a dialog for locating a Vehicle."),
2025 TL("&Persons"), "Shift+P", TL("Open a dialog for locating a Person."),
2028 TL("&Containers"), "Shift+C", TL("Open a dialog for locating a Container."),
2031 TL("&Route"), "Shift+R", TL("Open a dialog for locating a Route."),
2034 TL("&Stops"), "Shift+S", TL("Open a dialog for locating a Stop."),
2037 TL("&TLS"), "Shift+T", TL("Open a dialog for locating a Traffic Light."),
2040 TL("&Additional"), "Shift+A", TL("Open a dialog for locating an Additional Structure."),
2043 TL("P&oI"), "Shift+O", TL("Open a dialog for locating a Point of Interest."),
2046 TL("Po&lygon"), "Shift+L", TL("Open a dialog for locating a Polygon."),
2048}
2049
2050// ---------------------------------------------------------------------------
2051// GNEApplicationWindowHelper::ToolsMenuCommands - methods
2052// ---------------------------------------------------------------------------
2053
2055 myApplicationWindow(applicationWindow) {
2056}
2057
2058
2060 // delete all tools
2061 for (const auto& tool : myPythonTools) {
2062 delete tool;
2063 }
2064 // delete dialogs
2065 if (myPythonToolDialog) {
2066 delete myPythonToolDialog;
2067 }
2068}
2069
2070
2071void
2073 const std::map<std::string, FXMenuPane*>& menuPaneToolMaps) {
2074 // build tools from template
2075 // the templateTools vector is imported from templates.h (which only exists in the cmake-build folder)
2076 for (const auto& templateTool : templateTools) {
2077 if (templateTool.name == "netdiff") {
2078 myPythonTools.push_back(new GNENetDiffTool(myApplicationWindow, templateTool.pythonPath,
2079 menuPaneToolMaps.at(templateTool.subfolder)));
2080 } else if (menuPaneToolMaps.count(templateTool.subfolder) > 0) {
2081 myPythonTools.push_back(new GNEPythonTool(myApplicationWindow, templateTool.pythonPath,
2082 templateTool.templateStr, menuPaneToolMaps.at(templateTool.subfolder)));
2083 } else {
2084 myPythonTools.push_back(new GNEPythonTool(myApplicationWindow, templateTool.pythonPath,
2085 templateTool.templateStr, toolsMenu));
2086 }
2087 }
2088}
2089
2090
2091long
2093 // iterate over all tools and find menu command
2094 for (const auto& tool : myPythonTools) {
2095 if (tool->getMenuCommand() == menuCommand) {
2096 if (myPythonToolDialog) {
2097 delete myPythonToolDialog;
2098 }
2099 myPythonToolDialog = new GNEPythonToolDialog(myApplicationWindow, tool);
2100 return 1;
2101 }
2102 }
2103 return 0;
2104}
2105
2106
2107long
2109 // iterate over all tools and find menu command
2110 for (const auto& tool : myPythonTools) {
2111 if (tool->getMenuCommand() == menuCommand) {
2112 GNERunPythonToolDialog(myApplicationWindow, tool);
2113 return 1;
2114 }
2115 }
2116 return 0;
2117}
2118
2119
2120long
2122 // iterate over all tools and find menu command
2123 for (const auto& tool : myPythonTools) {
2124 if (tool->getMenuCommand() == menuCommand) {
2125 // execute postProcessing
2126 tool->postProcessing();
2127 return 1;
2128 }
2129 }
2130 return 0;
2131}
2132
2133// ---------------------------------------------------------------------------
2134// GNEApplicationWindowHelper::WindowsMenuCommands - methods
2135// ---------------------------------------------------------------------------
2136
2138 myApplicationWindow(applicationWindow) {
2139}
2140
2141
2142void
2144 FXStatusBar* statusbar, GUIMessageWindow* messageWindow) {
2145 // build windows menu commands
2147 TL("Show Status Line"), TL("Toggle this Status Bar on/off."),
2148 statusbar, FXWindow::ID_TOGGLESHOWN);
2150 TL("Show Message Window"), TL("Toggle the Message Window on/off."),
2151 messageWindow, FXWindow::ID_TOGGLESHOWN);
2152 new FXMenuSeparator(windowsMenu);
2154 TL("Clear Message Window"), "", TL("Clear the Message Window."),
2156}
2157
2158// ---------------------------------------------------------------------------
2159// GNEApplicationWindowHelper::WindowsMenuCommands - methods
2160// ---------------------------------------------------------------------------
2161
2163 myApplicationWindow(applicationWindow) {
2164}
2165
2166
2167void
2169 // build windows menu commands
2170 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Online Documentation"), "F1", TL("Open Online documentation."),
2171 nullptr, myApplicationWindow, MID_HOTKEY_F1_ONLINEDOCUMENTATION);
2172 new FXMenuSeparator(helpMenu);
2173 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Changelog"), "", TL("Open Changelog."),
2174 nullptr, myApplicationWindow, MID_CHANGELOG);
2175 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Hotkeys"), "", TL("Open Hotkeys."),
2176 nullptr, myApplicationWindow, MID_HOTKEYS);
2177 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Tutorial"), "", TL("Open Tutorial."),
2178 nullptr, myApplicationWindow, MID_TUTORIAL);
2179 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Feedback"), "", TL("Open feedback channels."),
2180 nullptr, myApplicationWindow, MID_FEEDBACK);
2181 new FXMenuSeparator(helpMenu);
2182 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("About"), "F12", TL("About netedit."),
2184}
2185
2186// ---------------------------------------------------------------------------
2187// GNEApplicationWindowHelper::NetworkCheckableButtons - methods
2188// ---------------------------------------------------------------------------
2189
2191 myApplicationWindow(applicationWindow) {
2192}
2193
2194
2195void
2197 networkMode->show();
2198 demandMode->show();
2199 dataMode->show();
2200}
2201
2202
2203void
2207
2208
2209void
2213
2214
2215void
2217 // build supermode menu commands
2218 networkMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
2219 TL("&Network"), "F2", TL("Select network mode."),
2221 demandMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
2222 TL("&Demand"), "F3", TL("Select demand mode."),
2224 dataMode = GUIDesigns::buildFXMenuCommandShortcut(editMenu,
2225 TL("&Data"), "F4", TL("Select data mode."),
2227}
2228
2229// ---------------------------------------------------------------------------
2230// GNESumoConfigHandler - methods
2231// ---------------------------------------------------------------------------
2232
2234 mySumoOptions(sumoOptions),
2235 myFile(file) {
2236}
2237
2238
2239bool
2241 // get options
2242 auto& neteditOptions = OptionsCont::getOptions();
2243 // reset options
2244 mySumoOptions.resetDefault();
2245 neteditOptions.resetDefault();
2246 // make all options writables
2247 mySumoOptions.resetWritable();
2248 neteditOptions.resetWritable();
2249 // build parser
2250 XERCES_CPP_NAMESPACE::SAXParser parser;
2251 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2252 parser.setDisableDefaultEntityResolution(true);
2253 // start the parsing
2254 OptionsLoader handler(mySumoOptions);
2255 try {
2256 parser.setDocumentHandler(&handler);
2257 parser.setErrorHandler(&handler);
2258 parser.parse(StringUtils::transcodeToLocal(myFile).c_str());
2259 if (handler.errorOccurred()) {
2260 WRITE_ERROR(TL("Could not load SUMO configuration '") + myFile + "'.");
2261 return false;
2262 }
2263 } catch (const XERCES_CPP_NAMESPACE::XMLException& e) {
2264 WRITE_ERROR(TL("Could not load SUMO configuration '") + myFile + "':\n " + StringUtils::transcode(e.getMessage()));
2265 return false;
2266 }
2267 // relocate files
2268 mySumoOptions.relocateFiles(myFile);
2269 // set loaded files in netedit options
2270 neteditOptions.set("sumocfg-file", myFile);
2271 neteditOptions.set("net-file", mySumoOptions.getString("net-file"));
2272 // check if we need to define the configuration file
2273 if (neteditOptions.getString("configuration-file").empty()) {
2274 const auto newConfiguration = StringUtils::replace(neteditOptions.getString("configuration-file"), ".sumocfg", ".netecfg");
2275 neteditOptions.resetWritable();
2276 neteditOptions.set("configuration-file", newConfiguration);
2277 }
2278 return true;
2279}
2280
2281// ---------------------------------------------------------------------------
2282// GNENeteditConfigHandler - methods
2283// ---------------------------------------------------------------------------
2284
2286 myFile(file) {
2287}
2288
2289
2290bool
2292 // get options
2293 auto& neteditOptions = OptionsCont::getOptions();
2294 // before reset defaults, save ignore route and demand elements (because usually are loaded trought console)
2295 const bool ignoreAdditionalElements = neteditOptions.getBool("ignore.additionalelements");
2296 const bool ignoreRouteElements = neteditOptions.getBool("ignore.routeelements");
2297 // reset options
2298 neteditOptions.resetDefault();
2299 // make all options writables
2300 neteditOptions.resetWritable();
2301 // build parser
2302 XERCES_CPP_NAMESPACE::SAXParser parser;
2303 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2304 parser.setDisableDefaultEntityResolution(true);
2305 // start the parsing
2306 OptionsLoader handler(neteditOptions);
2307 try {
2308 parser.setDocumentHandler(&handler);
2309 parser.setErrorHandler(&handler);
2310 parser.parse(StringUtils::transcodeToLocal(myFile).c_str());
2311 if (handler.errorOccurred()) {
2312 WRITE_ERROR(TL("Could not load netedit configuration '") + myFile + "'.");
2313 return false;
2314 }
2315 } catch (const XERCES_CPP_NAMESPACE::XMLException& e) {
2316 WRITE_ERROR(TL("Could not load netedit configuration '") + myFile + "':\n " + StringUtils::transcode(e.getMessage()));
2317 return false;
2318 }
2319 // relocate files
2320 neteditOptions.relocateFiles(myFile);
2321 // check if we have loaded a netedit config or a netconvert config
2322 if (neteditOptions.getString("configuration-file").find(".netccfg") != std::string::npos) {
2323 const auto newConfiguration = StringUtils::replace(neteditOptions.getString("configuration-file"), ".netccfg", ".netecfg");
2324 neteditOptions.resetWritable();
2325 neteditOptions.set("configuration-file", newConfiguration);
2326 }
2327 // restore ignores
2328 neteditOptions.resetWritable();
2329 neteditOptions.set("ignore.additionalelements", toString(ignoreAdditionalElements));
2330 neteditOptions.set("ignore.routeelements", toString(ignoreRouteElements));
2331 return true;
2332}
2333
2334// ---------------------------------------------------------------------------
2335// GNEApplicationWindowHelper - methods
2336// ---------------------------------------------------------------------------
2337
2338bool
2339GNEApplicationWindowHelper::toggleEditOptionsNetwork(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, FXObject* obj, FXSelector sel) {
2340 // finally function correspond to visibleMenuCommands[numericalKeyPressed]
2341 if (menuCheck == viewNet->getNetworkViewOptions().menuCheckToggleGrid) {
2342 // Call manually onCmdToggleShowGrid
2343 viewNet->onCmdToggleShowGrid(obj, sel, nullptr);
2344 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckToggleDrawJunctionShape) {
2345 // Call manually onCmdToggleDrawJunctionShape
2346 viewNet->onCmdToggleDrawJunctionShape(obj, sel, nullptr);
2347 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckDrawSpreadVehicles) {
2348 // Call manually onCmdToggleDrawSpreadVehicles
2349 viewNet->onCmdToggleDrawSpreadVehicles(obj, sel, nullptr);
2350 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowDemandElements) {
2351 // Call manually onCmdToggleShowDemandElementsNetwork
2352 viewNet->onCmdToggleShowDemandElementsNetwork(obj, sel, nullptr);
2353 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckSelectEdges) {
2354 // Call manually onCmdToggleSelectEdges
2355 viewNet->onCmdToggleSelectEdges(obj, sel, nullptr);
2356 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowConnections) {
2357 // Call manually onCmdToggleShowConnections
2358 viewNet->onCmdToggleShowConnections(obj, sel, nullptr);
2359 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckHideConnections) {
2360 // Call manually onCmdToggleHideConnections
2361 viewNet->onCmdToggleHideConnections(obj, sel, nullptr);
2362 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowAdditionalSubElements) {
2363 // Call manually onCmdToggleShowAdditionalSubElements
2364 viewNet->onCmdToggleShowAdditionalSubElements(obj, sel, nullptr);
2365 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowTAZElements) {
2366 // Call manually onCmdToggleShowTAZElements
2367 viewNet->onCmdToggleShowTAZElements(obj, sel, nullptr);
2368 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckExtendSelection) {
2369 // Call manually onCmdToggleExtendSelection
2370 viewNet->onCmdToggleExtendSelection(obj, sel, nullptr);
2371 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckChangeAllPhases) {
2372 // Call manually onCmdToggleChangeAllPhases
2373 viewNet->onCmdToggleChangeAllPhases(obj, sel, nullptr);
2374 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckMergeAutomatically) {
2375 // Call manually onCmdToggleMergeAutomatically
2376 viewNet->onCmdToggleMergeAutomatically(obj, sel, nullptr);
2377 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckMoveElevation) {
2378 // Call manually onCmdToggleMoveElevation
2379 viewNet->onCmdToggleMoveElevation(obj, sel, nullptr);
2380 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckChainEdges) {
2381 // Call manually onCmdToggleChainEdges
2382 viewNet->onCmdToggleChainEdges(obj, sel, nullptr);
2383 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckAutoOppositeEdge) {
2384 // Call manually onCmdToggleAutoOppositeEdge
2385 viewNet->onCmdToggleAutoOppositeEdge(obj, sel, nullptr);
2386 } else if (menuCheck == viewNet->getNetworkViewOptions().menuCheckShowJunctionBubble) {
2387 // Call manually onCmdToggleShowJunctionBubble
2388 viewNet->onCmdToggleShowJunctionBubbles(obj, sel, nullptr);
2389 } else {
2390 return false;
2391 }
2392 return true;
2393}
2394
2395
2396bool
2397GNEApplicationWindowHelper::toggleEditOptionsDemand(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, FXObject* obj, FXSelector sel) {
2398 if (menuCheck == viewNet->getDemandViewOptions().menuCheckToggleGrid) {
2399 // Call manually onCmdToggleShowGrid
2400 viewNet->onCmdToggleShowGrid(obj, sel, nullptr);
2401 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckToggleDrawJunctionShape) {
2402 // Call manually onCmdToggleDrawJunctionShape
2403 viewNet->onCmdToggleDrawJunctionShape(obj, sel, nullptr);
2404 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckDrawSpreadVehicles) {
2405 // Call manually onCmdToggleDrawSpreadVehicles
2406 viewNet->onCmdToggleDrawSpreadVehicles(obj, sel, nullptr);
2407 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckHideShapes) {
2408 // Call manually onCmdToggleHideShapes
2409 viewNet->onCmdToggleHideShapes(obj, sel, nullptr);
2410 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllTrips) {
2411 // Call manually onCmdToggleShowTrips
2412 viewNet->onCmdToggleShowTrips(obj, sel, nullptr);
2413 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllPersonPlans) {
2414 // Call manually onCmdToggleShowAllPersonPlans
2415 viewNet->onCmdToggleShowAllPersonPlans(obj, sel, nullptr);
2416 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckLockPerson) {
2417 // Call manually onCmdToggleLockPerson
2418 viewNet->onCmdToggleLockPerson(obj, sel, nullptr);
2419 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowAllContainerPlans) {
2420 // Call manually onCmdToggleShowAllContainerPlans
2421 viewNet->onCmdToggleShowAllContainerPlans(obj, sel, nullptr);
2422 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckLockContainer) {
2423 // Call manually onCmdToggleLockContainer
2424 viewNet->onCmdToggleLockContainer(obj, sel, nullptr);
2425 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckHideNonInspectedDemandElements) {
2426 // Call manually onCmdToggleHideNonInspecteDemandElements
2427 viewNet->onCmdToggleHideNonInspecteDemandElements(obj, sel, nullptr);
2428 } else if (menuCheck == viewNet->getDemandViewOptions().menuCheckShowOverlappedRoutes) {
2429 // Call manually onCmdToggleHideNonInspecteDemandElements
2430 viewNet->onCmdToggleShowOverlappedRoutes(obj, sel, nullptr);
2431 } else {
2432 return false;
2433 }
2434 return true;
2435}
2436
2437
2438bool
2439GNEApplicationWindowHelper::toggleEditOptionsData(GNEViewNet* viewNet, const MFXCheckableButton* menuCheck, FXObject* obj, FXSelector sel) {
2440 if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleDrawJunctionShape) {
2441 // Call manually onCmdToggleDrawJunctionShape
2442 viewNet->onCmdToggleDrawJunctionShape(obj, sel, nullptr);
2443 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowAdditionals) {
2444 // Call manually onCmdToggleShowAdditionals
2445 viewNet->onCmdToggleShowAdditionals(obj, sel, nullptr);
2446 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowShapes) {
2447 // Call manually onCmdToggleShowShapes
2448 viewNet->onCmdToggleShowShapes(obj, sel, nullptr);
2449 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckShowDemandElements) {
2450 // Call manually onCmdToggleShowDemandElementsData
2451 viewNet->onCmdToggleShowDemandElementsData(obj, sel, nullptr);
2452 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZRelDrawing) {
2453 // Call manually onCmdToggleTAZRelDrawing
2454 viewNet->onCmdToggleTAZRelDrawing(obj, sel, nullptr);
2455 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZDrawFill) {
2456 // Call manually onCmdToggleTAZDrawFill
2457 viewNet->onCmdToggleTAZDrawFill(obj, sel, nullptr);
2458 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZRelOnlyFrom) {
2459 // Call manually onCmdToggleTAZRelOnlyFrom
2460 viewNet->onCmdToggleTAZRelOnlyFrom(obj, sel, nullptr);
2461 } else if (menuCheck == viewNet->getDataViewOptions().menuCheckToggleTAZRelOnlyTo) {
2462 // Call manually onCmdToggleTAZRelOnlyTo
2463 viewNet->onCmdToggleTAZRelOnlyTo(obj, sel, nullptr);
2464 } else {
2465 return false;
2466 }
2467 return true;
2468}
2469
2470
2471bool
2472GNEApplicationWindowHelper::stringEndsWith(const std::string& str, const std::string& suffix) {
2473 if (str.length() < suffix.length()) {
2474 return false;
2475 } else {
2476 return str.compare(str.length() - suffix.length(), suffix.length(), suffix) == 0;
2477 }
2478}
2479
2480/****************************************************************************/
Supermode
@brie enum for supermodes
@ NETWORK
Network mode (Edges, junctions, etc..)
@ DATA
Data mode (edgeData, LaneData etc..)
@ DEMAND
Demand mode (Routes, Vehicles etc..)
@ MID_GNE_NETWORKVIEWOPTIONS_AUTOOPPOSITEEDGES
automatically create opposite edge
Definition GUIAppEnum.h:849
@ MID_GNE_NETGENERATE
netgenerate dialog
Definition GUIAppEnum.h:763
@ MID_HOTKEY_SHIFT_F10_SUMOOPTIONSMENU
open SUMO options menu (used in netedit)
Definition GUIAppEnum.h:274
@ MID_HOTKEY_SHIFT_F7_ADJUST_PERSON_PLANS
Adjust person plans (start und end positions, arrival positions, etc.)
Definition GUIAppEnum.h:272
@ MID_HOTKEY_SHIFT_F5_COMPUTEJUNCTIONS_VOLATILE
compute junctions with volatile options
Definition GUIAppEnum.h:270
@ MID_HOTKEY_CTRL_SHIFT_B_SAVEDATAELEMENTS
save Data Elements
Definition GUIAppEnum.h:204
@ MID_HOTKEY_F3_SUPERMODE_DEMAND
select demand supermode in netedit
Definition GUIAppEnum.h:236
@ MID_GNE_UNDOLISTDIALOG
open undo list dialog
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLPERSONPLANS
show all person plans
Definition GUIAppEnum.h:933
@ MID_GNE_UNLOCK_ALLELEMENTS
unlock all element
Definition GUIAppEnum.h:911
@ MID_HOTKEY_SHIFT_S_LOCATESTOP
Locate stop - button.
Definition GUIAppEnum.h:188
@ MID_HOTKEY_CTRL_T_OPENNETEDIT_OPENSUMO
Open current SUMO simulation/network in netedit, or current netedit simulation/network in SUMO.
Definition GUIAppEnum.h:123
@ MID_GNE_DATAVIEWOPTIONS_TAZRELDRAWING
toggle TAZRel drawing
Definition GUIAppEnum.h:957
@ MID_GNE_TOGGLE_COMPUTE_NETWORK_DATA
enable/disable computing after switchin between supermodes
Definition GUIAppEnum.h:797
@ MID_GNE_TOOLBARFILE_SAVEADDITIONALELEMENTS_UNIFIED
save additionals unified
Definition GUIAppEnum.h:723
@ MID_TOOLBAREDIT_LOADADDITIONALS
load additionals in sumo-gui/netedit after press ctrl+T
Definition GUIAppEnum.h:683
@ MID_HOTKEY_U_MODE_DECAL_TYPEDISTRIBUTION
hotkey for mode decal AND type distribution
Definition GUIAppEnum.h:69
@ MID_GNE_NETWORKVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
Definition GUIAppEnum.h:823
@ MID_HOTKEY_CTRL_Y_REDO
Undo.
Definition GUIAppEnum.h:133
@ MID_HOTKEY_CTRL_SHIFT_H_SAVEEDGETYPES
save Edge Types
Definition GUIAppEnum.h:212
@ MID_GNE_NETWORKVIEWOPTIONS_MOVEELEVATION
move elevation instead of x,y
Definition GUIAppEnum.h:845
@ MID_GNE_TOOLBARFILE_RELOAD_EDGETYPES
reload edge types
Definition GUIAppEnum.h:735
@ MID_GNE_NETWORKVIEWOPTIONS_HIDECONNECTIONS
hide connections
Definition GUIAppEnum.h:831
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWCONNECTIONS
show connections
Definition GUIAppEnum.h:829
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYTO
toggle draw TAZRel only to
Definition GUIAppEnum.h:963
@ MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
Definition GUIAppEnum.h:129
@ MID_GNE_LOCK_ALLELEMENTS
lock all element
Definition GUIAppEnum.h:909
@ MID_HOTKEY_F7_JOIN_SELECTEDJUNCTIONS_ROUTES
join selected junctions in network mode and normalice demand element ids in demand mode
Definition GUIAppEnum.h:244
@ MID_HOTKEY_CTRL_D_SINGLESIMULATIONSTEP_OPENDEMANDELEMENTS
Perform a single simulation step in SUMO and open Demand Elements in netedit.
Definition GUIAppEnum.h:89
@ MID_HOTKEY_F5_COMPUTE_NETWORK_DEMAND
compute Network in network mode and Demand elements in demand mode
Definition GUIAppEnum.h:240
@ MID_HOTKEY_CTRL_O_OPENSIMULATION_OPENNETWORK
Open simulation in SUMO and open network in netedit.
Definition GUIAppEnum.h:111
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWTAZELEMENTS
show TAZ elements
Definition GUIAppEnum.h:835
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKPERSON
lock person
Definition GUIAppEnum.h:935
@ MID_HOTKEY_Z_MODE_TAZ_TAZREL
hotkey for mode editing TAZ and TAZRel
Definition GUIAppEnum.h:75
@ MID_HOTKEY_F9_EDIT_VIEWSCHEME
open edit scheme menu
Definition GUIAppEnum.h:248
@ MID_GNE_DEMANDVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
Definition GUIAppEnum.h:923
@ MID_GNE_LOCK_SELECTEDELEMENTS
lock selected element
Definition GUIAppEnum.h:913
@ MID_GNE_TOOLBARFILE_SAVESUMOCONFIG_AS
save SUMOConfig as
Definition GUIAppEnum.h:719
@ MID_GNE_TOOLBARFILE_RELOAD_TLSPROGRAMS
reload TLS Programs
Definition GUIAppEnum.h:731
@ MID_HOTKEY_A_MODE_STARTSIMULATION_ADDITIONALS_STOPS
hotkey for start simulation in SUMO and set editing mode additionals AND stops in netedit
Definition GUIAppEnum.h:43
@ MID_GNE_TOOLBARFILE_OPENMEANDATAELEMENTS
open meanData file
Definition GUIAppEnum.h:745
@ MID_CHANGELOG
changelog button
Definition GUIAppEnum.h:657
@ MID_GNE_TOOLBARFILE_OPENFOREIGN
open foreign network
Definition GUIAppEnum.h:709
@ MID_GNE_TOOLBARFILE_RELOAD_NETEDITCONFIG
reload neteditConfig
Definition GUIAppEnum.h:713
@ MID_HOTKEY_CTRL_B_EDITBREAKPOINT_OPENDATAELEMENTS
Edit simulation breakpoints in SUMO and open Data Elements in netedit.
Definition GUIAppEnum.h:85
@ MID_TOOLBAREDIT_LOADDEMAND
load demand in sumo-gui/netedit after press ctrl+T
Definition GUIAppEnum.h:685
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWGRID
show grid
Definition GUIAppEnum.h:921
@ MID_HOTKEY_F1_ONLINEDOCUMENTATION
open online documentation
Definition GUIAppEnum.h:232
@ MID_HOTKEY_CTRL_SHIFT_D_SAVEDEMANDELEMENTS
Save Demand Elements.
Definition GUIAppEnum.h:208
@ MID_HOTKEY_CTRL_R_RELOAD
Reload the previously loaded simulation.
Definition GUIAppEnum.h:119
@ MID_HOTKEY_CTRL_S_STOPSIMULATION_SAVENETWORK
Stop the simulation in SUMO and save network in netedit.
Definition GUIAppEnum.h:117
@ MID_HOTKEY_D_MODE_SINGLESIMULATIONSTEP_DELETE
hotkey for perform a single simulation step in SUMO and set delete mode in netedit
Definition GUIAppEnum.h:49
@ MID_GNE_NETWORKVIEWOPTIONS_CHAINEDGES
create edges in chain mode
Definition GUIAppEnum.h:847
@ MID_HOTKEY_F10_OPTIONSMENU
open options menu
Definition GUIAppEnum.h:250
@ MID_HOTKEY_F11_FRONTELEMENT
set/clear front element
Definition GUIAppEnum.h:252
@ MID_HOTKEY_F8_CLEANINVALID_CROSSINGS_DEMANDELEMENTS
clean invalid crossings in network mode and demand elements in demand mode
Definition GUIAppEnum.h:246
@ MID_GNE_DATAVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
Definition GUIAppEnum.h:955
@ MID_GNE_TOOLBARFILE_RELOAD_MEANDATAELEMENTS
reload meanDatas
Definition GUIAppEnum.h:749
@ MID_GNE_TOOLBARFILE_SAVEMEANDATAELEMENTS_UNIFIED
save meanDatas unified
Definition GUIAppEnum.h:747
@ MID_HOTKEY_CTRL_A_STARTSIMULATION_OPENADDITIONALELEMENTS
Start the simulation in SUMO and open Additionals Elements in netedit.
Definition GUIAppEnum.h:83
@ MID_HOTKEY_C_MODE_CONNECT_CONTAINER
hotkey for mode connecting lanes AND container
Definition GUIAppEnum.h:45
@ MID_HOTKEY_H_MODE_PROHIBITION_CONTAINERPLAN
hotkey for mode prohibition AND container plan
Definition GUIAppEnum.h:53
@ MID_HOTKEY_SHIFT_O_LOCATEPOI
Locate poi - button.
Definition GUIAppEnum.h:182
@ MID_HOTKEY_W_MODE_WIRE_ROUTEDISTRIBUTION
hotkey for mode editing overhead wires AND route distributions
Definition GUIAppEnum.h:73
@ MID_HOTKEY_T_MODE_TLS_TYPE
hotkey for mode editing TLS AND Vehicle Types
Definition GUIAppEnum.h:67
@ MID_GNE_DEMANDVIEWOPTIONS_HIDESHAPES
hide shapes
Definition GUIAppEnum.h:929
@ MID_GNE_TOGGLE_UNDOREDO
enable/disable undo-redo
Definition GUIAppEnum.h:799
@ MID_HOTKEY_SHIFT_A_LOCATEADDITIONAL
Locate additional structure - button.
Definition GUIAppEnum.h:172
@ MID_GNE_TOOLBARFILE_SAVETLSPROGRAMS_AS
save TLS Programs as
Definition GUIAppEnum.h:729
@ MID_GNE_DATAVIEWOPTIONS_SHOWADDITIONALS
show additionals
Definition GUIAppEnum.h:951
@ MID_HOTKEY_SHIFT_R_LOCATEROUTE
Locate route - button.
Definition GUIAppEnum.h:186
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWBUBBLES
show junctions as bubbles
Definition GUIAppEnum.h:843
@ MID_HOTKEY_SHIFT_W_LOCATEWALKINGAREA
Locate edge - button.
Definition GUIAppEnum.h:194
@ MID_GNE_TOOLBARFILE_RELOAD_DEMANDELEMENTS
reload demand elements
Definition GUIAppEnum.h:739
@ MID_GNE_NETWORKVIEWOPTIONS_EXTENDSELECTION
extend selection
Definition GUIAppEnum.h:837
@ MID_HOTKEY_CTRL_I_EDITVIEWPORT
Open viewport editor.
Definition GUIAppEnum.h:99
@ MID_RECENTFILE
Loads a file previously loaded.
Definition GUIAppEnum.h:320
@ MID_HOTKEY_S_MODE_STOPSIMULATION_SELECT
hotkey for stop simulation in SUMO and set select mode in netedit
Definition GUIAppEnum.h:63
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWSUBADDITIONALS
show sub-additionals
Definition GUIAppEnum.h:833
@ MID_HOTKEY_SHIFT_C_LOCATECONTAINER
Locate container - button.
Definition GUIAppEnum.h:174
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLCONTAINERPLANS
show all container plans
Definition GUIAppEnum.h:937
@ MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW
open a new window (SUMO AND netedit)
Definition GUIAppEnum.h:218
@ MID_HOTKEY_SHIFT_V_LOCATEVEHICLE
Locate vehicle - button.
Definition GUIAppEnum.h:192
@ MID_HOTKEY_F4_SUPERMODE_DATA
select data supermode in netedit
Definition GUIAppEnum.h:238
@ MID_HOTKEY_SHIFT_L_LOCATEPOLY
Locate polygons - button.
Definition GUIAppEnum.h:180
@ MID_HOTKEY_F6_CLEAN_SOLITARYJUNCTIONS_UNUSEDROUTES
clean junctions without edges in network mode and unused routes in demand mode
Definition GUIAppEnum.h:242
@ MID_HOTKEY_CTRL_K_OPENTLSPROGRAMS
Load file with TLS Programs.
Definition GUIAppEnum.h:103
@ MID_GNE_LOCK_ELEMENT
lock element (general, used if we press directly the menuCommand in the toolbar)
Definition GUIAppEnum.h:855
@ MID_GNE_TOOLBARFILE_SAVENETEDITCONFIG_AS
save neteditConfig as
Definition GUIAppEnum.h:715
@ MID_HOTKEY_SHIFT_E_LOCATEEDGE
Locate edge - button.
Definition GUIAppEnum.h:176
@ MID_CLEARMESSAGEWINDOW
Clear simulation output.
Definition GUIAppEnum.h:369
@ MID_HOTKEY_R_MODE_CROSSING_ROUTE_EDGERELDATA
hotkey for mode editing crossing, routes and edge rel datas
Definition GUIAppEnum.h:65
@ MID_TUTORIAL
tutorial button
Definition GUIAppEnum.h:661
@ MID_GNE_TOGGLE_UNDOREDO_LOADING
enable/disable undo-redo during loading
Definition GUIAppEnum.h:801
@ MID_GNE_DATAVIEWOPTIONS_TAZDRAWFILL
toggle draw TAZ fill
Definition GUIAppEnum.h:959
@ MID_HOTKEY_L_MODE_PERSONPLAN
hotkey for mode person plan
Definition GUIAppEnum.h:57
@ MID_HOTKEY_V_MODE_VEHICLE
hotkey for mode create vehicles
Definition GUIAppEnum.h:71
@ MID_HOTKEY_SHIFT_P_LOCATEPERSON
Locate person - button.
Definition GUIAppEnum.h:184
@ MID_GNE_TOOLBARFILE_SAVEDATAELEMENTS_UNIFIED
save data elements unified
Definition GUIAppEnum.h:741
@ 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:825
@ MID_HOTKEY_SHIFT_J_LOCATEJUNCTION
Locate junction - button.
Definition GUIAppEnum.h:178
@ MID_HOTKEY_CTRL_SHIFT_E_SAVENETEDITCONFIG
save netedit Config
Definition GUIAppEnum.h:210
@ MID_GNE_TOOLBARFILE_SAVEEDGETYPES_AS
save edgeTypes as
Definition GUIAppEnum.h:733
@ MID_HOTKEYS
hotkeys button
Definition GUIAppEnum.h:659
@ MID_GNE_DEMANDVIEWOPTIONS_HIDENONINSPECTED
hide non-inspected demand element
Definition GUIAppEnum.h:927
@ MID_GNE_TOOLBARFILE_RELOADNETWORK
reload only network
Definition GUIAppEnum.h:707
@ MID_GNE_NETWORKVIEWOPTIONS_MERGEAUTOMATICALLY
don't ask before merging junctions
Definition GUIAppEnum.h:841
@ MID_HOTKEY_CTRL_SHIFT_M_SAVEMEANDATAELEMENTS
save Mean Datas
Definition GUIAppEnum.h:216
@ MID_GNE_NETWORKVIEWOPTIONS_CHANGEALLPHASES
change all phases
Definition GUIAppEnum.h:839
@ MID_GNE_DATAVIEWOPTIONS_SHOWSHAPES
show shapes
Definition GUIAppEnum.h:953
@ MID_HOTKEY_E_MODE_EDGE_EDGEDATA
hotkey for mode adding edges AND edgeDatas
Definition GUIAppEnum.h:51
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYFROM
toggle draw TAZRel only from
Definition GUIAppEnum.h:961
@ MID_GNE_TOOLBARFILE_RELOAD_SUMOCONFIG
reload SUMOConfig
Definition GUIAppEnum.h:717
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
Definition GUIAppEnum.h:821
@ MID_HOTKEY_CTRL_SHIFT_O_OPENNETCONVERTFILE
open Netconvert file
Definition GUIAppEnum.h:220
@ MID_HOTKEY_CTRL_M_OPENSUMOCONFIG
open sumo config
Definition GUIAppEnum.h:107
@ MID_GNE_TOOLBARFILE_SAVENETWORK_AS
save network as
Definition GUIAppEnum.h:721
@ MID_GNE_DEMANDVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
Definition GUIAppEnum.h:925
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWOVERLAPPEDROUTES
show overlapped routes
Definition GUIAppEnum.h:941
@ MID_HOTKEY_CTRL_Z_UNDO
Redo.
Definition GUIAppEnum.h:135
@ MID_GNE_TOOLBARFILE_SAVEDEMANDELEMENTS_UNIFIED
save demand elements unified
Definition GUIAppEnum.h:737
@ MID_FEEDBACK
feedback button
Definition GUIAppEnum.h:663
@ MID_HOTKEY_CTRL_H_APPSETTINGS_OPENEDGETYPES
open app setting dialog in SUMO and open edge type files in netedit
Definition GUIAppEnum.h:97
@ MID_HOTKEY_CTRL_SHIFT_S_SAVESUMOCONFIG
save SUMOConfig (SUMO AND netedit)
Definition GUIAppEnum.h:222
@ MID_HOTKEY_F12_ABOUT
open about dialog
Definition GUIAppEnum.h:256
@ MID_HOTKEY_CTRL_E_EDITSELECTION_LOADNETEDITCONFIG
Edit selection in SUMO and load neteditConfig in netedit.
Definition GUIAppEnum.h:91
@ MID_GNE_TOOLBARFILE_RELOAD_DATAELEMENTS
reload data elements
Definition GUIAppEnum.h:743
@ MID_HOTKEY_CTRL_SHIFT_K_SAVETLS
save TLS Programs
Definition GUIAppEnum.h:214
@ MID_HOTKEY_SHIFT_T_LOCATETLS
Locate TLS - button.
Definition GUIAppEnum.h:190
@ MID_HOTKEY_M_MODE_MOVE_MEANDATA
hotkey for mode moving element AND mean data
Definition GUIAppEnum.h:59
@ MID_HOTKEY_F2_SUPERMODE_NETWORK
select network supermode in netedit
Definition GUIAppEnum.h:234
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKCONTAINER
lock container
Definition GUIAppEnum.h:939
@ MID_HOTKEY_CTRL_N_OPENNETWORK_NEWNETWORK
open network in SUMO and create new empty network in netedit
Definition GUIAppEnum.h:109
@ MID_GNE_TOOLBARFILE_RELOAD_ADDITIONALELEMENTS
reload additionals
Definition GUIAppEnum.h:727
@ MID_GNE_NETWORKVIEWOPTIONS_SELECTEDGES
select edges
Definition GUIAppEnum.h:827
@ MID_GNE_SAVEJOINEDJUNCTIONS
save joined junctions
Definition GUIAppEnum.h:711
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWTRIPS
show all trips
Definition GUIAppEnum.h:931
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEGRID
show grid
Definition GUIAppEnum.h:819
@ MID_GNE_TOOLBARFILE_SAVEJUPEDSIMELEMENTS_AS
save JuPedSim as
Definition GUIAppEnum.h:725
@ MID_HOTKEY_P_MODE_POLYGON_PERSON
hotkey for mode creating polygons
Definition GUIAppEnum.h:61
@ MID_HOTKEY_CTRL_L_SAVEASPLAINXML
save network as plain XML
Definition GUIAppEnum.h:105
@ MID_HOTKEY_CTRL_SHIFT_A_SAVEADDITIONALELEMENTS
Save Additional Elements.
Definition GUIAppEnum.h:202
#define GUIDesignToolbarMenuBarNetedit
design for top toolbar (file, edit, processing...) used only in netedit (due supermodes buttons)
Definition GUIDesigns.h:462
#define GUIDesignToolBarGrip
design for toolbar grip (used to change the position of toolbar with mouse)
Definition GUIDesigns.h:480
#define GUIDesignToolBar
design for default toolbar
Definition GUIDesigns.h:465
#define GUIDesignToolBarRaisedNext
design for first toolbar shell positioned in the next position of dock
Definition GUIDesigns.h:474
#define GUIDesignToolBarRaisedSupermodes
design for toolbar supermodes (grip + buttons)
Definition GUIDesigns.h:471
#define GUIDesignToolBarRaisedSame
design for toolbar
Definition GUIDesigns.h:468
@ CLEANJUNCTIONS
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
@ SAVE_NETEDITCONFIG
@ SAVE_DATAELEMENTS
@ NETWORKMODE_CHECKBOX_BUBBLES
@ SAVE_NETWORKELEMENTS
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
@ MODEPERSONPLAN
@ MODECROSSING
@ MODEMEANDATA
@ MODEADDITIONAL
@ MODEEDGERELDATA
@ EDITVIEWPORT
@ SUPERMODEDEMAND
@ CLEARMESSAGEWINDOW
@ MODEPROHIBITION
@ SAVE_ADDITIONALELEMENTS
@ DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS
@ NETWORKMODE_CHECKBOX_HIDECONNECTIONS
@ DEMANDMODE_CHECKBOX_SHOWTRIPS
@ OPEN_ADDITIONALS
@ COMMONMODE_CHECKBOX_TOGGLEDRAWJUNCTIONSHAPE
@ NETEDIT_MINI
@ DATAMODE_CHECKBOX_SHOWSHAPES
@ NETWORKMODE_CHECKBOX_SELECTEDGES
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
@ COMPUTEJUNCTIONS
@ DEMANDMODE_CHECKBOX_LOCKPERSON
@ LOCATEVEHICLE
@ NETWORKMODE_CHECKBOX_MERGEAUTOMATICALLY
@ FRONTELEMENT
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
@ MODECREATEEDGE
@ LOCATEWALKINGAREA
@ DATAMODE_CHECKBOX_TAZRELONLYTO
@ NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS
@ OPEN_MEANDATAS
@ LOCATEPERSON
@ SAVE_MEANDATAELEMENTS
@ DATAMODE_CHECKBOX_TAZRELDRAWING
@ NETWORKMODE_CHECKBOX_SHOWCONNECTIONS
@ TRANSHIP_EDGE
@ LOCK_SELECTED
@ DEMANDMODE_CHECKBOX_SHOWPERSONPLANS
@ MODECONTAINER
@ DEMANDMODE_CHECKBOX_HIDESHAPES
@ JPS_WALKABLEAREA
@ DATAMODE_CHECKBOX_TAZDRAWFILL
@ MODEEDGEDATA
@ TRANSPORT_EDGE
@ NETWORKMODE_CHECKBOX_ELEVATION
@ SUPERMODENETWORK
@ JPS_OBSTACLE
@ COMMONMODE_CHECKBOX_SPREADVEHICLE
@ SAVE_DEMANDELEMENTS
@ OPEN
open icons
@ ADJUSTPERSONPLANS
@ DEMANDMODE_CHECKBOX_LOCKCONTAINER
@ NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS
@ SAVE_JUPEDSIMELEMENTS
@ LOCATECONTAINER
@ NETWORKMODE_CHECKBOX_SHOWTAZELEMENTS
@ SUPERMODEDATA
@ MODECONNECTION
@ LOCATEJUNCTION
@ MODECONTAINERPLAN
@ NETWORKMODE_CHECKBOX_CHAIN
@ COMPUTEDEMAND
@ OPEN_NETEDITCONFIG
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ SAVE_SUMOCONFIG
@ MODETYPEDISTRIBUTION
@ OVERHEADWIRE
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ OPEN_TLSPROGRAMS
@ JOINJUNCTIONS
@ MODEROUTEDISTRIBUTION
@ PERSONTRIP_EDGE
@ MODETAZRELDATA
@ OPEN_SUMOCONFIG
@ SAVE
save icons
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
#define WRITE_ERROR(msg)
Definition MsgHandler.h:295
#define TL(string)
Definition MsgHandler.h:304
@ SUMO_TAG_EDGEREL
a relation between two edges
@ GNE_TAG_EDGEREL_SINGLE
@ SUMO_TAG_POI
begin/end of the description of a Point of interest
@ GNE_TAG_POIGEO
Point of interest over view with GEO attributes.
@ SUMO_TAG_CONNECTION
connectioon between two lanes
@ SUMO_TAG_WALKINGAREA
walking area for pedestrians
@ SUMO_TAG_JUNCTION
begin/end of the description of a junction
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
@ SUMO_TAG_POLY
begin/end of the description of a polygon
@ SUMO_TAG_LANE
begin/end of the description of a single lane
@ GNE_TAG_POILANE
Point of interest over Lane.
@ GNE_TAG_JPS_OBSTACLE
polygon used for draw juPedSim obstacles
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ GNE_TAG_JPS_WALKABLEAREA
polygon used for draw juPedSim walkable areas
@ SUMO_TAG_EDGE
begin/end of the description of an edge
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition ToString.h:46
GNESumoConfigHandler(OptionsCont &sumoOptions, const std::string &file)
Constructor.
The main window of Netedit.
const GNETagProperties * getTagProperty() const
get tagProperty associated with this Attribute Carrier
bool isPlanTransport() const
return true if tag correspond to a transport
bool isContainer() const
return true if tag correspond to a container element
bool isTAZElement() const
return true if tag correspond to a TAZ element
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 isPlanStopContainer() const
return true if tag correspond to a container stop plan
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
bool isPlanPersonTrip() const
return true if tag correspond to a person trip plan
bool isWireElement() const
return true if tag correspond to a Wire element
bool isPlanRide() const
return true if tag correspond to a ride plan
bool isAdditionalElement() const
return true if tag correspond to an additional element (note: this include TAZ, shapes and wires)
bool isPlanStopPerson() const
return true if tag correspond to a person stop plan
bool isVehicleStop() const
return true if tag correspond to a vehicle stop element
bool isPerson() const
return true if tag correspond to a person element
bool isPlanWalk() const
return true if tag correspond to a walk plan
bool isPlanTranship() const
return true if tag correspond to a tranship
long onCmdToggleShowDemandElementsNetwork(FXObject *, FXSelector, void *)
toggle show demand elements (network)
const GNEViewNetHelper::DataViewOptions & getDataViewOptions() const
get data view options
long onCmdToggleShowDemandElementsData(FXObject *, FXSelector, void *)
toggle show demand elements (data)
long onCmdToggleTAZDrawFill(FXObject *, FXSelector, void *)
toggle TAZdrawFill
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
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 onCmdToggleMergeAutomatically(FXObject *, FXSelector, void *)
toggle warn for merge
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
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
static FXMenuCommand * buildFXMenuCommandRecentFile(FXComposite *p, const std::string &text, FXObject *tgt, FXSelector sel)
build menu command (for recent files)
static FXMenuCheck * buildFXMenuCheckbox(FXComposite *p, const std::string &text, const std::string &info, FXObject *tgt, FXSelector sel)
build menu checkbox
static FXMenuCommand * buildFXMenuCommand(FXComposite *p, const std::string &text, FXIcon *icon, FXObject *tgt, FXSelector sel, const bool disable=false)
build menu command
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
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
A logging window for the gui.
A storage for options typed value containers)
Definition OptionsCont.h:89
static OptionsCont & getOptions()
Retrieves the options.
A SAX-Handler for loading options.
bool errorOccurred() const
Returns the information whether an error occurred.
static std::string replace(std::string str, const std::string &what, const std::string &by)
Replaces all occurrences of the second string by the third string within the first string.
static std::string transcode(const XMLCh *const data)
converts a 0-terminated XMLCh* array (usually UTF-16, stemming from Xerces) into std::string in UTF-8
static std::string transcodeToLocal(const std::string &utf8String)
convert a string from UTF-8 to the local codepage
DataViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
DemandViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
NetworkViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
EditMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
DemandViewOptions demandViewOptions
demand view options
NetworkViewOptions networkViewOptions
network view options
void buildUndoRedoMenuCommands(FXMenuPane *editMenu)
build undo-redo menu commands
void buildViewMenuCommands(FXMenuPane *editMenu)
build view menu commands
void buildOpenSUMOMenuCommands(FXMenuPane *editMenu)
build open sumo menu commands
void buildFrontElementMenuCommand(FXMenuPane *editMenu)
build front element commands
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
void buildEdgeTypeSection(FXMenuPane *menuPane)
build edge type section
void buildDemandSection(FXMenuPane *menuPane)
build demand section
void buildFileMenuCommands(FXMenuPane *fileMenu, FXMenuPane *fileMenuNEEDITConfig, FXMenuPane *fileMenuSumoConfig, FXMenuPane *fileMenuTLS, FXMenuPane *fileMenuEdgeTypes, FXMenuPane *fileMenuAdditionals, FXMenuPane *fileMenuDemandElements, FXMenuPane *fileMenuDataElements, FXMenuPane *fileMenuMeanDataElements)
build menu commands
FileMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildDataSection(FXMenuPane *menuPane)
build data section
void buildTrafficLightSection(FXMenuPane *menuPane)
build traffic light section
void buildAdditionalSection(FXMenuPane *menuPane)
build additional section
void buildMeanDataSection(FXMenuPane *menuPane)
build meanData section
void buildNeteditConfigSection(FXMenuPane *menuPane)
build netedit config section
void buildSumoConfigSection(FXMenuPane *menuPane)
build SUMO Config section
void buildHelpMenuCommands(FXMenuPane *helpMenu)
build menu commands
HelpMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildLocateMenuCommands(FXMenuPane *locateMenu)
build menu commands
LocateMenuCommands(GNEApplicationWindow *applicationWindow)
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
void showNetworkLockMenuCommands()
show network processing menu commands
FXHotKey parseHotKey(const FXwchar character)
Parse hot key from string.
void showDemandLockMenuCommands()
show demand processing menu commands
LockMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void editLocking(const GNEAttributeCarrier *AC, const FXbool value)
lock or unlock object based in a tag property
void buildRecentConfigFiles(FXMenuPane *fileMenu, FXMenuPane *fileMenuRecentConfigFiles)
build recent config
void buildRecentNetworkFiles(FXMenuPane *fileMenu, FXMenuPane *fileMenuRecentNetworkFiles)
build recent network
MenuBarFile(GNEApplicationWindow *applicationWindow)
constructor
CommonMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
DataMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
DemandMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
NetworkMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
CommonMenuCommands commonMenuCommands
Common Menu Commands.
ModesMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildModesMenuCommands(FXMenuPane *modesMenu)
build modes menu commands
DemandMenuCommands demandMenuCommands
Demand Menu Commands.
void setDefaultView(Supermode supermode)
set default view
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
void setJuPedSimView(Supermode supermode)
set JuPedSim view
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
ProcessingMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void showNetworkProcessingMenuCommands()
show network processing menu commands
void hideNetworkProcessingMenuCommands()
show network processing menu commands
SupermodeCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildSupermodeCommands(FXMenuPane *editMenu)
build menu commands
ToolbarsGrip(GNEApplicationWindow *applicationWindow)
constructor
long postProcessing(FXObject *menuCommand) const
run postprocessing
void buildTools(FXMenuPane *toolsMenu, const std::map< std::string, FXMenuPane * > &menuPaneToolMaps)
build tools (and menu commands)
ToolsMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
long runToolDialog(FXObject *menuCommand) const
run tool dialog
WindowsMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildWindowsMenuCommands(FXMenuPane *windowsMenu, FXStatusBar *statusbar, GUIMessageWindow *messageWindow)
build menu commands
static bool toggleEditOptionsDemand(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, FXObject *obj, FXSelector sel)
toggle edit options Demand menu commands (called in GNEApplicationWindow::onCmdToggleEditOptions)
static bool toggleEditOptionsData(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, 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 bool toggleEditOptionsNetwork(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, 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 * menuCheckMergeAutomatically
checkable button to we should't warn about merging junctions
MFXCheckableButton * menuCheckShowJunctionBubble
checkable button to show connection as bubble in "Move" mode.
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