30#include <netedit/templates.h>
37#include <xercesc/parsers/SAXParser.hpp>
38#include <xercesc/sax/AttributeList.hpp>
39#include <xercesc/sax/HandlerBase.hpp>
40#include <xercesc/sax/SAXException.hpp>
41#include <xercesc/sax/SAXParseException.hpp>
52 myApplicationWindow(applicationWindow) {
59 myPythonToolBarShellMenu =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
69 myPythonToolBarShellSuperModes =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
70 myPythonToolBarShellSaveElements =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
71 myPythonToolBarShellTimeFormat =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
72 myPythonToolBarShellNavigation =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
73 myPythonToolBarShellModes =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
74 myPythonToolBarShellIntervalBar =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
95 saveElements->create();
99 intervalBar->create();
101 myPythonToolBarShellSuperModes->create();
102 myPythonToolBarShellSaveElements->create();
103 myPythonToolBarShellTimeFormat->create();
104 myPythonToolBarShellNavigation->create();
105 myPythonToolBarShellModes->create();
106 myPythonToolBarShellIntervalBar->create();
108 myApplicationWindow->getTopDock()->recalc();
122 delete myPythonToolBarShellSuperModes;
123 delete myPythonToolBarShellSaveElements;
124 delete myPythonToolBarShellTimeFormat;
125 delete myPythonToolBarShellNavigation;
126 delete myPythonToolBarShellModes;
127 delete myPythonToolBarShellIntervalBar;
129 myApplicationWindow->getTopDock()->recalc();
137 myRecentNetworks(applicationWindow->getApp(),
TL(
"nets")),
138 myRecentConfigs(applicationWindow->getApp(),
TL(
"configs")),
139 myApplicationWindow(applicationWindow) {
156 new FXMenuSeparator(fileMenuRecentNetworkFiles);
160 myRecentNetworks.setTarget(myApplicationWindow);
162 new FXMenuCascade(fileMenu,
TL(
"Recent Networks"),
nullptr, fileMenuRecentNetworkFiles);
179 new FXMenuSeparator(fileMenuRecentConfigFiles);
183 myRecentConfigs.setTarget(myApplicationWindow);
185 new FXMenuCascade(fileMenu,
TL(
"Recent Configs"),
nullptr, fileMenuRecentConfigFiles);
193 myApplicationWindow(applicationWindow) {
199 FXMenuPane* fileMenuSumoConfig, FXMenuPane* fileMenuTLS, FXMenuPane* fileMenuEdgeTypes, FXMenuPane* fileMenuAdditionals,
200 FXMenuPane* fileMenuDemandElements, FXMenuPane* fileMenuDataElements, FXMenuPane* fileMenuMeanDataElements) {
203 TL(
"New Network"),
"Ctrl+N",
TL(
"Create a new network."),
207 TL(
"New Window"),
"Ctrl+Shift+N",
TL(
"Open a new netedit window."),
211 TL(
"Generate Network"),
"",
TL(
"Create network using netgenerate."),
215 new FXMenuSeparator(fileMenu);
218 TL(
"Load Netedit config..."),
"Ctrl+E",
TL(
"Load a netedit configuration file."),
222 TL(
"Load Sumo config..."),
"Ctrl+M",
TL(
"Load a SUMO configuration file."),
226 new FXMenuSeparator(fileMenu);
229 TL(
"Open Network..."),
"Ctrl+O",
TL(
"Open a SUMO network."),
233 TL(
"Open Netconvert Configuration..."),
"Ctrl+Shift+O",
TL(
"Open a configuration file with NETCONVERT options."),
237 TL(
"Import Foreign Network..."),
"",
TL(
"Import a foreign network such as OSM."),
241 new FXMenuSeparator(fileMenu);
244 TL(
"Save Network"),
"Ctrl+S",
TL(
"Save the network."),
248 TL(
"Save Network As..."),
"",
TL(
"Save the network to another file."),
252 TL(
"Save Plain XML..."),
"Ctrl+L",
TL(
"Save a plain XML representation of the network."),
256 TL(
"Save Joined Junctions..."),
"",
TL(
"Save log of joined junctions (allows reproduction of joins)."),
260 new FXMenuSeparator(fileMenu);
263 TL(
"Reload"),
"Ctrl+R",
TL(
"Reload the network."),
267 TL(
"Reload Network"),
"",
TL(
"Reload the network."),
270 new FXMenuSeparator(fileMenu);
273 buildNeteditConfigSection(fileMenuNeteditConfig);
277 buildSumoConfigSection(fileMenuSumoConfig);
281 buildTrafficLightSection(fileMenuTLS);
285 buildEdgeTypeSection(fileMenuEdgeTypes);
289 buildAdditionalSection(fileMenuAdditionals);
293 buildDemandSection(fileMenuDemandElements);
297 buildDataSection(fileMenuDataElements);
301 buildMeanDataSection(fileMenuMeanDataElements);
305 new FXMenuSeparator(fileMenu);
307 TL(
"Allow undoing element loading"),
TL(
"Allow to undo loading of elements (Slow if a lot of elements are loaded)"),
310 menuCheckAllowUndoRedoLoading->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry(
"NETEDIT",
"AllowUndoRedoLoading",
true));
313 new FXMenuSeparator(fileMenu);
315 TL(
"Close"),
"Ctrl+W",
TL(
"Close the network."),
322 mySumoConfigMenuCascade->enable();
323 myNeteditConfigMenuCascade->enable();
324 myTLSMenuCascade->enable();
325 myEdgeTypesMenuCascade->enable();
326 myAdditionalMenuCascade->enable();
327 myDemandMenuCascade->enable();
328 myDataMenuCascade->enable();
329 myMeanDataMenuCascade->enable();
335 mySumoConfigMenuCascade->disable();
336 myNeteditConfigMenuCascade->disable();
337 myTLSMenuCascade->disable();
338 myEdgeTypesMenuCascade->disable();
339 myAdditionalMenuCascade->disable();
340 myDemandMenuCascade->disable();
341 myDataMenuCascade->disable();
342 myMeanDataMenuCascade->disable();
348 myTLSMenuCascade->show();
349 myDataMenuCascade->show();
350 myMeanDataMenuCascade->show();
356 myTLSMenuCascade->hide();
357 myDataMenuCascade->hide();
358 myMeanDataMenuCascade->hide();
365 TL(
"Save Netedit Config"),
"Ctrl+Shift+E",
TL(
"Save netedit configuration file."),
369 TL(
"Save Netedit Config As..."),
"",
TL(
"Save netedit configuration in a new file."),
372 new FXMenuSeparator(menuPane);
375 TL(
"Reload Netedit Config"),
"",
TL(
"Reload netedit configuration."),
383 TL(
"Save Sumo Config"),
"Ctrl+Shift+S",
TL(
"Save sumo configuration file."),
387 TL(
"Save Sumo Config As..."),
"",
TL(
"Save sumo configuration in a new file."),
390 new FXMenuSeparator(menuPane);
393 TL(
"Reload Sumo Config"),
"",
TL(
"Reload sumo configuration."),
401 TL(
"Load TLS Programs..."),
"Ctrl+K",
TL(
"Load programs for traffic lights in the current net."),
404 new FXMenuSeparator(menuPane);
407 TL(
"Save TLS Programs"),
"Ctrl+Shift+K",
TL(
"Save all traffic light programs of the current network."),
411 TL(
"Save TLS Programs As..."),
"",
TL(
"Save all traffic light programs of the current network to another file."),
414 new FXMenuSeparator(menuPane);
417 TL(
"Reload TLS Programs"),
"",
TL(
"Reload TLS Programs."),
425 TL(
"Load Edge Types..."),
"Ctrl+H",
TL(
"Load edge types in the current net."),
428 new FXMenuSeparator(menuPane);
431 TL(
"Save Edge Types"),
"Ctrl+Shift+H",
TL(
"Save edge types of the current net."),
435 TL(
"Save Edge Types As..."),
"",
TL(
"Save edge types of the current net to another file."),
438 new FXMenuSeparator(menuPane);
441 TL(
"Reload edge types"),
"",
TL(
"Reload edge types."),
449 TL(
"Load Additionals..."),
"Ctrl+A",
TL(
"Load additionals and shapes."),
452 new FXMenuSeparator(menuPane);
455 TL(
"Save Additionals"),
"Ctrl+Shift+A",
TL(
"Save additionals and shapes."),
459 TL(
"Save Additionals unified as..."),
"",
TL(
"Save all additional elements to the chosen file."),
463 TL(
"Save JuPedSim Elements as..."),
"",
TL(
"Save JuPedSim elements in a separated file."),
466 new FXMenuSeparator(menuPane);
469 TL(
"Reload Additionals"),
"",
TL(
"Reload additionals."),
477 TL(
"Load Demand Elements..."),
"Ctrl+D",
TL(
"Load demand elements."),
480 new FXMenuSeparator(menuPane);
483 TL(
"Save Demand Elements"),
"Ctrl+Shift+D",
TL(
"Save demand elements."),
487 TL(
"Save Demand Elements unified as..."),
"",
TL(
"Save all demand elements to the chosen file"),
490 new FXMenuSeparator(menuPane);
493 TL(
"Reload Demand Elements"),
"",
TL(
"Reload demand elements."),
501 TL(
"Load Data Elements..."),
"Ctrl+B",
TL(
"Load data elements."),
504 new FXMenuSeparator(menuPane);
507 TL(
"Save Data Elements"),
"Ctrl+Shift+B",
TL(
"Save data elements."),
511 TL(
"Save Data Elements unified as..."),
"",
TL(
"Save all data elements to the chosen file."),
514 new FXMenuSeparator(menuPane);
517 TL(
"Reload Data Elements"),
"",
TL(
"Reload data elements."),
525 TL(
"Load MeanDatas..."),
"",
TL(
"Load meanDatas and shapes."),
528 new FXMenuSeparator(menuPane);
531 TL(
"Save MeanDatas"),
"",
TL(
"Save meanDatas and shapes."),
535 TL(
"Save MeanDatas unified as..."),
"Ctrl+Shift+M",
TL(
"Save all meanData elements to the chosen file."),
538 new FXMenuSeparator(menuPane);
541 TL(
"Reload MeanDatas"),
"",
TL(
"Reload meanDatas."),
550 myModesMenuCommandsParent(modesMenuCommandsParent) {
558 TL(
"&Inspect"),
"I",
TL(
"Inspect elements and change their attributes."),
561 TL(
"&Delete"),
"D",
TL(
"Delete elements."),
564 TL(
"&Select"),
"S",
TL(
"Select elements."),
573 myModesMenuCommandsParent(modesMenuCommandsParent) {
579 createEdgeMode->show();
582 prohibitionMode->show();
584 additionalMode->show();
585 crossingMode->show();
595 createEdgeMode->hide();
598 prohibitionMode->hide();
600 additionalMode->hide();
601 crossingMode->hide();
613 TL(
"&Move"),
"M",
TL(
"Move elements."),
617 TL(
"&Edge"),
"E",
TL(
"Create junction and edges."),
621 TL(
"&Traffic light"),
"T",
TL(
"Modes traffic lights over junctions."),
625 TL(
"&Connection"),
"C",
TL(
"Modes connections between lanes."),
629 TL(
"Pro&hibition"),
"H",
TL(
"Modes connection prohibitions."),
633 TL(
"C&rossing"),
"R",
TL(
"Create crossings between edges."),
637 TL(
"&Additional"),
"A",
TL(
"Create additional elements."),
641 TL(
"&Wire"),
"W",
TL(
"Create wires."),
645 TL(
"TA&Z"),
"Z",
TL(
"Create Traffic Assignment Zones."),
649 TL(
"&POI-Poly"),
"P",
TL(
"Create Points-Of-Interest and polygons."),
653 TL(
"Deca&ls"),
"U",
TL(
"Create decals."),
663 myModesMenuCommandsParent(modesMenuCommandsParent) {
671 routeDistributionMode->show();
674 typeDistributionMode->show();
677 personPlanMode->show();
678 containerMode->show();
679 containerPlanMode->show();
687 routeDistributionMode->hide();
690 typeDistributionMode->hide();
693 personPlanMode->hide();
694 containerMode->hide();
695 containerPlanMode->hide();
703 TL(
"&Move"),
"M",
TL(
"Move elements."),
706 TL(
"Route"),
"R",
TL(
"Create Routes."),
709 TL(
"Route distribution"),
"W",
TL(
"Create and edit route distributions."),
713 TL(
"Vehicle"),
"V",
TL(
"Create vehicles."),
716 TL(
"Type"),
"T",
TL(
"Create types (vehicles, person and containers)."),
719 TL(
"TypeDistribution"),
"U",
TL(
"Create and edit type distributions."),
722 TL(
"Stop"),
"A",
TL(
"Create stops."),
725 TL(
"Person"),
"P",
TL(
"Create persons."),
728 TL(
"Person plan"),
"L",
TL(
"Create person plans."),
731 TL(
"Container"),
"C",
TL(
"Create containers."),
734 TL(
"Container plan"),
"H",
TL(
"Create container plans."),
743 myModesMenuCommandsParent(modesMenuCommandsParent) {
769 TL(
"&EdgeData"),
"E",
TL(
"Create edgeData elements."),
772 TL(
"Edge&Relation"),
"R",
TL(
"Create edgeRelation elements."),
775 TL(
"TA&ZRelation"),
"Z",
TL(
"Create TAZRelation elements."),
778 TL(
"&MeanData"),
"M",
TL(
"Create MeanData edge/lanes."),
788#pragma warning(disable: 4355)
804 commonMenuCommands.buildCommonMenuCommands(modesMenu);
806 networkMenuCommands.buildNetworkMenuCommands(modesMenu);
807 networkMenuCommands.hideNetworkMenuCommands();
809 demandMenuCommands.buildDemandMenuCommands(modesMenu);
810 demandMenuCommands.hideDemandMenuCommands();
812 dataMenuCommands.buildDataMenuCommands(modesMenu);
813 dataMenuCommands.hideDataMenuCommands();
820 networkMenuCommands.showNetworkMenuCommands();
822 demandMenuCommands.showDemandMenuCommands();
824 dataMenuCommands.showDataMenuCommands();
832 networkMenuCommands.connectMode->hide();
833 networkMenuCommands.TLSMode->hide();
834 networkMenuCommands.prohibitionMode->hide();
835 networkMenuCommands.wireMode->hide();
836 networkMenuCommands.decalMode->hide();
838 demandMenuCommands.moveMode->hide();
839 demandMenuCommands.vehicleMode->hide();
840 demandMenuCommands.stopMode->hide();
841 demandMenuCommands.containerMode->hide();
842 demandMenuCommands.containerPlanMode->hide();
844 dataMenuCommands.hideDataMenuCommands();
853 myApplicationWindow(applicationWindow) {
861 TL(
"Show grid"),
"Ctrl+G or Alt+1",
"",
866 TL(
"Hide junction shape"),
"Ctrl+J or Alt+2",
"",
871 TL(
"Draw vehicles spread in lane or in depart position"),
"Alt+3",
"",
876 TL(
"Show demand elements"),
"Alt+4",
"",
881 TL(
"Clicking should target lanes"),
"Alt+5",
"",
886 TL(
"Show connections over junctions"),
"Alt+6",
"",
891 TL(
"Hide connections"),
"Alt+7",
"",
896 TL(
"Show sub-additional elements"),
"Alt+8",
"",
901 TL(
"Show TAZ elements"),
"Alt+9",
"",
906 TL(
"Selecting multiple edges automatically select their junctions"),
"Alt+10",
"",
911 TL(
"Clicking should apply state changes to all phases of TLS plan"),
"Alt+5",
"",
916 TL(
"Don't ask for confirmation before merging junction"),
"Alt+5",
"",
921 TL(
"Create consecutive edges"),
"Alt+5",
"",
926 TL(
"Create an edge in the opposite direction"),
"Alt+6",
"",
931 TL(
"Apply mouse movement to elevation"),
"Alt+7",
"",
936 TL(
"Show bubbles over junctions shapes"),
"Alt+8",
"",
941 TL(
"Show polygon symbols"),
"Alt+9",
"",
944 menuCheckShowPolygonSymbols->setCheck(TRUE);
947 TL(
"Draw filled walkingareas"),
"Alt+10",
"",
950 menuCheckDrawFilledWalkingAreas->setCheck(TRUE);
953 separator =
new FXMenuSeparator(editMenu);
959 menuCheckToggleGrid->hide();
960 menuCheckToggleDrawJunctionShape->hide();
961 menuCheckDrawSpreadVehicles->hide();
962 menuCheckShowDemandElements->hide();
963 menuCheckSelectEdges->hide();
964 menuCheckShowConnections->hide();
965 menuCheckHideConnections->hide();
966 menuCheckShowAdditionalSubElements->hide();
967 menuCheckShowTAZElements->hide();
968 menuCheckExtendSelection->hide();
969 menuCheckChangeAllPhases->hide();
970 menuCheckMergeAutomatically->hide();
971 menuCheckShowJunctionBubble->hide();
972 menuCheckMoveElevation->hide();
973 menuCheckChainEdges->hide();
974 menuCheckAutoOppositeEdge->hide();
975 menuCheckShowPolygonSymbols->hide();
976 menuCheckDrawFilledWalkingAreas->hide();
985 if (menuCheckDrawSpreadVehicles->shown()) {
986 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
989 if (menuCheckDrawSpreadVehicles->shown()) {
990 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
993 if (menuCheckShowDemandElements->shown()) {
994 menuCheckShowDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
997 if (menuCheckSelectEdges->shown()) {
998 menuCheckSelectEdges->setAccelText((
"Alt+" +
toString(index)).c_str());
1001 if (menuCheckShowConnections->shown()) {
1002 menuCheckShowConnections->setAccelText((
"Alt+" +
toString(index)).c_str());
1005 if (menuCheckHideConnections->shown()) {
1006 menuCheckHideConnections->setAccelText((
"Alt+" +
toString(index)).c_str());
1009 if (menuCheckShowAdditionalSubElements->shown()) {
1010 menuCheckShowAdditionalSubElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1013 if (menuCheckShowTAZElements->shown()) {
1014 menuCheckShowTAZElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1017 if (menuCheckExtendSelection->shown()) {
1018 menuCheckExtendSelection->setAccelText((
"Alt+" +
toString(index)).c_str());
1021 if (menuCheckChangeAllPhases->shown()) {
1022 menuCheckChangeAllPhases->setAccelText((
"Alt+" +
toString(index)).c_str());
1025 if (menuCheckMergeAutomatically->shown()) {
1026 menuCheckMergeAutomatically->setAccelText((
"Alt+" +
toString(index)).c_str());
1029 if (menuCheckChainEdges->shown()) {
1030 menuCheckChainEdges->setAccelText((
"Alt+" +
toString(index)).c_str());
1033 if (menuCheckAutoOppositeEdge->shown()) {
1034 menuCheckAutoOppositeEdge->setAccelText((
"Alt+" +
toString(index)).c_str());
1037 if (menuCheckMoveElevation->shown()) {
1038 menuCheckMoveElevation->setAccelText((
"Alt+" +
toString(index)).c_str());
1041 if (menuCheckShowJunctionBubble->shown()) {
1042 menuCheckShowJunctionBubble->setAccelText((
"Alt+" +
toString(index)).c_str());
1045 if (menuCheckShowPolygonSymbols->shown()) {
1046 menuCheckShowPolygonSymbols->setAccelText((
"Alt+" +
toString(index)).c_str());
1049 if (menuCheckDrawFilledWalkingAreas->shown()) {
1050 menuCheckDrawFilledWalkingAreas->setAccelText((
"Alt+" +
toString(index)).c_str());
1068 TL(
"Show grid"),
"Ctrl+G or Alt+1",
"",
1073 TL(
"Hide junction shape"),
"Ctrl+J or Alt+2",
"",
1078 TL(
"Draw vehicles spread/depart position"),
"Alt+3",
"",
1083 TL(
"Show shapes"),
"Alt+4",
"",
1088 TL(
"Show all trips"),
"Alt+5",
"",
1093 TL(
"Show all person plans"),
"Alt+6",
"",
1098 TL(
"Lock selected person"),
"Alt+7",
"",
1103 TL(
"Show all container plans"),
"Alt+6",
"",
1108 TL(
"Lock selected container"),
"Alt+7",
"",
1113 TL(
"Show non-inspected demand elements"),
"Alt+8",
"",
1118 TL(
"Show number of overlapped routes"),
"Alt+9",
"",
1123 separator =
new FXMenuSeparator(editMenu);
1129 menuCheckToggleGrid->hide();
1130 menuCheckToggleDrawJunctionShape->hide();
1131 menuCheckDrawSpreadVehicles->hide();
1132 menuCheckHideShapes->hide();
1133 menuCheckShowAllTrips->hide();
1134 menuCheckHideNonInspectedDemandElements->hide();
1135 menuCheckShowOverlappedRoutes->hide();
1136 menuCheckShowAllPersonPlans->hide();
1137 menuCheckLockPerson->hide();
1138 menuCheckShowAllContainerPlans->hide();
1139 menuCheckLockContainer->hide();
1148 if (menuCheckDrawSpreadVehicles->shown()) {
1149 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
1152 if (menuCheckHideShapes->shown()) {
1153 menuCheckHideShapes->setAccelText((
"Alt+" +
toString(index)).c_str());
1156 if (menuCheckShowAllTrips->shown()) {
1157 menuCheckShowAllTrips->setAccelText((
"Alt+" +
toString(index)).c_str());
1160 if (menuCheckHideNonInspectedDemandElements->shown()) {
1161 menuCheckHideNonInspectedDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1164 if (menuCheckShowOverlappedRoutes->shown()) {
1165 menuCheckShowOverlappedRoutes->setAccelText((
"Alt+" +
toString(index)).c_str());
1168 if (menuCheckShowAllPersonPlans->shown()) {
1169 menuCheckShowAllPersonPlans->setAccelText((
"Alt+" +
toString(index)).c_str());
1172 if (menuCheckLockPerson->shown()) {
1173 menuCheckLockPerson->setAccelText((
"Alt+" +
toString(index)).c_str());
1176 if (menuCheckShowAllContainerPlans->shown()) {
1177 menuCheckShowAllContainerPlans->setAccelText((
"Alt+" +
toString(index)).c_str());
1180 if (menuCheckLockContainer->shown()) {
1181 menuCheckLockContainer->setAccelText((
"Alt+" +
toString(index)).c_str());
1199 TL(
"Hide junction shape"),
"Ctrl+J or Alt+1",
"",
1204 TL(
"Show additionals"),
"Alt+2",
"",
1209 TL(
"Show shapes"),
"Alt+3",
"",
1214 TL(
"Show demand elements"),
"Alt+4",
"",
1219 TL(
"Draw TAZRel from center"),
"Alt+5",
"",
1224 TL(
"Draw TAZ fill"),
"Alt+6",
"",
1229 TL(
"Only draw TAZRel from"),
"Alt+6",
"",
1234 TL(
"Only draw TAZRel to"),
"Alt+7",
"",
1238 separator =
new FXMenuSeparator(editMenu);
1244 menuCheckToggleDrawJunctionShape->hide();
1245 menuCheckShowAdditionals->hide();
1246 menuCheckShowShapes->hide();
1247 menuCheckShowDemandElements->hide();
1248 menuCheckToggleTAZRelDrawing->hide();
1249 menuCheckToggleTAZDrawFill->hide();
1250 menuCheckToggleTAZRelOnlyFrom->hide();
1251 menuCheckToggleTAZRelOnlyTo->hide();
1260 if (menuCheckShowAdditionals->shown()) {
1261 menuCheckShowAdditionals->setAccelText((
"Alt+" +
toString(index)).c_str());
1264 if (menuCheckShowShapes->shown()) {
1265 menuCheckShowShapes->setAccelText((
"Alt+" +
toString(index)).c_str());
1268 if (menuCheckShowDemandElements->shown()) {
1269 menuCheckShowDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1272 if (menuCheckToggleTAZRelDrawing->shown()) {
1273 menuCheckToggleTAZRelDrawing->setAccelText((
"Alt+" +
toString(index)).c_str());
1276 if (menuCheckToggleTAZDrawFill->shown()) {
1277 menuCheckToggleTAZDrawFill->setAccelText((
"Alt+" +
toString(index)).c_str());
1280 if (menuCheckToggleTAZRelOnlyFrom->shown()) {
1281 menuCheckToggleTAZRelOnlyFrom->setAccelText((
"Alt+" +
toString(index)).c_str());
1284 if (menuCheckToggleTAZRelOnlyTo->shown()) {
1285 menuCheckToggleTAZRelOnlyTo->setAccelText((
"Alt+" +
toString(index)).c_str());
1306 TL(
"Undo"),
"Ctrl+Z",
TL(
"Undo the last change."),
1309 TL(
"Redo"),
"Ctrl+Y",
TL(
"Redo the last change."),
1312 TL(
"Show undo/redo history"),
"",
TL(
"Open undo/redo history dialog."),
1316 TL(
"Allow undo-redo"),
"",
1318 menuCheckAllowUndoRedo->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry(
"NETEDIT",
"AllowUndoRedo",
true));
1326 TL(
"Edit Visualisation"),
"F9",
TL(
"Opens a dialog for editing visualization settings."),
1329 TL(
"Edit Viewport"),
"Ctrl+I",
TL(
"Opens a dialog for editing viewing area, zoom and rotation."),
1338 TL(
"Front element"),
"F11",
TL(
"Mark current inspected element as front element"),
1347 TL(
"Load additionals in sumo-gui"),
TL(
"Load additionals in sumo-gui."),
1349 loadAdditionalsInSUMOGUI->setCheck(TRUE);
1351 TL(
"Load demand in sumo-gui"),
TL(
"Load demand in sumo-gui."),
1353 loadDemandInSUMOGUI->setCheck(TRUE);
1355 TL(
"Open in sumo-gui"),
"Ctrl+T",
TL(
"Opens the sumo-gui application with the current network."),
1364 myApplicationWindow(applicationWindow) {
1372 TL(
"&Junctions"),
"",
"",
1377 TL(
"&Edges"),
"",
"",
1382 TL(
"&Lanes"),
"",
"",
1387 TL(
"&Connections"),
"",
"",
1392 TL(
"C&rossings"),
"",
"",
1397 TL(
"Walkin&gAreas"),
"",
"",
1402 TL(
"&Additionals"),
"",
"",
1407 TL(
"&TAZs"),
"",
"",
1412 TL(
"&Wires"),
"",
"",
1417 TL(
"&Polygons"),
"",
"",
1422 TL(
"P&OIs"),
"",
"",
1427 TL(
"WalkableAreas"),
"",
"",
1432 TL(
"Obstacles"),
"",
"",
1437 TL(
"&Routes"),
"",
"",
1442 TL(
"&Vehicles"),
"",
"",
1447 TL(
"&Persons"),
"",
"",
1452 TL(
"Person&Trips"),
"",
"",
1457 TL(
"&Walks"),
"",
"",
1462 TL(
"Ri&des"),
"",
"",
1467 TL(
"&Containers"),
"",
"",
1472 TL(
"Tra&nsports"),
"",
"",
1477 TL(
"Trans&hips"),
"",
"",
1482 TL(
"Stop&s"),
"",
"",
1487 TL(
"&EdgeDatas"),
"",
"",
1492 TL(
"E&dgeRelDatas"),
"",
"",
1497 TL(
"Edge&TAZRel"),
"",
"",
1502 new FXMenuSeparator(fileMenu);
1505 TL(
"Lock selected elements"),
"",
TL(
"selected elements"),
1509 new FXMenuSeparator(fileMenu);
1512 TL(
"Lock all elements"),
"",
TL(
"all elements"),
1516 TL(
"Unlock all elements"),
"",
TL(
"Unlock all elements"),
1524 menuCheckLockJunctions->remHotKey(parseHotKey(
'j'));
1525 menuCheckLockEdges->remHotKey(parseHotKey(
'e'));
1526 menuCheckLockLanes->remHotKey(parseHotKey(
'l'));
1527 menuCheckLockConnections->remHotKey(parseHotKey(
'c'));
1528 menuCheckLockCrossings->remHotKey(parseHotKey(
'r'));
1529 menuCheckLockWalkingAreas->remHotKey(parseHotKey(
'g'));
1530 menuCheckLockAdditionals->remHotKey(parseHotKey(
'a'));
1531 menuCheckLockTAZs->remHotKey(parseHotKey(
't'));
1532 menuCheckLockWires->remHotKey(parseHotKey(
'w'));
1533 menuCheckLockPolygons->remHotKey(parseHotKey(
'p'));
1534 menuCheckLockPOIs->remHotKey(parseHotKey(
'o'));
1535 menuCheckLockJpsWalkableAreas->remHotKey(parseHotKey(
'n'));
1536 menuCheckLockJpsObstacles->remHotKey(parseHotKey(
'b'));
1538 menuCheckLockRoutes->remHotKey(parseHotKey(
'r'));
1539 menuCheckLockVehicles->remHotKey(parseHotKey(
'v'));
1540 menuCheckLockPersons->remHotKey(parseHotKey(
'p'));
1541 menuCheckLockPersonTrips->remHotKey(parseHotKey(
't'));
1542 menuCheckLockWalks->remHotKey(parseHotKey(
'w'));
1543 menuCheckLockRides->remHotKey(parseHotKey(
'd'));
1544 menuCheckLockContainers->remHotKey(parseHotKey(
'c'));
1545 menuCheckLockTransports->remHotKey(parseHotKey(
'n'));
1546 menuCheckLockTranships->remHotKey(parseHotKey(
'h'));
1547 menuCheckLockStops->remHotKey(parseHotKey(
's'));
1549 menuCheckLockEdgeDatas->remHotKey(parseHotKey(
'e'));
1550 menuCheckLockEdgeRelDatas->remHotKey(parseHotKey(
'd'));
1551 menuCheckLockEdgeTAZRels->remHotKey(parseHotKey(
't'));
1557 menuCheckLockJunctions->enable();
1558 menuCheckLockEdges->enable();
1559 menuCheckLockLanes->enable();
1560 menuCheckLockConnections->enable();
1561 menuCheckLockCrossings->enable();
1562 menuCheckLockWalkingAreas->enable();
1563 menuCheckLockAdditionals->enable();
1564 menuCheckLockTAZs->enable();
1565 menuCheckLockWires->enable();
1566 menuCheckLockPolygons->enable();
1567 menuCheckLockPOIs->enable();
1568 menuCheckLockJpsWalkableAreas->enable();
1569 menuCheckLockJpsObstacles->enable();
1571 menuCheckLockJunctions->addHotKey(parseHotKey(
'j'));
1572 menuCheckLockEdges->addHotKey(parseHotKey(
'e'));
1573 menuCheckLockLanes->addHotKey(parseHotKey(
'l'));
1574 menuCheckLockConnections->addHotKey(parseHotKey(
'c'));
1575 menuCheckLockCrossings->addHotKey(parseHotKey(
'r'));
1576 menuCheckLockWalkingAreas->addHotKey(parseHotKey(
'g'));
1577 menuCheckLockAdditionals->addHotKey(parseHotKey(
'a'));
1578 menuCheckLockTAZs->addHotKey(parseHotKey(
't'));
1579 menuCheckLockWires->addHotKey(parseHotKey(
'w'));
1580 menuCheckLockPolygons->addHotKey(parseHotKey(
'p'));
1581 menuCheckLockPOIs->addHotKey(parseHotKey(
'o'));
1582 menuCheckLockJpsWalkableAreas->addHotKey(parseHotKey(
'n'));
1583 menuCheckLockJpsObstacles->addHotKey(parseHotKey(
'b'));
1585 menuCheckLockJunctions->show();
1586 menuCheckLockEdges->show();
1587 menuCheckLockLanes->show();
1588 menuCheckLockConnections->show();
1589 menuCheckLockCrossings->show();
1590 menuCheckLockWalkingAreas->show();
1591 menuCheckLockAdditionals->show();
1592 menuCheckLockTAZs->show();
1593 menuCheckLockWires->show();
1594 menuCheckLockPolygons->show();
1595 menuCheckLockPOIs->show();
1596 menuCheckLockJpsWalkableAreas->show();
1597 menuCheckLockJpsObstacles->show();
1604 menuCheckLockJunctions->disable();
1605 menuCheckLockEdges->disable();
1606 menuCheckLockLanes->disable();
1607 menuCheckLockConnections->disable();
1608 menuCheckLockCrossings->disable();
1609 menuCheckLockWalkingAreas->disable();
1610 menuCheckLockAdditionals->disable();
1611 menuCheckLockTAZs->disable();
1612 menuCheckLockPolygons->disable();
1613 menuCheckLockPOIs->disable();
1614 menuCheckLockJpsWalkableAreas->disable();
1615 menuCheckLockJpsObstacles->disable();
1617 menuCheckLockJunctions->hide();
1618 menuCheckLockEdges->hide();
1619 menuCheckLockLanes->hide();
1620 menuCheckLockConnections->hide();
1621 menuCheckLockCrossings->hide();
1622 menuCheckLockWalkingAreas->hide();
1623 menuCheckLockAdditionals->hide();
1624 menuCheckLockTAZs->hide();
1625 menuCheckLockWires->hide();
1626 menuCheckLockPolygons->hide();
1627 menuCheckLockPOIs->hide();
1628 menuCheckLockJpsWalkableAreas->hide();
1629 menuCheckLockJpsObstacles->hide();
1636 menuCheckLockRoutes->enable();
1637 menuCheckLockVehicles->enable();
1638 menuCheckLockPersons->enable();
1639 menuCheckLockPersonTrips->enable();
1640 menuCheckLockWalks->enable();
1641 menuCheckLockRides->enable();
1642 menuCheckLockContainers->enable();
1643 menuCheckLockTransports->enable();
1644 menuCheckLockTranships->enable();
1645 menuCheckLockStops->enable();
1647 menuCheckLockRoutes->addHotKey(parseHotKey(
'r'));
1648 menuCheckLockVehicles->addHotKey(parseHotKey(
'v'));
1649 menuCheckLockPersons->addHotKey(parseHotKey(
'p'));
1650 menuCheckLockPersonTrips->addHotKey(parseHotKey(
't'));
1651 menuCheckLockWalks->addHotKey(parseHotKey(
'w'));
1652 menuCheckLockRides->addHotKey(parseHotKey(
'd'));
1653 menuCheckLockContainers->addHotKey(parseHotKey(
'c'));
1654 menuCheckLockTransports->addHotKey(parseHotKey(
'n'));
1655 menuCheckLockTranships->addHotKey(parseHotKey(
'h'));
1656 menuCheckLockStops->addHotKey(parseHotKey(
's'));
1658 menuCheckLockRoutes->show();
1659 menuCheckLockVehicles->show();
1660 menuCheckLockPersons->show();
1661 menuCheckLockPersonTrips->show();
1662 menuCheckLockWalks->show();
1663 menuCheckLockRides->show();
1664 menuCheckLockContainers->show();
1665 menuCheckLockTransports->show();
1666 menuCheckLockTranships->show();
1667 menuCheckLockStops->show();
1674 menuCheckLockRoutes->disable();
1675 menuCheckLockVehicles->disable();
1676 menuCheckLockPersons->disable();
1677 menuCheckLockPersonTrips->disable();
1678 menuCheckLockWalks->disable();
1679 menuCheckLockRides->disable();
1680 menuCheckLockContainers->disable();
1681 menuCheckLockTransports->disable();
1682 menuCheckLockTranships->disable();
1683 menuCheckLockStops->disable();
1685 menuCheckLockRoutes->hide();
1686 menuCheckLockVehicles->hide();
1687 menuCheckLockPersons->hide();
1688 menuCheckLockPersonTrips->hide();
1689 menuCheckLockWalks->hide();
1690 menuCheckLockRides->hide();
1691 menuCheckLockContainers->hide();
1692 menuCheckLockTransports->hide();
1693 menuCheckLockTranships->hide();
1694 menuCheckLockStops->hide();
1701 menuCheckLockEdgeDatas->enable();
1702 menuCheckLockEdgeRelDatas->enable();
1703 menuCheckLockEdgeTAZRels->enable();
1705 menuCheckLockEdgeDatas->addHotKey(parseHotKey(
'e'));
1706 menuCheckLockEdgeRelDatas->addHotKey(parseHotKey(
'd'));
1707 menuCheckLockEdgeTAZRels->addHotKey(parseHotKey(
't'));
1709 menuCheckLockEdgeDatas->show();
1710 menuCheckLockEdgeRelDatas->show();
1711 menuCheckLockEdgeTAZRels->show();
1718 menuCheckLockEdgeDatas->disable();
1719 menuCheckLockEdgeRelDatas->disable();
1720 menuCheckLockEdgeTAZRels->disable();
1722 menuCheckLockEdgeDatas->hide();
1723 menuCheckLockEdgeRelDatas->hide();
1724 menuCheckLockEdgeTAZRels->hide();
1730 menuCheckLockJunctions->setCheck(TRUE);
1731 menuCheckLockEdges->setCheck(TRUE);
1732 menuCheckLockLanes->setCheck(TRUE);
1733 menuCheckLockConnections->setCheck(TRUE);
1734 menuCheckLockCrossings->setCheck(TRUE);
1735 menuCheckLockWalkingAreas->setCheck(TRUE);
1736 menuCheckLockAdditionals->setCheck(TRUE);
1737 menuCheckLockTAZs->setCheck(TRUE);
1738 menuCheckLockWires->setCheck(TRUE);
1739 menuCheckLockPolygons->setCheck(TRUE);
1740 menuCheckLockPOIs->setCheck(TRUE);
1741 menuCheckLockJpsWalkableAreas->setCheck(TRUE);
1742 menuCheckLockJpsObstacles->setCheck(TRUE);
1743 menuCheckLockRoutes->setCheck(TRUE);
1744 menuCheckLockVehicles->setCheck(TRUE);
1745 menuCheckLockPersons->setCheck(TRUE);
1746 menuCheckLockPersonTrips->setCheck(TRUE);
1747 menuCheckLockWalks->setCheck(TRUE);
1748 menuCheckLockRides->setCheck(TRUE);
1749 menuCheckLockContainers->setCheck(TRUE);
1750 menuCheckLockTransports->setCheck(TRUE);
1751 menuCheckLockTranships->setCheck(TRUE);
1752 menuCheckLockStops->setCheck(TRUE);
1753 menuCheckLockEdgeDatas->setCheck(TRUE);
1754 menuCheckLockEdgeRelDatas->setCheck(TRUE);
1755 menuCheckLockEdgeTAZRels->setCheck(TRUE);
1761 menuCheckLockJunctions->setCheck(FALSE);
1762 menuCheckLockEdges->setCheck(FALSE);
1763 menuCheckLockLanes->setCheck(FALSE);
1764 menuCheckLockConnections->setCheck(FALSE);
1765 menuCheckLockCrossings->setCheck(FALSE);
1766 menuCheckLockWalkingAreas->setCheck(FALSE);
1767 menuCheckLockAdditionals->setCheck(FALSE);
1768 menuCheckLockTAZs->setCheck(FALSE);
1769 menuCheckLockWires->setCheck(FALSE);
1770 menuCheckLockPolygons->setCheck(FALSE);
1771 menuCheckLockPOIs->setCheck(FALSE);
1772 menuCheckLockJpsWalkableAreas->setCheck(FALSE);
1773 menuCheckLockJpsObstacles->setCheck(FALSE);
1774 menuCheckLockRoutes->setCheck(FALSE);
1775 menuCheckLockVehicles->setCheck(FALSE);
1776 menuCheckLockPersons->setCheck(FALSE);
1777 menuCheckLockPersonTrips->setCheck(FALSE);
1778 menuCheckLockWalks->setCheck(FALSE);
1779 menuCheckLockRides->setCheck(FALSE);
1780 menuCheckLockContainers->setCheck(FALSE);
1781 menuCheckLockTransports->setCheck(FALSE);
1782 menuCheckLockTranships->setCheck(FALSE);
1783 menuCheckLockStops->setCheck(FALSE);
1784 menuCheckLockEdgeDatas->setCheck(FALSE);
1785 menuCheckLockEdgeRelDatas->setCheck(FALSE);
1786 menuCheckLockEdgeTAZRels->setCheck(FALSE);
1794 menuCheckLockJunctions->setCheck(value);
1796 menuCheckLockEdges->setCheck(value);
1798 menuCheckLockLanes->setCheck(value);
1800 menuCheckLockConnections->setCheck(value);
1802 menuCheckLockCrossings->setCheck(value);
1804 menuCheckLockWalkingAreas->setCheck(value);
1806 menuCheckLockAdditionals->setCheck(value);
1808 menuCheckLockTAZs->setCheck(value);
1810 menuCheckLockWires->setCheck(value);
1812 menuCheckLockPolygons->setCheck(value);
1814 menuCheckLockJpsWalkableAreas->setCheck(value);
1816 menuCheckLockJpsObstacles->setCheck(value);
1820 menuCheckLockPOIs->setCheck(value);
1822 menuCheckLockRoutes->setCheck(value);
1824 menuCheckLockVehicles->setCheck(value);
1826 menuCheckLockPersons->setCheck(value);
1828 menuCheckLockPersonTrips->setCheck(value);
1830 menuCheckLockWalks->setCheck(value);
1832 menuCheckLockRides->setCheck(value);
1834 menuCheckLockContainers->setCheck(value);
1836 menuCheckLockTransports->setCheck(value);
1838 menuCheckLockTranships->setCheck(value);
1842 menuCheckLockStops->setCheck(value);
1844 menuCheckLockEdgeDatas->setCheck(value);
1846 menuCheckLockEdgeRelDatas->setCheck(value);
1848 menuCheckLockEdgeTAZRels->setCheck(value);
1855 FXuint code = 0, mods = 0;
1856 if (Unicode::isAlphaNumeric(character)) {
1858 code = fxucs2keysym(Unicode::toLower(character));
1860 return MKUINT(code, mods);
1868 myApplicationWindow(applicationWindow) {
1876 TL(
"Compute Junctions"),
"F5",
TL(
"Compute junction shape and logic."),
1879 TL(
"Compute Junctions with volatile options"),
"Shift+F5",
TL(
"Compute junction shape and logic using volatile junctions."),
1882 TL(
"Clean Junctions"),
"F6",
TL(
"Remove solitary junctions."),
1885 TL(
"Join Selected Junctions"),
"F7",
TL(
"Join selected junctions into a single junction."),
1888 TL(
"Clean invalid crossings"),
"F8",
TL(
"Clear invalid crossings."),
1891 mySeparatorCheckBox =
new FXMenuSeparator(processingMenu);
1894 TL(
"Recompute Network in Data Mode"),
"",
"",
1897 menuCheckRecomputeDataMode->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry(
"NETEDIT",
"RecomputeData",
true));
1900 TL(
"Compute demand"),
"F5",
TL(
"Computes demand elements."),
1903 TL(
"Clean routes"),
"F6",
TL(
"Removes routes without vehicles."),
1906 TL(
"Join routes"),
"F7",
TL(
"Joins routes with the same edges."),
1909 TL(
"Adjust person plans"),
"Shift+F7",
TL(
"Adjust person plans (start/end positions, arrival positions, etc.)"),
1912 TL(
"Clean invalid route elements"),
"F8",
TL(
"Clear elements with an invalid path (routes, Trips, Flows...)."),
1915 myOptionsSeparator =
new FXMenuSeparator(processingMenu);
1918 TL(
"Sumo options"),
"Shift+F10",
TL(
"Configure sumo Options."),
1921 myOptionsSeparator =
new FXMenuSeparator(processingMenu);
1924 TL(
"Options"),
"F10",
TL(
"Configure netedit Options."),
1932 computeNetwork->enable();
1933 computeNetworkVolatile->enable();
1934 cleanJunctions->enable();
1935 joinJunctions->enable();
1936 clearInvalidCrossings->enable();
1937 mySeparatorCheckBox->enable();
1938 menuCheckRecomputeDataMode->enable();
1940 computeNetwork->show();
1941 computeNetworkVolatile->show();
1942 cleanJunctions->show();
1943 joinJunctions->show();
1944 clearInvalidCrossings->show();
1945 mySeparatorCheckBox->show();
1946 menuCheckRecomputeDataMode->show();
1953 computeNetwork->disable();
1954 computeNetworkVolatile->disable();
1955 cleanJunctions->disable();
1956 joinJunctions->disable();
1957 clearInvalidCrossings->disable();
1959 computeNetwork->hide();
1960 computeNetworkVolatile->hide();
1961 cleanJunctions->hide();
1962 joinJunctions->hide();
1963 clearInvalidCrossings->hide();
1970 computeDemand->enable();
1971 cleanRoutes->enable();
1972 joinRoutes->enable();
1973 adjustPersonPlans->enable();
1974 clearInvalidDemandElements->enable();
1976 computeDemand->show();
1977 cleanRoutes->show();
1979 adjustPersonPlans->show();
1980 clearInvalidDemandElements->show();
1987 computeDemand->disable();
1988 cleanRoutes->disable();
1989 joinRoutes->disable();
1990 adjustPersonPlans->disable();
1991 clearInvalidDemandElements->disable();
1993 computeDemand->hide();
1994 cleanRoutes->hide();
1996 adjustPersonPlans->hide();
1997 clearInvalidDemandElements->hide();
2015 myOptionsSeparator->show();
2021 myOptionsSeparator->hide();
2029 myApplicationWindow(applicationWindow) {
2037 TL(
"&Junctions"),
"Shift+J",
TL(
"Open a dialog for locating a Junction."),
2040 TL(
"&Edges"),
"Shift+E",
TL(
"Open a dialog for locating an Edge."),
2043 TL(
"&WalkingAreas"),
"Shift+W",
TL(
"Open a dialog for locating a Walking Area."),
2046 TL(
"&Vehicles"),
"Shift+V",
TL(
"Open a dialog for locating a Vehicle."),
2049 TL(
"&Persons"),
"Shift+P",
TL(
"Open a dialog for locating a Person."),
2052 TL(
"&Containers"),
"Shift+C",
TL(
"Open a dialog for locating a Container."),
2055 TL(
"&Route"),
"Shift+R",
TL(
"Open a dialog for locating a Route."),
2058 TL(
"&Stops"),
"Shift+S",
TL(
"Open a dialog for locating a Stop."),
2061 TL(
"&TLS"),
"Shift+T",
TL(
"Open a dialog for locating a Traffic Light."),
2064 TL(
"&Additional"),
"Shift+A",
TL(
"Open a dialog for locating an Additional Structure."),
2067 TL(
"P&oI"),
"Shift+O",
TL(
"Open a dialog for locating a Point of Interest."),
2070 TL(
"Po&lygon"),
"Shift+L",
TL(
"Open a dialog for locating a Polygon."),
2079 myApplicationWindow(applicationWindow) {
2085 for (
const auto& tool : myPythonTools) {
2093 const std::map<std::string, FXMenuPane*>& menuPaneToolMaps) {
2096 for (
const auto& templateTool : templateTools) {
2097 if (templateTool.name ==
"netdiff") {
2098 myPythonTools.push_back(
new GNENetDiffTool(myApplicationWindow, templateTool.pythonPath,
2099 menuPaneToolMaps.at(templateTool.subfolder)));
2100 }
else if (menuPaneToolMaps.count(templateTool.subfolder) > 0) {
2101 myPythonTools.push_back(
new GNEPythonTool(myApplicationWindow, templateTool.pythonPath,
2102 templateTool.templateStr, menuPaneToolMaps.at(templateTool.subfolder)));
2104 myPythonTools.push_back(
new GNEPythonTool(myApplicationWindow, templateTool.pythonPath,
2105 templateTool.templateStr, toolsMenu));
2114 for (
const auto& tool : myPythonTools) {
2115 if (tool->getMenuCommand() == menuCommand) {
2127 for (
const auto& tool : myPythonTools) {
2128 if (tool->getMenuCommand() == menuCommand) {
2140 for (
const auto& tool : myPythonTools) {
2141 if (tool->getMenuCommand() == menuCommand) {
2143 tool->postProcessing();
2155 myApplicationWindow(applicationWindow) {
2164 TL(
"Show Status Line"),
TL(
"Toggle this Status Bar on/off."),
2165 statusbar, FXWindow::ID_TOGGLESHOWN);
2167 TL(
"Show Message Window"),
TL(
"Toggle the Message Window on/off."),
2168 messageWindow, FXWindow::ID_TOGGLESHOWN);
2169 new FXMenuSeparator(windowsMenu);
2171 TL(
"Clear Message Window"),
"",
TL(
"Clear the Message Window."),
2180 myApplicationWindow(applicationWindow) {
2189 new FXMenuSeparator(helpMenu);
2198 new FXMenuSeparator(helpMenu);
2208 myApplicationWindow(applicationWindow) {
2214 networkMode->show();
2222 showSupermodeCommands();
2236 TL(
"&Network"),
"F2",
TL(
"Select network mode."),
2239 TL(
"&Demand"),
"F3",
TL(
"Select demand mode."),
2242 TL(
"&Data"),
"F4",
TL(
"Select data mode."),
2251 myApplicationWindow(applicationWindow),
2252 mySumoConfigFile(sumoConfigFile) {
2260 auto& sumoOptions = myApplicationWindow->getSumoOptions();
2262 sumoOptions.resetDefault();
2263 neteditOptions.resetDefault();
2265 sumoOptions.resetWritable();
2266 neteditOptions.resetWritable();
2268 XERCES_CPP_NAMESPACE::SAXParser parser;
2269 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2270 parser.setDisableDefaultEntityResolution(
true);
2274 parser.setDocumentHandler(&handler);
2275 parser.setErrorHandler(&handler);
2279 WRITE_WARNING(
TLF(
"There are invalid options in sumo configuration '%'.", mySumoConfigFile));
2281 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2286 sumoOptions.relocateFiles(mySumoConfigFile);
2290 neteditOptions.resetWritable();
2291 if (sumoOptions.getString(
"net-file").size() > 0) {
2292 myApplicationWindow->getFileBucketHandler()->setDefaultFilenameFile(
FileBucket::Type::NETWORK, sumoOptions.getString(
"net-file"));
2294 WRITE_ERROR(
TLF(
"No network defined in sumo configuration '%'.", mySumoConfigFile));
2297 neteditOptions.set(
"additional-files", sumoOptions.getString(
"additional-files"));
2298 neteditOptions.set(
"route-files", sumoOptions.getString(
"route-files"));
2307 myNetconvertConfigFile(sumoConfigFile) {
2316 neteditOptions.resetDefault();
2317 neteditOptions.resetWritable();
2319 XERCES_CPP_NAMESPACE::SAXParser parser;
2320 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2321 parser.setDisableDefaultEntityResolution(
true);
2325 parser.setDocumentHandler(&handler);
2326 parser.setErrorHandler(&handler);
2330 WRITE_WARNING(
TLF(
"There are invalid options in netconvert configuration '%'.", myNetconvertConfigFile));
2332 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2337 neteditOptions.relocateFiles(myNetconvertConfigFile);
2339 neteditOptions.resetWritable();
2349 myApplicationWindow(applicationWindow),
2350 myNeteditConfigFile(neteditConfigFile) {
2359 const bool ignoreAdditionalElements = neteditOptions.getBool(
"ignore.additionalelements");
2360 const bool ignoreRouteElements = neteditOptions.getBool(
"ignore.routeelements");
2362 neteditOptions.resetDefault();
2364 neteditOptions.resetWritable();
2366 XERCES_CPP_NAMESPACE::SAXParser parser;
2367 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2368 parser.setDisableDefaultEntityResolution(
true);
2372 parser.setDocumentHandler(&handler);
2373 parser.setErrorHandler(&handler);
2377 WRITE_WARNING(
TLF(
"There are invalid options in netedit configuration '%'.", myNeteditConfigFile));
2379 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2384 neteditOptions.relocateFiles(myNeteditConfigFile);
2387 myApplicationWindow->getFileBucketHandler()->setDefaultFilenameFile(
FileBucket::Type::SUMO_CONFIG, neteditOptions.getString(
"sumocfg-file"));
2388 myApplicationWindow->getFileBucketHandler()->setDefaultFilenameFile(
FileBucket::Type::NETWORK, neteditOptions.getString(
"sumo-net-file"));
2389 myApplicationWindow->getFileBucketHandler()->setDefaultFilenameFile(
FileBucket::Type::TLS, neteditOptions.getString(
"tls-file"));
2390 myApplicationWindow->getFileBucketHandler()->setDefaultFilenameFile(
FileBucket::Type::EDGETYPE, neteditOptions.getString(
"edgetypes-file"));
2392 neteditOptions.resetWritable();
2394 if (ignoreAdditionalElements) {
2395 neteditOptions.resetDefault(
"additional-files");
2397 if (ignoreRouteElements) {
2398 neteditOptions.resetDefault(
"route-files");
2410 myApplicationWindow(applicationWindow),
2411 myNeteditOptions(neteditOptions),
2412 mySumoOptions(sumoOptions) {
2425 for (
auto& bucketMap : myBuckets) {
2426 for (
auto& bucket : bucketMap.second) {
2467 auto defaultBucket = getDefaultBucket(type);
2471 for (
auto& bucket : myBuckets.at(type)) {
2472 if (bucket->getFilename() == filename) {
2484 const auto bucketType = getDefaultBucket(type)->getType();
2488 auto bucket =
new FileBucket(bucketType, filename);
2489 myBuckets.at(bucketType).push_back(bucket);
2513 for (
auto& bucket : myBuckets.at(type)) {
2514 if (bucket->getFilename() == filename) {
2529 if (isFilenameDefined(type)) {
2530 return getDefaultFolder(type);
2540 if (isFilenameDefined(type)) {
2541 return getDefaultFilename(type) + sufix;
2550 return myBuckets.at(type).front();
2557 for (
auto& bucketMap : myBuckets) {
2558 for (
auto& bucket : bucketMap.second) {
2559 if ((bucket->getFilename() == filename) && (bucket->getType() == type)) {
2567 if (getDefaultFilename(type).empty() && (filename.size() > 0)) {
2568 setDefaultFilenameFile(type, filename);
2569 return getDefaultBucket(type);
2572 auto bucket =
new FileBucket(type, filename);
2573 myBuckets.at(type).push_back(bucket);
2582const std::vector<FileBucket*>&
2584 return myBuckets.at(type);
2590 return myBuckets.at(type).front()->getFilename();
2596 std::string prefix = getDefaultFilename(type);
2599 if (prefix.empty()) {
2601 }
else if ((prefix.back() ==
'\'') ||
2602 (prefix.back() ==
'\\') ||
2603 (prefix.back() ==
'/')) {
2616 myBuckets.at(type).front()->setFilename(filename);
2624 return (myBuckets.at(type).front()->getFilename().size() > 0);
2630 for (
const auto& bucketPair : myBuckets) {
2631 bucketPair.second.front()->setFilename(
"");
2652 myNeteditOptions.resetWritable();
2653 mySumoOptions.resetWritable();
2655 const bool sumoAdditionals = (myApplicationWindow->getEditMenuCommands().loadAdditionalsInSUMOGUI->getCheck() == TRUE);
2656 const bool sumoDemandElements = (myApplicationWindow->getEditMenuCommands().loadDemandInSUMOGUI->getCheck() == TRUE);
2658 if (sumoconfig.size() > 0) {
2659 myNeteditOptions.set(
"sumocfg-file", sumoconfig);
2661 myNeteditOptions.resetDefault(
"sumocfg-file");
2664 if (neteditconfig.size() > 0) {
2665 myNeteditOptions.set(
"configuration-file", neteditconfig);
2667 myNeteditOptions.resetDefault(
"configuration-file");
2670 if (networkFile.size() > 0) {
2671 myNeteditOptions.set(
"sumo-net-file", networkFile);
2672 mySumoOptions.set(
"net-file", networkFile);
2674 myNeteditOptions.resetDefault(
"sumo-net-file");
2675 mySumoOptions.resetDefault(
"net-file");
2678 if (additional.size() > 0) {
2679 myNeteditOptions.set(
"additional-files", additional);
2681 myNeteditOptions.resetDefault(
"additional-files");
2684 if (demandFile.size() > 0) {
2685 myNeteditOptions.set(
"route-files", demandFile);
2687 myNeteditOptions.resetDefault(
"route-files");
2690 if (sumoDemandElements && (demandFile.size() > 0)) {
2691 mySumoOptions.set(
"route-files", demandFile);
2693 mySumoOptions.resetDefault(
"route-files");
2696 if (data.size() > 0) {
2697 myNeteditOptions.set(
"data-files", data);
2699 myNeteditOptions.resetDefault(
"data-files");
2702 if (meanData.size() > 0) {
2703 myNeteditOptions.set(
"meandata-files", meanData);
2705 myNeteditOptions.resetDefault(
"meandata-files");
2708 if (sumoAdditionals && (additionalMeanData.size() > 0)) {
2709 mySumoOptions.set(
"additional-files", additionalMeanData);
2711 mySumoOptions.resetDefault(
"additional-files");
2714 if (edgeType.size() > 0) {
2715 myNeteditOptions.set(
"edgetypes-file", edgeType);
2717 myNeteditOptions.resetDefault(
"edgetypes-file");
2720 if (tls.size() > 0) {
2721 myNeteditOptions.set(
"tls-file", tls);
2723 myNeteditOptions.resetDefault(
"tls-file");
2736 for (
const auto& type : types) {
2737 for (
const auto& bucket : myBuckets.at(type)) {
2738 if ((bucket->getFilename().size() > 0) && (bucket->isDefaultBucket() || (bucket->getNumElements() > 0))) {
2739 result.append(bucket->getFilename() +
",");
2744 if (result.size() > 0) {
2755 size_t bucketIndex = 0;
2756 while (bucketIndex < myBuckets.at(type).size()) {
2757 auto bucket = myBuckets.at(type).at(bucketIndex);
2758 if (bucket->isEmpty() && (bucket->isDefaultBucket() ==
false)) {
2760 myBuckets.at(type).erase(myBuckets.at(type).begin() + bucketIndex);
2771 std::string filename = getDefaultFilename(type);
2772 if (filename.size() > 0) {
2773 if (filename.back() ==
'.') {
2774 filename.pop_back();
2776 for (
const auto& invalidExtension : invalidExtensions) {
2929 if (str.length() < suffix.length()) {
2932 return str.compare(str.length() - suffix.length(), suffix.length(), suffix) == 0;
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
@ MID_GNE_NETGENERATE
netgenerate dialog
@ MID_HOTKEY_SHIFT_F10_SUMOOPTIONSMENU
open SUMO options menu (used in netedit)
@ MID_HOTKEY_SHIFT_F7_ADJUST_PERSON_PLANS
Adjust person plans (start und end positions, arrival positions, etc.)
@ MID_HOTKEY_SHIFT_F5_COMPUTEJUNCTIONS_VOLATILE
compute junctions with volatile options
@ MID_HOTKEY_CTRL_SHIFT_B_SAVEDATAELEMENTS
save Data Elements
@ MID_HOTKEY_F3_SUPERMODE_DEMAND
select demand supermode in netedit
@ MID_GNE_UNDOLISTDIALOG
open undo list dialog
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLPERSONPLANS
show all person plans
@ MID_GNE_UNLOCK_ALLELEMENTS
unlock all element
@ MID_HOTKEY_SHIFT_S_LOCATESTOP
Locate stop - button.
@ MID_HOTKEY_CTRL_T_OPENNETEDIT_OPENSUMO
Open current SUMO simulation/network in netedit, or current netedit simulation/network in SUMO.
@ MID_GNE_DATAVIEWOPTIONS_TAZRELDRAWING
toggle TAZRel drawing
@ MID_GNE_TOGGLE_COMPUTE_NETWORK_DATA
enable/disable computing after switchin between supermodes
@ MID_GNE_TOOLBARFILE_SAVEADDITIONALELEMENTS_UNIFIED
save additionals unified
@ MID_TOOLBAREDIT_LOADADDITIONALS
load additionals in sumo-gui/netedit after press ctrl+T
@ MID_HOTKEY_U_MODE_DECAL_TYPEDISTRIBUTION
hotkey for mode decal AND type distribution
@ MID_GNE_NETWORKVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
@ MID_HOTKEY_CTRL_Y_REDO
Undo.
@ MID_HOTKEY_CTRL_SHIFT_H_SAVEEDGETYPES
save Edge Types
@ MID_GNE_NETWORKVIEWOPTIONS_MOVEELEVATION
move elevation instead of x,y
@ MID_GNE_TOOLBARFILE_RELOAD_EDGETYPES
reload edge types
@ MID_GNE_NETWORKVIEWOPTIONS_HIDECONNECTIONS
hide connections
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWCONNECTIONS
show connections
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYTO
toggle draw TAZRel only to
@ MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
@ MID_GNE_LOCK_ALLELEMENTS
lock all element
@ MID_HOTKEY_F7_JOIN_SELECTEDJUNCTIONS_ROUTES
join selected junctions in network mode and normalice demand element ids in demand mode
@ MID_HOTKEY_CTRL_D_SINGLESIMULATIONSTEP_OPENDEMANDELEMENTS
Perform a single simulation step in SUMO and open Demand Elements in netedit.
@ MID_HOTKEY_F5_COMPUTE_NETWORK_DEMAND
compute Network in network mode and Demand elements in demand mode
@ MID_HOTKEY_CTRL_O_OPENSIMULATION_OPENNETWORK
Open simulation in SUMO and open network in netedit.
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWTAZELEMENTS
show TAZ elements
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKPERSON
lock person
@ MID_HOTKEY_Z_MODE_TAZ_TAZREL
hotkey for mode editing TAZ and TAZRel
@ MID_HOTKEY_F9_EDIT_VIEWSCHEME
open edit scheme menu
@ MID_GNE_DEMANDVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
@ MID_GNE_LOCK_SELECTEDELEMENTS
lock selected element
@ MID_GNE_TOOLBARFILE_SAVESUMOCONFIG_AS
save SUMOConfig as
@ MID_GNE_TOOLBARFILE_RELOAD_TLSPROGRAMS
reload TLS Programs
@ MID_HOTKEY_A_MODE_STARTSIMULATION_ADDITIONALS_STOPS
hotkey for start simulation in SUMO and set editing mode additionals AND stops in netedit
@ MID_GNE_TOOLBARFILE_OPENMEANDATAELEMENTS
open meanData file
@ MID_CHANGELOG
changelog button
@ MID_GNE_TOOLBARFILE_OPENFOREIGN
open foreign network
@ MID_GNE_TOOLBARFILE_RELOAD_NETEDITCONFIG
reload neteditConfig
@ MID_HOTKEY_CTRL_B_EDITBREAKPOINT_OPENDATAELEMENTS
Edit simulation breakpoints in SUMO and open Data Elements in netedit.
@ MID_TOOLBAREDIT_LOADDEMAND
load demand in sumo-gui/netedit after press ctrl+T
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWGRID
show grid
@ MID_HOTKEY_F1_ONLINEDOCUMENTATION
open online documentation
@ MID_HOTKEY_CTRL_SHIFT_D_SAVEDEMANDELEMENTS
Save Demand Elements.
@ MID_HOTKEY_CTRL_R_RELOAD
Reload the previously loaded simulation.
@ MID_HOTKEY_CTRL_S_STOPSIMULATION_SAVENETWORK
Stop the simulation in SUMO and save network in netedit.
@ MID_HOTKEY_D_MODE_SINGLESIMULATIONSTEP_DELETE
hotkey for perform a single simulation step in SUMO and set delete mode in netedit
@ MID_GNE_NETWORKVIEWOPTIONS_CHAINEDGES
create edges in chain mode
@ MID_HOTKEY_F10_OPTIONSMENU
open options menu
@ MID_HOTKEY_F11_FRONTELEMENT
set/clear front element
@ MID_HOTKEY_F8_CLEANINVALID_CROSSINGS_DEMANDELEMENTS
clean invalid crossings in network mode and demand elements in demand mode
@ MID_GNE_DATAVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
@ MID_GNE_TOOLBARFILE_RELOAD_MEANDATAELEMENTS
reload meanDatas
@ MID_GNE_TOOLBARFILE_SAVEMEANDATAELEMENTS_UNIFIED
save meanDatas unified
@ MID_HOTKEY_CTRL_A_STARTSIMULATION_OPENADDITIONALELEMENTS
Start the simulation in SUMO and open Additionals Elements in netedit.
@ MID_HOTKEY_C_MODE_CONNECT_CONTAINER
hotkey for mode connecting lanes AND container
@ MID_HOTKEY_H_MODE_PROHIBITION_CONTAINERPLAN
hotkey for mode prohibition AND container plan
@ MID_HOTKEY_SHIFT_O_LOCATEPOI
Locate poi - button.
@ MID_HOTKEY_W_MODE_WIRE_ROUTEDISTRIBUTION
hotkey for mode editing overhead wires AND route distributions
@ MID_HOTKEY_T_MODE_TLS_TYPE
hotkey for mode editing TLS AND Vehicle Types
@ MID_GNE_DEMANDVIEWOPTIONS_HIDESHAPES
hide shapes
@ MID_GNE_TOGGLE_UNDOREDO
enable/disable undo-redo
@ MID_HOTKEY_SHIFT_A_LOCATEADDITIONAL
Locate additional structure - button.
@ MID_GNE_TOOLBARFILE_SAVETLSPROGRAMS_AS
save TLS Programs as
@ MID_GNE_DATAVIEWOPTIONS_SHOWADDITIONALS
show additionals
@ MID_GNE_NETWORKVIEWOPTIONS_DRAWFILLEDWALKINGAREAS
draw filled walking areas
@ MID_HOTKEY_SHIFT_R_LOCATEROUTE
Locate route - button.
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWBUBBLES
show junctions as bubbles
@ MID_HOTKEY_SHIFT_W_LOCATEWALKINGAREA
Locate edge - button.
@ MID_GNE_TOOLBARFILE_RELOAD_DEMANDELEMENTS
reload demand elements
@ MID_GNE_NETWORKVIEWOPTIONS_EXTENDSELECTION
extend selection
@ MID_HOTKEY_CTRL_I_EDITVIEWPORT
Open viewport editor.
@ MID_RECENTFILE
Loads a file previously loaded.
@ MID_HOTKEY_S_MODE_STOPSIMULATION_SELECT
hotkey for stop simulation in SUMO and set select mode in netedit
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWSUBADDITIONALS
show sub-additionals
@ MID_HOTKEY_SHIFT_C_LOCATECONTAINER
Locate container - button.
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLCONTAINERPLANS
show all container plans
@ MID_HOTKEY_CTRL_SHIFT_N_NEWWINDOW
open a new window (SUMO AND netedit)
@ MID_HOTKEY_SHIFT_V_LOCATEVEHICLE
Locate vehicle - button.
@ MID_HOTKEY_F4_SUPERMODE_DATA
select data supermode in netedit
@ MID_HOTKEY_SHIFT_L_LOCATEPOLY
Locate polygons - button.
@ MID_HOTKEY_F6_CLEAN_SOLITARYJUNCTIONS_UNUSEDROUTES
clean junctions without edges in network mode and unused routes in demand mode
@ MID_HOTKEY_CTRL_K_OPENTLSPROGRAMS
Load file with TLS Programs.
@ MID_GNE_LOCK_ELEMENT
lock element (general, used if we press directly the menuCommand in the toolbar)
@ MID_GNE_TOOLBARFILE_SAVENETEDITCONFIG_AS
save neteditConfig as
@ MID_HOTKEY_SHIFT_E_LOCATEEDGE
Locate edge - button.
@ MID_CLEARMESSAGEWINDOW
Clear simulation output.
@ MID_HOTKEY_R_MODE_CROSSING_ROUTE_EDGERELDATA
hotkey for mode editing crossing, routes and edge rel datas
@ MID_TUTORIAL
tutorial button
@ MID_GNE_TOGGLE_UNDOREDO_LOADING
enable/disable undo-redo during loading
@ MID_GNE_DATAVIEWOPTIONS_TAZDRAWFILL
toggle draw TAZ fill
@ MID_HOTKEY_L_MODE_PERSONPLAN
hotkey for mode person plan
@ MID_HOTKEY_V_MODE_VEHICLE
hotkey for mode create vehicles
@ MID_HOTKEY_SHIFT_P_LOCATEPERSON
Locate person - button.
@ MID_GNE_TOOLBARFILE_SAVEDATAELEMENTS_UNIFIED
save data elements unified
@ MID_HOTKEY_I_MODE_INSPECT
hotkey for mode inspecting object attributes
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWPOLYGONSYMBOLS
show polygon symbols
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
@ MID_HOTKEY_SHIFT_J_LOCATEJUNCTION
Locate junction - button.
@ MID_HOTKEY_CTRL_SHIFT_E_SAVENETEDITCONFIG
save netedit Config
@ MID_GNE_TOOLBARFILE_SAVEEDGETYPES_AS
save edgeTypes as
@ MID_HOTKEYS
hotkeys button
@ MID_GNE_DEMANDVIEWOPTIONS_HIDENONINSPECTED
hide non-inspected demand element
@ MID_GNE_TOOLBARFILE_RELOADNETWORK
reload only network
@ MID_GNE_NETWORKVIEWOPTIONS_MERGEAUTOMATICALLY
don't ask before merging junctions
@ MID_HOTKEY_CTRL_SHIFT_M_SAVEMEANDATAELEMENTS
save Mean Datas
@ MID_GNE_NETWORKVIEWOPTIONS_CHANGEALLPHASES
change all phases
@ MID_GNE_DATAVIEWOPTIONS_SHOWSHAPES
show shapes
@ MID_HOTKEY_E_MODE_EDGE_EDGEDATA
hotkey for mode adding edges AND edgeDatas
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYFROM
toggle draw TAZRel only from
@ MID_GNE_TOOLBARFILE_RELOAD_SUMOCONFIG
reload SUMOConfig
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
@ MID_HOTKEY_CTRL_SHIFT_O_OPENNETCONVERTFILE
open Netconvert file
@ MID_HOTKEY_CTRL_M_OPENSUMOCONFIG
open sumo config
@ MID_GNE_TOOLBARFILE_SAVENETWORK_AS
save network as
@ MID_GNE_DEMANDVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWOVERLAPPEDROUTES
show overlapped routes
@ MID_HOTKEY_CTRL_Z_UNDO
Redo.
@ MID_GNE_TOOLBARFILE_SAVEDEMANDELEMENTS_UNIFIED
save demand elements unified
@ MID_FEEDBACK
feedback button
@ MID_HOTKEY_CTRL_H_APPSETTINGS_OPENEDGETYPES
open app setting dialog in SUMO and open edge type files in netedit
@ MID_HOTKEY_CTRL_SHIFT_S_SAVESUMOCONFIG
save SUMOConfig (SUMO AND netedit)
@ MID_HOTKEY_F12_ABOUT
open about dialog
@ MID_HOTKEY_CTRL_E_EDITSELECTION_LOADNETEDITCONFIG
Edit selection in SUMO and load neteditConfig in netedit.
@ MID_GNE_TOOLBARFILE_RELOAD_DATAELEMENTS
reload data elements
@ MID_HOTKEY_CTRL_SHIFT_K_SAVETLS
save TLS Programs
@ MID_HOTKEY_SHIFT_T_LOCATETLS
Locate TLS - button.
@ MID_HOTKEY_M_MODE_MOVE_MEANDATA
hotkey for mode moving element AND mean data
@ MID_HOTKEY_F2_SUPERMODE_NETWORK
select network supermode in netedit
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKCONTAINER
lock container
@ MID_HOTKEY_CTRL_N_OPENNETWORK_NEWNETWORK
open network in SUMO and create new empty network in netedit
@ MID_GNE_TOOLBARFILE_RELOAD_ADDITIONALELEMENTS
reload additionals
@ MID_GNE_NETWORKVIEWOPTIONS_SELECTEDGES
select edges
@ MID_GNE_SAVEJOINEDJUNCTIONS
save joined junctions
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWTRIPS
show all trips
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEGRID
show grid
@ MID_GNE_TOOLBARFILE_SAVEJUPEDSIMELEMENTS_AS
save JuPedSim as
@ MID_HOTKEY_P_MODE_POLYGON_PERSON
hotkey for mode creating polygons
@ MID_HOTKEY_CTRL_L_SAVEASPLAINXML
save network as plain XML
@ MID_HOTKEY_CTRL_SHIFT_A_SAVEADDITIONALELEMENTS
Save Additional Elements.
#define GUIDesignToolbarMenuBarNetedit
design for top toolbar (file, edit, processing...) used only in netedit (due supermodes buttons)
#define GUIDesignToolBarGrip
design for toolbar grip (used to change the position of toolbar with mouse)
#define GUIDesignToolBar
design for default toolbar
#define GUIDesignToolBarRaisedNext
design for first toolbar shell positioned in the next position of dock
#define GUIDesignToolBarRaisedSupermodes
design for toolbar supermodes (grip + buttons)
#define GUIDesignToolBarRaisedSame
design for toolbar
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
@ NETWORKMODE_CHECKBOX_BUBBLES
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
@ NETWORKMODE_CHECKBOX_SHOWPOLYGONSYMBOLS
@ SAVE_ADDITIONALELEMENTS
@ DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS
@ NETWORKMODE_CHECKBOX_HIDECONNECTIONS
@ DEMANDMODE_CHECKBOX_SHOWTRIPS
@ COMMONMODE_CHECKBOX_TOGGLEDRAWJUNCTIONSHAPE
@ DATAMODE_CHECKBOX_SHOWSHAPES
@ NETWORKMODE_CHECKBOX_SELECTEDGES
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
@ DEMANDMODE_CHECKBOX_LOCKPERSON
@ NETWORKMODE_CHECKBOX_MERGEAUTOMATICALLY
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
@ DATAMODE_CHECKBOX_TAZRELONLYTO
@ NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS
@ DATAMODE_CHECKBOX_TAZRELDRAWING
@ NETWORKMODE_CHECKBOX_SHOWCONNECTIONS
@ DEMANDMODE_CHECKBOX_SHOWPERSONPLANS
@ DEMANDMODE_CHECKBOX_HIDESHAPES
@ DATAMODE_CHECKBOX_TAZDRAWFILL
@ NETWORKMODE_CHECKBOX_ELEVATION
@ COMMONMODE_CHECKBOX_SPREADVEHICLE
@ DEMANDMODE_CHECKBOX_LOCKCONTAINER
@ NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS
@ NETWORKMODE_CHECKBOX_SHOWTAZELEMENTS
@ NETWORKMODE_CHECKBOX_DRAWFILLEDWALKINGAREAS
@ NETWORKMODE_CHECKBOX_CHAIN
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
#define WRITE_WARNING(msg)
@ SUMO_TAG_EDGEREL
a relation between two edges
@ 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)
void removeElement(const bool isTemplate)
remove element
void addElement(const bool isTemplate)
function related with Elements
Type
Files that this bucket can save.
static const std::vector< FileBucket::Type > types
vector with all types managed in this get bucket handler
static const std::vector< FileBucket::Type > prefixes
vector with all types and prefixes managed in this get bucket handler
std::string parseFilenames(const std::vector< FileBucket::Type > types) const
parse filenames
std::string getConfigDirectory() const
get current config directory (if we defined a netedit, sumo or netconvert config)
~FileBucketHandler()
destructor
void resetDefaultFilenames()
brief set default files for all buckets
std::string getDefaultFilename(const FileBucket::Type type) const
functions related with filenames
const std::vector< FileBucket * > & getFileBuckets(const FileBucket::Type type) const
get vector with all fileBuckets related with the given file type
std::map< FileBucket::Type, std::vector< FileBucket * > > myBuckets
map with the buckets
bool isFilenameDefined(const FileBucket::Type type) const
check if at least we have an additional file defined
void unregisterAC(const GNEAttributeCarrier *AC)
delete AC
void updateOptions()
update options
std::string getConfigFilePrefix(const std::string &sufix) const
get current config patter (if we defined a netedit, sumo or netconvert config)
std::string getDefaultFolder(const FileBucket::Type type) const
get default folder associated with the given tipe
FileBucket * getDefaultBucket(const FileBucket::Type type) const
functions related with buckets
std::string getPrefix(FileBucket::Type type, const std::vector< std::string > invalidExtensions) const
get prefix of the given filename
void registerAC(const GNEAttributeCarrier *AC)
register AC
FileBucket * updateAC(const GNEAttributeCarrier *AC, const std::string &filename)
update filename vinculated with this AC
bool checkFilename(const GNEAttributeCarrier *AC, const std::string &filename) const
check if the given filename can be assigned to the given AC
FileBucketHandler(GNEApplicationWindow *applicationWindow, OptionsCont &neteditOptions, OptionsCont &sumoOptions)
constructor
void removeEmptyBuckets()
removed empty buckets
FileBucket * getBucket(const FileBucket::Type type, const std::string &filename, const bool create)
get bucket
void setDefaultFilenameFile(const FileBucket::Type type, const std::string &filename)
brief set default additional file
bool loadNetconvertConfig()
load netconvert config
GNENetconvertConfigHandler(const std::string &file)
Constructor.
GNENeteditConfigHandler(GNEApplicationWindow *applicationWindow, const std::string &neteditConfigFile)
Constructor.
bool loadNeteditConfig()
load netedit config
GNESumoConfigHandler(GNEApplicationWindow *applicationWindow, const std::string &sumoConfigFile)
Constructor.
bool loadSumoConfig()
load SUMO config
virtual FileBucket * getFileBucket() const =0
get reference to fileBucket in which save this AC
const std::string getID() const override
get ID (all Attribute Carriers have one)
bool isTemplate() const
check if this AC is template
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 isNetworkElement() const
network elements
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 isFileCompatible(FileBucket::Type file) const
file
bool isWireElement() const
return true if tag correspond to a Wire element
bool saveInParentFile() const
element is saved in the parent file
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 onCmdToggleDrawFilledWalkingAreas(FXObject *, FXSelector, void *)
toggle draw filled walking areas
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
long onCmdToggleShowPolygonSymbols(FXObject *, FXSelector, void *)
toggle show polygon symbols
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)
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, int length=-1)
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
void hideDataViewOptionsMenuChecks()
hide all options menu checks
void buildDataViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
DataViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
void updateShortcuts()
update shortcuts (alt+X)
DemandViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
void hideDemandViewOptionsMenuChecks()
hide all options menu checks
void buildDemandViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
void updateShortcuts()
update shortcuts (alt+X)
void hideNetworkViewOptionsMenuChecks()
hide all options menu checks
NetworkViewOptions(GNEApplicationWindow *applicationWindow)
default constructor
void updateShortcuts()
update shortcuts (alt+X)
void buildNetworkViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
EditMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
DemandViewOptions demandViewOptions
demand view options
NetworkViewOptions networkViewOptions
network view options
void buildUndoRedoMenuCommands(FXMenuPane *editMenu)
build undo-redo menu commands
DataViewOptions dataViewOptions
data view options
void buildViewMenuCommands(FXMenuPane *editMenu)
build view menu commands
void buildOpenSUMOMenuCommands(FXMenuPane *editMenu)
build open sumo menu commands
void buildFrontElementMenuCommand(FXMenuPane *editMenu)
build front element commands
GNEApplicationWindow * myApplicationWindow
pointer to current GNEApplicationWindow
void setJuPedSimView()
set JuPedSim view
void setDefaultView()
set default view
void buildEdgeTypeSection(FXMenuPane *menuPane)
build edge type section
void buildDemandSection(FXMenuPane *menuPane)
build demand section
void buildFileMenuCommands(FXMenuPane *fileMenu, FXMenuPane *fileMenuNEEDITConfig, FXMenuPane *fileMenuSumoConfig, FXMenuPane *fileMenuTLS, FXMenuPane *fileMenuEdgeTypes, FXMenuPane *fileMenuAdditionals, FXMenuPane *fileMenuDemandElements, FXMenuPane *fileMenuDataElements, FXMenuPane *fileMenuMeanDataElements)
build menu commands
FileMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildDataSection(FXMenuPane *menuPane)
build data section
void buildTrafficLightSection(FXMenuPane *menuPane)
build traffic light section
void enableMenuCascades()
enable menu cascades
void buildAdditionalSection(FXMenuPane *menuPane)
build additional section
void buildMeanDataSection(FXMenuPane *menuPane)
build meanData section
void disableMenuCascades()
disable menu cascades
void buildNeteditConfigSection(FXMenuPane *menuPane)
build netedit config section
void buildSumoConfigSection(FXMenuPane *menuPane)
build SUMO Config section
void buildHelpMenuCommands(FXMenuPane *helpMenu)
build menu commands
HelpMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildLocateMenuCommands(FXMenuPane *locateMenu)
build menu commands
LocateMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildLockMenuCommands(FXMenuPane *editMenu)
build menu commands
void hideNetworkLockMenuCommands()
show network processing menu commands
void removeHotkeys()
remove hotkeys
void hideDemandLockMenuCommands()
show demand processing menu commands
void hideDataLockMenuCommands()
show data processing menu commands
void showDataLockMenuCommands()
show data processing menu commands
void showNetworkLockMenuCommands()
show network processing menu commands
FXHotKey parseHotKey(const FXwchar character)
Parse hot key from string.
void showDemandLockMenuCommands()
show demand processing menu commands
void unlockAll()
unlock all
LockMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void editLocking(const GNEAttributeCarrier *AC, const FXbool value)
lock or unlock object based in a tag property
void buildCommonMenuCommands(FXMenuPane *modesMenu)
build menu commands
CommonMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
void buildDataMenuCommands(FXMenuPane *modesMenu)
build menu commands
void hideDataMenuCommands()
hide all menu commands
DataMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
void showDataMenuCommands()
show all menu commands
void buildDemandMenuCommands(FXMenuPane *modesMenu)
build menu commands
void showDemandMenuCommands()
show all menu commands
DemandMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
void hideDemandMenuCommands()
hide all menu commands
void buildNetworkMenuCommands(FXMenuPane *modesMenu)
build menu commands
void hideNetworkMenuCommands()
hide all menu commands
NetworkMenuCommands(const ModesMenuCommands *modesMenuCommandsParent)
constructor
void showNetworkMenuCommands()
show all menu commands
struct for modes menu commands
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
DataMenuCommands dataMenuCommands
Data Menu Commands.
NetworkMenuCommands networkMenuCommands
Network Menu Commands.
void showDataProcessingMenuCommands()
show data processing menu commands
void showDemandProcessingMenuCommands()
show demand processing menu commands
void showSeparator()
show separator
void hideSeparator()
hide separator
void hideDemandProcessingMenuCommands()
show demand processing menu commands
void hideDataProcessingMenuCommands()
show data processing menu commands
void buildProcessingMenuCommands(FXMenuPane *processingMenu)
build menu commands
ProcessingMenuCommands(GNEApplicationWindow *applicationWindow)
constructor
void showNetworkProcessingMenuCommands()
show network processing menu commands
void hideNetworkProcessingMenuCommands()
show network processing menu commands
SupermodeCommands(GNEApplicationWindow *applicationWindow)
constructor
void buildSupermodeCommands(FXMenuPane *editMenu)
build menu commands
void showSupermodeCommands()
show all menu commands
void setJuPedSimView()
set JuPedSim view
void setDefaultView()
set default view
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 * menuCheckDrawFilledWalkingAreas
check checkable to draw filled walking areas
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 * menuCheckShowPolygonSymbols
check checkable to show polygon symbols
MFXCheckableButton * menuCheckExtendSelection
checkable button to extend to edge nodes