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
52
53
54void
56 // build menu bar (for File, edit, processing...) using specify design
59 // declare toolbar grip for menu bar
60 new FXToolBarGrip(menu, menu, FXMenuBar::ID_TOOLBARGRIP, GUIDesignToolBarGrip);
61}
62
63
64void
66 // build toolbar shells
73 // build menu bars
78 if (OptionsCont::getOptions().getBool("gui-testing")) {
80 } else {
82 }
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
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
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
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
182 myRecentConfigs.setSelector(MID_RECENTFILE);
183 new FXMenuCascade(fileMenu, TL("Recent Configs"), nullptr, fileMenuRecentConfigFiles);
184}
185
186// ---------------------------------------------------------------------------
187// GNEApplicationWindowHelper::FileMenuCommands - methods
188// ---------------------------------------------------------------------------
189
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."),
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);
305 TL("Allow undoing element loading"), TL("Allow to undo loading of elements (Slow if a lot of elements are loaded)"),
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
329
330
331void
342
343
344void
350
351
352void
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
550
551
552void
554 // build every FXMenuCommand giving it a shortcut
556 TL("&Inspect"), "I", TL("Inspect elements and change their attributes."),
559 TL("&Delete"), "D", TL("Delete elements."),
562 TL("&Select"), "S", TL("Select elements."),
564}
565
566// ---------------------------------------------------------------------------
567// GNEApplicationWindowHelper::ModesMenuCommands::NetworkMenuCommands - methods
568// ---------------------------------------------------------------------------
569
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
611 TL("&Move"), "M", TL("Move elements."),
615 TL("&Edge"), "E", TL("Create junction and edges."),
619 TL("&Traffic light"), "T", TL("Modes traffic lights over junctions."),
623 TL("&Connection"), "C", TL("Modes connections between lanes."),
627 TL("Pro&hibition"), "H", TL("Modes connection prohibitions."),
631 TL("C&rossing"), "R", TL("Create crossings between edges."),
635 TL("&Additional"), "A", TL("Create additional elements."),
639 TL("&Wire"), "W", TL("Create wires."),
643 TL("TA&Z"), "Z", TL("Create Traffic Assignment Zones."),
647 TL("&POI-Poly"), "P", TL("Create Points-Of-Interest and polygons."),
651 TL("Deca&ls"), "U", TL("Create decals."),
654}
655
656// ---------------------------------------------------------------------------
657// GNEApplicationWindowHelper::ModesMenuCommands::DemandMenuCommands - methods
658// ---------------------------------------------------------------------------
659
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
701 TL("&Move"), "M", TL("Move elements."),
704 TL("Route"), "R", TL("Create Routes."),
707 TL("Route distribution"), "W", TL("Create and edit route distributions."),
711 TL("Vehicle"), "V", TL("Create vehicles."),
714 TL("Type"), "T", TL("Create types (vehicles, person and containers)."),
717 TL("TypeDistribution"), "U", TL("Create and edit type distributions."),
720 TL("Stop"), "A", TL("Create stops."),
723 TL("Person"), "P", TL("Create persons."),
726 TL("Person plan"), "L", TL("Create person plans."),
729 TL("Container"), "C", TL("Create containers."),
732 TL("Container plan"), "H", TL("Create container plans."),
734}
735
736// ---------------------------------------------------------------------------
737// GNEApplicationWindowHelper::ModesMenuCommands::DataMenuCommands - methods
738// ---------------------------------------------------------------------------
739
743
744
745void
752
753
754void
761
762
763void
765 // build every FXMenuCommand giving it a shortcut
767 TL("&EdgeData"), "E", TL("Create edgeData elements."),
770 TL("Edge&Relation"), "R", TL("Create edgeRelation elements."),
773 TL("TA&ZRelation"), "Z", TL("Create TAZRelation elements."),
776 TL("&MeanData"), "M", TL("Create MeanData edge/lanes."),
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
853
854
855void
857 // create menu checks
859 TL("Show grid"), "Ctrl+G or Alt+1", "",
862
864 TL("Hide junction shape"), "Ctrl+J or Alt+2", "",
867
869 TL("Draw vehicles spread in lane or in depart position"), "Alt+3", "",
872
874 TL("Show demand elements"), "Alt+4", "",
877
879 TL("Clicking should target lanes"), "Alt+5", "",
882
884 TL("Show connections over junctions"), "Alt+6", "",
887
889 TL("Hide connections"), "Alt+7", "",
892
894 TL("Show sub-additional elements"), "Alt+8", "",
897
899 TL("Show TAZ elements"), "Alt+9", "",
902
904 TL("Selecting multiple edges automatically select their junctions"), "Alt+10", "",
907
909 TL("Clicking should apply state changes to all phases of TLS plan"), "Alt+5", "",
912
914 TL("Don't ask for confirmation before merging junction"), "Alt+5", "",
917
919 TL("Create consecutive edges"), "Alt+5", "",
922
924 TL("Create an edge in the opposite direction"), "Alt+6", "",
927
929 TL("Apply mouse movement to elevation"), "Alt+7", "",
932
934 TL("Show bubbles over junctions shapes"), "Alt+8", "",
937
938 // build separator
939 separator = new FXMenuSeparator(editMenu);
940}
941
942
943void
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 }
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
1044 TL("Show grid"), "Ctrl+G or Alt+1", "",
1047
1049 TL("Hide junction shape"), "Ctrl+J or Alt+2", "",
1052
1054 TL("Draw vehicles spread/depart position"), "Alt+3", "",
1057
1059 TL("Show shapes"), "Alt+4", "",
1062
1064 TL("Show all trips"), "Alt+5", "",
1067
1069 TL("Show all person plans"), "Alt+6", "",
1072
1074 TL("Lock selected person"), "Alt+7", "",
1077
1079 TL("Show all container plans"), "Alt+6", "",
1082
1084 TL("Lock selected container"), "Alt+7", "",
1087
1089 TL("Show non-inspected demand elements"), "Alt+8", "",
1092
1094 TL("Show number of overlapped routes"), "Alt+9", "",
1097
1098 // build separator
1099 separator = new FXMenuSeparator(editMenu);
1100}
1101
1102
1103void
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 }
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
1175 TL("Hide junction shape"), "Ctrl+J or Alt+1", "",
1178
1180 TL("Show additionals"), "Alt+2", "",
1183
1185 TL("Show shapes"), "Alt+3", "",
1188
1190 TL("Show demand elements"), "Alt+4", "",
1193
1195 TL("Draw TAZRel from center"), "Alt+5", "",
1198
1200 TL("Draw TAZ fill"), "Alt+6", "",
1203
1205 TL("Only draw TAZRel from"), "Alt+6", "",
1208
1210 TL("Only draw TAZRel to"), "Alt+7", "",
1213 // build separator
1214 separator = new FXMenuSeparator(editMenu);
1215}
1216
1217
1218void
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
1282 TL("Undo"), "Ctrl+Z", TL("Undo the last change."),
1285 TL("Redo"), "Ctrl+Y", TL("Redo the last change."),
1288 TL("Show undo/redo history"), "", TL("Open undo/redo history dialog."),
1290 // add checkBox for recomputing in data mode
1292 TL("Allow undo-redo"), "",
1294 menuCheckAllowUndoRedo->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry("NETEDIT", "AllowUndoRedo", true));
1295}
1296
1297
1298void
1300 // build rest of menu commands
1302 TL("Edit Visualisation"), "F9", TL("Opens a dialog for editing visualization settings."),
1305 TL("Edit Viewport"), "Ctrl+I", TL("Opens a dialog for editing viewing area, zoom and rotation."),
1307}
1308
1309
1310void
1312 // build toggle front element
1314 TL("Front element"), "F11", TL("Mark current inspected element as front element"),
1316}
1317
1318
1319void
1321 // add open in sumo options
1323 TL("Load additionals in sumo-gui"), TL("Load additionals in sumo-gui."),
1325 loadAdditionalsInSUMOGUI->setCheck(TRUE);
1327 TL("Load demand in sumo-gui"), TL("Load demand in sumo-gui."),
1329 loadDemandInSUMOGUI->setCheck(TRUE);
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
1342
1343
1344void
1346 // network
1348 TL("&Junctions"), "", "",
1351
1353 TL("&Edges"), "", "",
1356
1358 TL("&Lanes"), "", "",
1361
1363 TL("&Connections"), "", "",
1366
1368 TL("C&rossings"), "", "",
1371
1373 TL("Walkin&gAreas"), "", "",
1376
1378 TL("&Additionals"), "", "",
1381
1383 TL("&TAZs"), "", "",
1386
1388 TL("&Wires"), "", "",
1391
1393 TL("&Polygons"), "", "",
1396
1398 TL("P&OIs"), "", "",
1401
1403 TL("WalkableAreas"), "", "",
1406
1408 TL("Obstacles"), "", "",
1411 // demand
1413 TL("&Routes"), "", "",
1416
1418 TL("&Vehicles"), "", "",
1421
1423 TL("&Persons"), "", "",
1426
1428 TL("Person&Trips"), "", "",
1431
1433 TL("&Walks"), "", "",
1436
1438 TL("Ri&des"), "", "",
1441
1443 TL("&Containers"), "", "",
1446
1448 TL("Tra&nsports"), "", "",
1451
1453 TL("Trans&hips"), "", "",
1456
1458 TL("Stop&s"), "", "",
1461 // data
1463 TL("&EdgeDatas"), "", "",
1466
1468 TL("E&dgeRelDatas"), "", "",
1471
1473 TL("Edge&TAZRel"), "", "",
1476
1477 // separator
1478 new FXMenuSeparator(fileMenu);
1479
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'));
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();
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'));
1559 menuCheckLockJpsObstacles->addHotKey(parseHotKey('b'));
1560 // now show it
1561 menuCheckLockJunctions->show();
1562 menuCheckLockEdges->show();
1563 menuCheckLockLanes->show();
1565 menuCheckLockCrossings->show();
1568 menuCheckLockTAZs->show();
1569 menuCheckLockWires->show();
1570 menuCheckLockPolygons->show();
1571 menuCheckLockPOIs->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();
1591 menuCheckLockJpsObstacles->disable();
1592 // now hide it
1593 menuCheckLockJunctions->hide();
1594 menuCheckLockEdges->hide();
1595 menuCheckLockLanes->hide();
1597 menuCheckLockCrossings->hide();
1600 menuCheckLockTAZs->hide();
1601 menuCheckLockWires->hide();
1602 menuCheckLockPolygons->hide();
1603 menuCheckLockPOIs->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();
1638 menuCheckLockWalks->show();
1639 menuCheckLockRides->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();
1665 menuCheckLockWalks->hide();
1666 menuCheckLockRides->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();
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();
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) {
1777 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_CROSSING) {
1778 menuCheckLockCrossings->setCheck(value);
1779 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_WALKINGAREA) {
1781 } else if (AC->getTagProperty()->isAdditionalElement()) {
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) {
1791 } else if (AC->getTagProperty()->getTag() == GNE_TAG_JPS_OBSTACLE) {
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()) {
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) {
1823 } else if (AC->getTagProperty()->getTag() == SUMO_TAG_TAZREL) {
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
1846
1847
1848void
1850 // build network processing menu commands
1852 TL("Compute Junctions"), "F5", TL("Compute junction shape and logic."),
1855 TL("Compute Junctions with volatile options"), "Shift+F5", TL("Compute junction shape and logic using volatile junctions."),
1858 TL("Clean Junctions"), "F6", TL("Remove solitary junctions."),
1861 TL("Join Selected Junctions"), "F7", TL("Join selected junctions into a single junction."),
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
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
1876 TL("Compute demand"), "F5", TL("Computes demand elements."),
1879 TL("Clean routes"), "F6", TL("Removes routes without vehicles."),
1882 TL("Join routes"), "F7", TL("Joins routes with the same edges."),
1885 TL("Adjust person plans"), "Shift+F7", TL("Adjust person plans (start/end positions, arrival positions, etc.)"),
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
1894 TL("Sumo options"), "Shift+F10", TL("Configure sumo Options."),
1896 // add separator
1897 myOptionsSeparator = new FXMenuSeparator(processingMenu);
1898 // create optionmenus
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();
1915 // now show it
1916 computeNetwork->show();
1917 computeNetworkVolatile->show();
1918 cleanJunctions->show();
1919 joinJunctions->show();
1920 clearInvalidCrossings->show();
1921 mySeparatorCheckBox->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();
1951 // now show it
1952 computeDemand->show();
1953 cleanRoutes->show();
1954 joinRoutes->show();
1955 adjustPersonPlans->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();
1974}
1975
1976
1977void
1981
1982
1983void
1987
1988
1989void
1993
1994
1995void
1999
2000// ---------------------------------------------------------------------------
2001// GNEApplicationWindowHelper::LocateMenuCommands - methods
2002// ---------------------------------------------------------------------------
2003
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
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 }
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) {
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
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
2165
2166
2167void
2169 // build windows menu commands
2170 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Online Documentation"), "F1", TL("Open Online documentation."),
2172 new FXMenuSeparator(helpMenu);
2173 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Changelog"), "", TL("Open Changelog."),
2175 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Hotkeys"), "", TL("Open Hotkeys."),
2177 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Tutorial"), "", TL("Open Tutorial."),
2179 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("Feedback"), "", TL("Open feedback channels."),
2181 new FXMenuSeparator(helpMenu);
2182 GUIDesigns::buildFXMenuCommandShortcut(helpMenu, TL("About"), "F12", TL("About netedit."),
2184}
2185
2186// ---------------------------------------------------------------------------
2187// GNEApplicationWindowHelper::NetworkCheckableButtons - methods
2188// ---------------------------------------------------------------------------
2189
2193
2194
2195void
2201
2202
2203void
2207
2208
2209void
2213
2214
2215void
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
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
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
@ LOCATEADD
Definition GUIIcons.h:154
@ CLEANJUNCTIONS
Definition GUIIcons.h:401
@ RELOAD
Definition GUIIcons.h:61
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
Definition GUIIcons.h:327
@ SAVE_NETEDITCONFIG
Definition GUIIcons.h:93
@ MODEDELETE
Definition GUIIcons.h:365
@ SAVE_DATAELEMENTS
Definition GUIIcons.h:99
@ OPTIONS
Definition GUIIcons.h:407
@ NETWORKMODE_CHECKBOX_BUBBLES
Definition GUIIcons.h:303
@ SAVE_NETWORKELEMENTS
Definition GUIIcons.h:95
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
Definition GUIIcons.h:331
@ MODEPERSONPLAN
Definition GUIIcons.h:385
@ COLORWHEEL
Definition GUIIcons.h:187
@ MODECROSSING
Definition GUIIcons.h:363
@ MODEMEANDATA
Definition GUIIcons.h:395
@ MODEADDITIONAL
Definition GUIIcons.h:360
@ MODEEDGERELDATA
Definition GUIIcons.h:393
@ EDITVIEWPORT
Definition GUIIcons.h:191
@ SUPERMODEDEMAND
Definition GUIIcons.h:354
@ CLEARMESSAGEWINDOW
Definition GUIIcons.h:65
@ MODEPROHIBITION
Definition GUIIcons.h:371
@ WALK_EDGE
Definition GUIIcons.h:525
@ MODESHAPE
Definition GUIIcons.h:370
@ SAVE_ADDITIONALELEMENTS
Definition GUIIcons.h:96
@ MODEROUTE
Definition GUIIcons.h:378
@ DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS
Definition GUIIcons.h:317
@ STOPELEMENT
Definition GUIIcons.h:512
@ NETWORKMODE_CHECKBOX_HIDECONNECTIONS
Definition GUIIcons.h:307
@ DEMANDMODE_CHECKBOX_SHOWTRIPS
Definition GUIIcons.h:316
@ OPEN_ADDITIONALS
Definition GUIIcons.h:82
@ COMMONMODE_CHECKBOX_TOGGLEDRAWJUNCTIONSHAPE
Definition GUIIcons.h:292
@ NEW_NET
Definition GUIIcons.h:60
@ NETEDIT_MINI
Definition GUIIcons.h:45
@ DATAMODE_CHECKBOX_SHOWSHAPES
Definition GUIIcons.h:328
@ NETWORKMODE_CHECKBOX_SELECTEDGES
Definition GUIIcons.h:299
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
Definition GUIIcons.h:294
@ COMPUTEJUNCTIONS
Definition GUIIcons.h:400
@ DEMANDMODE_CHECKBOX_LOCKPERSON
Definition GUIIcons.h:319
@ LOCATEVEHICLE
Definition GUIIcons.h:148
@ UNDOLIST
Definition GUIIcons.h:269
@ NETWORKMODE_CHECKBOX_MERGEAUTOMATICALLY
Definition GUIIcons.h:302
@ FRONTELEMENT
Definition GUIIcons.h:278
@ CROSSING
Definition GUIIcons.h:419
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
Definition GUIIcons.h:310
@ MODETLS
Definition GUIIcons.h:369
@ JOINROUTES
Definition GUIIcons.h:405
@ MODECREATEEDGE
Definition GUIIcons.h:362
@ LOCATEWALKINGAREA
Definition GUIIcons.h:147
@ WALKINGAREA
Definition GUIIcons.h:420
@ DATAMODE_CHECKBOX_TAZRELONLYTO
Definition GUIIcons.h:332
@ NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS
Definition GUIIcons.h:301
@ OPEN_MEANDATAS
Definition GUIIcons.h:83
@ LOCATEPERSON
Definition GUIIcons.h:151
@ SAVE_MEANDATAELEMENTS
Definition GUIIcons.h:100
@ DATAMODE_CHECKBOX_TAZRELDRAWING
Definition GUIIcons.h:329
@ JUNCTION
Definition GUIIcons.h:412
@ MODETAZ
Definition GUIIcons.h:364
@ NETWORKMODE_CHECKBOX_SHOWCONNECTIONS
Definition GUIIcons.h:300
@ TRANSHIP_EDGE
Definition GUIIcons.h:553
@ MODEPERSON
Definition GUIIcons.h:384
@ LOCK_SELECTED
Definition GUIIcons.h:272
@ DEMANDMODE_CHECKBOX_SHOWPERSONPLANS
Definition GUIIcons.h:318
@ MODECONTAINER
Definition GUIIcons.h:386
@ DEMANDMODE_CHECKBOX_HIDESHAPES
Definition GUIIcons.h:315
@ CLOSE
Definition GUIIcons.h:62
@ LOCATEROUTE
Definition GUIIcons.h:149
@ JPS_WALKABLEAREA
Definition GUIIcons.h:479
@ DATAMODE_CHECKBOX_TAZDRAWFILL
Definition GUIIcons.h:330
@ CLEANROUTES
Definition GUIIcons.h:404
@ MODEEDGEDATA
Definition GUIIcons.h:392
@ MODEINSPECT
Definition GUIIcons.h:366
@ TRANSPORT_EDGE
Definition GUIIcons.h:544
@ NETWORKMODE_CHECKBOX_ELEVATION
Definition GUIIcons.h:304
@ MODEMOVE
Definition GUIIcons.h:367
@ SUPERMODENETWORK
Definition GUIIcons.h:353
@ RIDE_EDGE
Definition GUIIcons.h:534
@ JPS_OBSTACLE
Definition GUIIcons.h:480
@ CONTAINER
Definition GUIIcons.h:542
@ COMMONMODE_CHECKBOX_SPREADVEHICLE
Definition GUIIcons.h:293
@ SAVE_DEMANDELEMENTS
Definition GUIIcons.h:98
@ EDGEDATA
Definition GUIIcons.h:567
@ OPEN
open icons
Definition GUIIcons.h:77
@ ADJUSTPERSONPLANS
Definition GUIIcons.h:406
@ DEMANDMODE_CHECKBOX_LOCKCONTAINER
Definition GUIIcons.h:321
@ MODEWIRE
Definition GUIIcons.h:372
@ NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS
Definition GUIIcons.h:308
@ SAVE_JUPEDSIMELEMENTS
Definition GUIIcons.h:97
@ LOCATECONTAINER
Definition GUIIcons.h:152
@ NETWORKMODE_CHECKBOX_SHOWTAZELEMENTS
Definition GUIIcons.h:309
@ SUPERMODEDATA
Definition GUIIcons.h:355
@ OPEN_NET
Definition GUIIcons.h:80
@ MODEDECAL
Definition GUIIcons.h:373
@ NETGENERATE
Definition GUIIcons.h:46
@ MODECONNECTION
Definition GUIIcons.h:361
@ LOCATEPOLY
Definition GUIIcons.h:156
@ LOCATEJUNCTION
Definition GUIIcons.h:145
@ TAZRELDATA
Definition GUIIcons.h:569
@ LOCATESTOP
Definition GUIIcons.h:150
@ MODECONTAINERPLAN
Definition GUIIcons.h:387
@ NETWORKMODE_CHECKBOX_CHAIN
Definition GUIIcons.h:305
@ COMPUTEDEMAND
Definition GUIIcons.h:403
@ OPEN_NETEDITCONFIG
Definition GUIIcons.h:79
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
Definition GUIIcons.h:322
@ LOCATEPOI
Definition GUIIcons.h:155
@ MODETYPE
Definition GUIIcons.h:381
@ LOCATEEDGE
Definition GUIIcons.h:146
@ SAVE_SUMOCONFIG
Definition GUIIcons.h:92
@ MODESELECT
Definition GUIIcons.h:368
@ BUSSTOP
Definition GUIIcons.h:425
@ MODETYPEDISTRIBUTION
Definition GUIIcons.h:382
@ SUMO_MINI
Definition GUIIcons.h:38
@ OVERHEADWIRE
Definition GUIIcons.h:455
@ LOCATETLS
Definition GUIIcons.h:153
@ COMMONMODE_CHECKBOX_TOGGLEGRID
Definition GUIIcons.h:291
@ OPEN_TLSPROGRAMS
Definition GUIIcons.h:84
@ JOINJUNCTIONS
Definition GUIIcons.h:402
@ VEHICLE
Definition GUIIcons.h:504
@ MODESTOP
Definition GUIIcons.h:383
@ MODEROUTEDISTRIBUTION
Definition GUIIcons.h:379
@ PERSONTRIP_EDGE
Definition GUIIcons.h:516
@ MODETAZRELDATA
Definition GUIIcons.h:394
@ MODEVEHICLE
Definition GUIIcons.h:380
@ OPEN_SUMOCONFIG
Definition GUIIcons.h:78
@ SAVE
save icons
Definition GUIIcons.h:90
@ CONNECTION
Definition GUIIcons.h:417
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
Definition GUIIcons.h:320
@ NETWORKMODE_CHECKBOX_TWOWAY
Definition GUIIcons.h:306
@ EDGERELDATA
Definition GUIIcons.h:568
#define WRITE_ERROR(msg)
Definition MsgHandler.h:295
#define TL(string)
Definition MsgHandler.h:304
const std::string invalid_return< std::string >::value
@ 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
MFXMenuCheckIcon * menuCheckToggleTAZRelOnlyTo
menu check to toggle TAZRel only to
MFXMenuCheckIcon * menuCheckToggleTAZDrawFill
menu check to toggle TAZ draw fill
DataViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
MFXMenuCheckIcon * menuCheckShowAdditionals
menu check to show Additionals
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
MFXMenuCheckIcon * menuCheckToggleTAZRelOnlyFrom
menu check to toggle TAZRel only from
MFXMenuCheckIcon * menuCheckToggleTAZRelDrawing
menu check to toggle TAZRel drawing mode
MFXMenuCheckIcon * menuCheckToggleDrawJunctionShape
menu check to toggle draw junction shape
MFXMenuCheckIcon * menuCheckShowDemandElements
menu check to show Demand Elements
DemandViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
MFXMenuCheckIcon * menuCheckToggleDrawJunctionShape
menu check to toggle draw junction shape
MFXMenuCheckIcon * menuCheckDrawSpreadVehicles
menu check to draw vehicles in begin position or spread in lane
MFXMenuCheckIcon * menuCheckHideShapes
menu check for hide shapes (Polygons and POIs)
MFXMenuCheckIcon * menuCheckToggleGrid
menu check to show grid button
MFXMenuCheckIcon * menuCheckShowOverlappedRoutes
menu check for show overlapped routes
MFXMenuCheckIcon * menuCheckLockContainer
menu check for lock Container
MFXMenuCheckIcon * menuCheckShowAllTrips
menu check for show all trips plans
MFXMenuCheckIcon * menuCheckShowAllContainerPlans
menu check for show all container plans
MFXMenuCheckIcon * menuCheckShowAllPersonPlans
menu check for show all person plans
MFXMenuCheckIcon * menuCheckHideNonInspectedDemandElements
menu check for hide non inspected demand elements
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
MFXMenuCheckIcon * menuCheckShowTAZElements
menu check to show TAZ elements
MFXMenuCheckIcon * menuCheckMergeAutomatically
menu check to we should warn about merging junctions
MFXMenuCheckIcon * menuCheckHideConnections
menu check to hide connections in connect mode
NetworkViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
MFXMenuCheckIcon * menuCheckSelectEdges
menu check to select only edges
MFXMenuCheckIcon * menuCheckChangeAllPhases
menu check to set change all phases
MFXMenuCheckIcon * menuCheckChainEdges
menu check to the endpoint for a created edge should be set as the new source
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
MFXMenuCheckIcon * menuCheckShowConnections
menu check to show connections
MFXMenuCheckIcon * menuCheckToggleDrawJunctionShape
menu check to toggle draw junction shape
MFXMenuCheckIcon * menuCheckToggleGrid
menu check to show grid button
MFXMenuCheckIcon * menuCheckAutoOppositeEdge
check checkable to create auto create opposite edge
MFXMenuCheckIcon * menuCheckShowJunctionBubble
menu check to show connection as bubble in "Move" mode.
MFXMenuCheckIcon * menuCheckShowAdditionalSubElements
menu check to show additional sub-elements
MFXMenuCheckIcon * menuCheckExtendSelection
menu check to extend to edge nodes
MFXMenuCheckIcon * menuCheckMoveElevation
menu check to apply movement to elevation
MFXMenuCheckIcon * menuCheckShowDemandElements
menu check to show Demand Elements
MFXMenuCheckIcon * menuCheckDrawSpreadVehicles
menu check to draw vehicles in begin position or spread in lane
EditMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
DemandViewOptions demandViewOptions
demand view options
FXMenuCheck * menuCheckAllowUndoRedo
checkBox for allow undo-redo
FXMenuCommand * openInSUMOGUI
FXMenuCommand for open in SUMO GUI.
NetworkViewOptions networkViewOptions
network view options
FXMenuCommand * editViewScheme
FXMenuCommand for edit view scheme.
void buildUndoRedoMenuCommands(FXMenuPane *editMenu)
build undo-redo menu commands
void buildViewMenuCommands(FXMenuPane *editMenu)
build view menu commands
FXMenuCommand * openUndolistDialog
FXMenuCommand for open undolist dialog.
FXMenuCheck * loadAdditionalsInSUMOGUI
menu check for load additionals in SUMO GUI
FXMenuCommand * undoLastChange
FXMenuCommand for undo last change.
FXMenuCommand * toggleFrontElement
FXMenuCommand for toggle front element.
FXMenuCheck * loadDemandInSUMOGUI
menu check for load demand in SUMO GUI
FXMenuCommand * redoLastChange
FXMenuCommand for redo last change.
void buildOpenSUMOMenuCommands(FXMenuPane *editMenu)
build open sumo menu commands
FXMenuCommand * editViewPort
FXMenuCommand for edit view port.
void buildFrontElementMenuCommand(FXMenuPane *editMenu)
build front element commands
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
FXMenuCascade * myDataMenuCascade
FXMenuCascade for data.
void buildEdgeTypeSection(FXMenuPane *menuPane)
build edge type section
FXMenuCascade * myEdgeTypesMenuCascade
FXMenuCascade for edgeTypes.
void buildDemandSection(FXMenuPane *menuPane)
build demand section
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
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
FXMenuCascade * myMeanDataMenuCascade
FXMenuCascade for mean data.
FXMenuCheck * menuCheckAllowUndoRedoLoading
checkBox for allow undo-redo loading
void buildTrafficLightSection(FXMenuPane *menuPane)
build traffic light section
FXMenuCascade * myAdditionalMenuCascade
FXMenuCascade for additional.
FXMenuCascade * myTLSMenuCascade
FXMenuCascade for TLS.
FXMenuCascade * mySumoConfigMenuCascade
FXMenuCascade for SumoConfig.
void buildAdditionalSection(FXMenuPane *menuPane)
build additional section
void buildMeanDataSection(FXMenuPane *menuPane)
build meanData section
void buildNeteditConfigSection(FXMenuPane *menuPane)
build netedit config section
FXMenuCascade * myNeteditConfigMenuCascade
FXMenuCascade for neteditConfig.
void buildSumoConfigSection(FXMenuPane *menuPane)
build SUMO Config section
FXMenuCascade * myDemandMenuCascade
FXMenuCascade for demand.
void buildHelpMenuCommands(FXMenuPane *helpMenu)
build menu commands
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
HelpMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildLocateMenuCommands(FXMenuPane *locateMenu)
build menu commands
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
LocateMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildLockMenuCommands(FXMenuPane *editMenu)
build menu commands
MFXMenuCheckIcon * menuCheckLockConnections
menu check to lock connections
void hideNetworkLockMenuCommands()
show network processing menu commands
MFXMenuCheckIcon * menuCheckLockPersons
menu check to lock persons
MFXMenuCheckIcon * menuCheckLockVehicles
menu check to lock vehicles
MFXMenuCheckIcon * menuCheckLockCrossings
menu check to lock crossings
MFXMenuCheckIcon * menuCheckLockTAZs
menu check to lock TAZs
void hideDemandLockMenuCommands()
show demand processing menu commands
MFXMenuCheckIcon * menuCheckLockEdgeTAZRels
menu check to lock edgeTAZRels
void hideDataLockMenuCommands()
show data processing menu commands
void showDataLockMenuCommands()
show data processing menu commands
MFXMenuCheckIcon * menuCheckLockPersonTrips
menu check to lock personTrips
MFXMenuCheckIcon * menuCheckLockWires
menu check to lock Wires
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
MFXMenuCheckIcon * menuCheckLockPOIs
menu check to lock POIs
MFXMenuCheckIcon * menuCheckLockPolygons
menu check to lock polygons
MFXMenuCheckIcon * menuCheckLockWalkingAreas
menu check to lock walkingAreas
MFXMenuCheckIcon * menuCheckLockEdges
menu check to lock edges
MFXMenuCheckIcon * menuCheckLockSelectedElements
menu check for lock selected elements
MFXMenuCheckIcon * menuCheckLockRides
menu check to lock rides
MFXMenuCheckIcon * menuCheckLockContainers
menu check to lock containers
MFXMenuCheckIcon * menuCheckLockJpsWalkableAreas
menu check to lock jps walkableareas
MFXMenuCheckIcon * menuCheckLockEdgeRelDatas
menu check to lock edgeRelDatas
MFXMenuCheckIcon * menuCheckLockStops
menu check to lock stops
MFXMenuCheckIcon * menuCheckLockLanes
menu check to lock lanes
MFXMenuCheckIcon * menuCheckLockAdditionals
menu check to lock additionals
void showNetworkLockMenuCommands()
show network processing menu commands
MFXMenuCheckIcon * menuCheckLockWalks
menu check to lock walks
MFXMenuCheckIcon * menuCheckLockJpsObstacles
menu check to lock jps obstacles
FXHotKey parseHotKey(const FXwchar character)
Parse hot key from string.
void showDemandLockMenuCommands()
show demand processing menu commands
MFXMenuCheckIcon * menuCheckLockTranships
menu check to lock tranships
LockMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void editLocking(const GNEAttributeCarrier *AC, const FXbool value)
lock or unlock object based in a tag property
MFXMenuCheckIcon * menuCheckLockTransports
menu check to lock transports
void buildRecentConfigFiles(FXMenuPane *fileMenu, FXMenuPane *fileMenuRecentConfigFiles)
build recent config
MFXRecentNetworks myRecentConfigs
List of recent configs.
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
MFXRecentNetworks myRecentNetworks
List of recent networks.
void buildRecentNetworkFiles(FXMenuPane *fileMenu, FXMenuPane *fileMenuRecentNetworkFiles)
build recent network
MenuBarFile(GNEApplicationWindow *applicationWindow)
constructor
CommonMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
const ModesMenuCommands * myModesMenuCommandsParent
reference to ModesMenuCommands
const ModesMenuCommands * myModesMenuCommandsParent
reference to ModesMenuCommands
DataMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
FXMenuCommand * typeDistributionMode
menu command for type distribution mode
FXMenuCommand * routeDistributionMode
menu command for route distribution mode
const ModesMenuCommands * myModesMenuCommandsParent
reference to ModesMenuCommands
FXMenuCommand * containerPlanMode
menu command for container plan mode
DemandMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
NetworkMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
const ModesMenuCommands * myModesMenuCommandsParent
reference to ModesMenuCommands
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
MFXMenuCheckIcon * menuCheckRecomputeDataMode
checkBox for recomputing when changing data mode
FXMenuCommand * cleanRoutes
FXMenuCommand for clean routes without vehicles.
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
FXMenuCommand * joinJunctions
FXMenuCommand for join selected junctions.
FXMenuCommand * clearInvalidDemandElements
FXMenuCommand for clear invalid demand elements.
void showDemandProcessingMenuCommands()
show demand processing menu commands
FXMenuSeparator * myOptionsSeparator
separator for optionsMenu
FXMenuSeparator * mySeparatorCheckBox
separator for checkBox
FXMenuCommand * cleanJunctions
FXMenuCommand for clean junctions without edges.
void hideDemandProcessingMenuCommands()
show demand processing menu commands
void hideDataProcessingMenuCommands()
show data processing menu commands
FXMenuCommand * joinRoutes
FXMenuCommand for join routes.
void buildProcessingMenuCommands(FXMenuPane *processingMenu)
build menu commands
FXMenuCommand * computeNetworkVolatile
FXMenuCommand for compute network with volatile options.
FXMenuCommand * adjustPersonPlans
FXMenuCommand for adjust person plans.
ProcessingMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
FXMenuCommand * optionMenus
FXMenuCommand for open option menus.
FXMenuCommand * clearInvalidCrossings
FXMenuCommand for clear invalid crossings.
void showNetworkProcessingMenuCommands()
show network processing menu commands
void hideNetworkProcessingMenuCommands()
show network processing menu commands
FXMenuCommand * dataMode
FXMenuCommand for data supermode.
SupermodeCommands(GNEApplicationWindow *applicationWindow)
constructor
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
FXMenuCommand * demandMode
FXMenuCommand for demand supermode.
void buildSupermodeCommands(FXMenuPane *editMenu)
build menu commands
FXMenuCommand * networkMode
FXMenuCommand for network supermode.
FXToolBarShell * myPythonToolBarShellSuperModes
menu bar drag for super modes (network, demand and data)
FXToolBarShell * myPythonToolBarShellMenu
menu bar drag (for file, edit, processing...)
FXToolBarShell * myPythonToolBarShellModes
menu bar drag for modes (select, inspect, delete...)
FXMenuBar * saveElements
The application menu bar for save elements.
FXMenuBar * modes
The application menu bar (for select, inspect...).
FXMenuBar * navigation
The application menu bar for navigation (zoom, coloring...).
FXToolBarShell * myPythonToolBarShellNavigation
menu bar drag for navigation (Zoom, coloring...)
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
ToolbarsGrip(GNEApplicationWindow *applicationWindow)
constructor
FXMenuBar * timeSwitch
The application menu bar for time switch.
FXMenuBar * superModes
The application menu bar for supermodes (network, demand and data).
FXMenuBar * intervalBar
The application menu bar for mode options (show connections, select edges...).
FXMenuBar * menu
The application menu bar (for file, edit, processing...).
FXToolBarShell * myPythonToolBarShellSaveElements
menu bar drag for save elements
FXToolBarShell * myPythonToolBarShellIntervalBar
menu bar drag for interval bar
FXToolBarShell * myPythonToolBarShellTimeFormat
menu bar drag for time switch
long postProcessing(FXObject *menuCommand) const
run postprocessing
GNEPythonToolDialog * myPythonToolDialog
python tool dialog
void buildTools(FXMenuPane *toolsMenu, const std::map< std::string, FXMenuPane * > &menuPaneToolMaps)
build tools (and menu commands)
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
std::vector< GNEPythonTool * > myPythonTools
map with python tools
ToolsMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
long runToolDialog(FXObject *menuCommand) const
run tool dialog
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
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