29#include <netedit/templates.h>
36#include <xercesc/parsers/SAXParser.hpp>
37#include <xercesc/sax/AttributeList.hpp>
38#include <xercesc/sax/HandlerBase.hpp>
39#include <xercesc/sax/SAXException.hpp>
40#include <xercesc/sax/SAXParseException.hpp>
68 myPythonToolBarShellSuperModes =
new FXToolBarShell(myGNEApp,
GUIDesignToolBar);
69 myPythonToolBarShellSaveElements =
new FXToolBarShell(myGNEApp,
GUIDesignToolBar);
70 myPythonToolBarShellTimeFormat =
new FXToolBarShell(myGNEApp,
GUIDesignToolBar);
71 myPythonToolBarShellNavigation =
new FXToolBarShell(myGNEApp,
GUIDesignToolBar);
73 myPythonToolBarShellIntervalBar =
new FXToolBarShell(myGNEApp,
GUIDesignToolBar);
94 saveElements->create();
98 intervalBar->create();
100 myPythonToolBarShellSuperModes->create();
101 myPythonToolBarShellSaveElements->create();
102 myPythonToolBarShellTimeFormat->create();
103 myPythonToolBarShellNavigation->create();
104 myPythonToolBarShellModes->create();
105 myPythonToolBarShellIntervalBar->create();
107 myGNEApp->getTopDock()->recalc();
121 delete myPythonToolBarShellSuperModes;
122 delete myPythonToolBarShellSaveElements;
123 delete myPythonToolBarShellTimeFormat;
124 delete myPythonToolBarShellNavigation;
125 delete myPythonToolBarShellModes;
126 delete myPythonToolBarShellIntervalBar;
128 myGNEApp->getTopDock()->recalc();
136 myRecentNetworks(GNEApp->getApp(),
TL(
"nets")),
137 myRecentConfigs(GNEApp->getApp(),
TL(
"configs")),
155 new FXMenuSeparator(fileMenuRecentNetworkFiles);
159 myRecentNetworks.setTarget(myGNEApp);
161 new FXMenuCascade(fileMenu,
TL(
"Recent Networks"),
nullptr, fileMenuRecentNetworkFiles);
178 new FXMenuSeparator(fileMenuRecentConfigFiles);
182 myRecentConfigs.setTarget(myGNEApp);
184 new FXMenuCascade(fileMenu,
TL(
"Recent Configs"),
nullptr, fileMenuRecentConfigFiles);
198 FXMenuPane* fileMenuSumoConfig, FXMenuPane* fileMenuTLS, FXMenuPane* fileMenuEdgeTypes, FXMenuPane* fileMenuAdditionals,
199 FXMenuPane* fileMenuDemandElements, FXMenuPane* fileMenuDataElements, FXMenuPane* fileMenuMeanDataElements) {
202 TL(
"New Network"),
"Ctrl+N",
TL(
"Create a new network."),
206 TL(
"New Window"),
"Ctrl+Shift+N",
TL(
"Open a new netedit window."),
210 TL(
"Generate Network"),
"",
TL(
"Create network using netgenerate."),
214 new FXMenuSeparator(fileMenu);
217 TL(
"Load Netedit config..."),
"Ctrl+E",
TL(
"Load a netedit configuration file."),
221 TL(
"Load Sumo config..."),
"Ctrl+M",
TL(
"Load a SUMO configuration file."),
225 new FXMenuSeparator(fileMenu);
228 TL(
"Open Network..."),
"Ctrl+O",
TL(
"Open a SUMO network."),
232 TL(
"Open Netconvert Configuration..."),
"Ctrl+Shift+O",
TL(
"Open a configuration file with NETCONVERT options."),
236 TL(
"Import Foreign Network..."),
"",
TL(
"Import a foreign network such as OSM."),
240 new FXMenuSeparator(fileMenu);
243 TL(
"Save Network"),
"Ctrl+S",
TL(
"Save the network."),
247 TL(
"Save Network As..."),
"",
TL(
"Save the network to another file."),
251 TL(
"Save Plain XML..."),
"Ctrl+L",
TL(
"Save a plain XML representation of the network."),
255 TL(
"Save Joined Junctions..."),
"",
TL(
"Save log of joined junctions (allows reproduction of joins)."),
259 new FXMenuSeparator(fileMenu);
262 TL(
"Reload"),
"Ctrl+R",
TL(
"Reload the network."),
266 TL(
"Reload Network"),
"",
TL(
"Reload the network."),
269 new FXMenuSeparator(fileMenu);
272 buildNeteditConfigSection(fileMenuNeteditConfig);
276 buildSumoConfigSection(fileMenuSumoConfig);
280 buildTrafficLightSection(fileMenuTLS);
284 buildEdgeTypeSection(fileMenuEdgeTypes);
288 buildAdditionalSection(fileMenuAdditionals);
292 buildDemandSection(fileMenuDemandElements);
296 buildDataSection(fileMenuDataElements);
300 buildMeanDataSection(fileMenuMeanDataElements);
304 new FXMenuSeparator(fileMenu);
306 TL(
"Allow undoing element loading"),
TL(
"Allow to undo loading of elements (Slow if a lot of elements are loaded)"),
309 menuCheckAllowUndoRedoLoading->setCheck(myGNEApp->getApp()->reg().readBoolEntry(
"NETEDIT",
"AllowUndoRedoLoading",
true));
312 new FXMenuSeparator(fileMenu);
314 TL(
"Close"),
"Ctrl+W",
TL(
"Close the network."),
321 mySumoConfigMenuCascade->enable();
322 myNeteditConfigMenuCascade->enable();
323 myTLSMenuCascade->enable();
324 myEdgeTypesMenuCascade->enable();
325 myAdditionalMenuCascade->enable();
326 myDemandMenuCascade->enable();
327 myDataMenuCascade->enable();
328 myMeanDataMenuCascade->enable();
334 mySumoConfigMenuCascade->disable();
335 myNeteditConfigMenuCascade->disable();
336 myTLSMenuCascade->disable();
337 myEdgeTypesMenuCascade->disable();
338 myAdditionalMenuCascade->disable();
339 myDemandMenuCascade->disable();
340 myDataMenuCascade->disable();
341 myMeanDataMenuCascade->disable();
347 myTLSMenuCascade->show();
348 myDataMenuCascade->show();
349 myMeanDataMenuCascade->show();
355 myTLSMenuCascade->hide();
356 myDataMenuCascade->hide();
357 myMeanDataMenuCascade->hide();
364 TL(
"Save Netedit Config"),
"Ctrl+Shift+E",
TL(
"Save netedit configuration file."),
368 TL(
"Save Netedit Config As..."),
"",
TL(
"Save netedit configuration in a new file."),
371 new FXMenuSeparator(menuPane);
374 TL(
"Reload Netedit Config"),
"",
TL(
"Reload netedit configuration."),
382 TL(
"Save Sumo Config"),
"Ctrl+Shift+S",
TL(
"Save sumo configuration file."),
386 TL(
"Save Sumo Config As..."),
"",
TL(
"Save sumo configuration in a new file."),
389 new FXMenuSeparator(menuPane);
392 TL(
"Reload Sumo Config"),
"",
TL(
"Reload sumo configuration."),
400 TL(
"Load TLS Programs..."),
"Ctrl+K",
TL(
"Load programs for traffic lights in the current net."),
403 new FXMenuSeparator(menuPane);
406 TL(
"Save TLS Programs"),
"Ctrl+Shift+K",
TL(
"Save all traffic light programs of the current network."),
410 TL(
"Save TLS Programs As..."),
"",
TL(
"Save all traffic light programs of the current network to another file."),
413 new FXMenuSeparator(menuPane);
416 TL(
"Reload TLS Programs"),
"",
TL(
"Reload TLS Programs."),
424 TL(
"Load Edge Types..."),
"Ctrl+H",
TL(
"Load edge types in the current net."),
427 new FXMenuSeparator(menuPane);
430 TL(
"Save Edge Types"),
"Ctrl+Shift+H",
TL(
"Save edge types of the current net."),
434 TL(
"Save Edge Types As..."),
"",
TL(
"Save edge types of the current net to another file."),
437 new FXMenuSeparator(menuPane);
440 TL(
"Reload edge types"),
"",
TL(
"Reload edge types."),
448 TL(
"Load Additionals..."),
"Ctrl+A",
TL(
"Load additionals and shapes."),
451 new FXMenuSeparator(menuPane);
454 TL(
"Save Additionals"),
"Ctrl+Shift+A",
TL(
"Save additionals and shapes."),
458 TL(
"Save Additionals unified as..."),
"",
TL(
"Save all additional elements to the chosen file."),
462 TL(
"Save JuPedSim Elements as..."),
"",
TL(
"Save JuPedSim elements in a separated file."),
465 new FXMenuSeparator(menuPane);
468 TL(
"Reload Additionals"),
"",
TL(
"Reload additionals."),
476 TL(
"Load Demand Elements..."),
"Ctrl+D",
TL(
"Load demand elements."),
479 new FXMenuSeparator(menuPane);
482 TL(
"Save Demand Elements"),
"Ctrl+Shift+D",
TL(
"Save demand elements."),
486 TL(
"Save Demand Elements unified as..."),
"",
TL(
"Save all demand elements to the chosen file"),
489 new FXMenuSeparator(menuPane);
492 TL(
"Reload Demand Elements"),
"",
TL(
"Reload demand elements."),
500 TL(
"Load Data Elements..."),
"Ctrl+B",
TL(
"Load data elements."),
503 new FXMenuSeparator(menuPane);
506 TL(
"Save Data Elements"),
"Ctrl+Shift+B",
TL(
"Save data elements."),
510 TL(
"Save Data Elements unified as..."),
"",
TL(
"Save all data elements to the chosen file."),
513 new FXMenuSeparator(menuPane);
516 TL(
"Reload Data Elements"),
"",
TL(
"Reload data elements."),
524 TL(
"Load MeanDatas..."),
"",
TL(
"Load meanDatas and shapes."),
527 new FXMenuSeparator(menuPane);
530 TL(
"Save MeanDatas"),
"",
TL(
"Save meanDatas and shapes."),
534 TL(
"Save MeanDatas unified as..."),
"Ctrl+Shift+M",
TL(
"Save all meanData elements to the chosen file."),
537 new FXMenuSeparator(menuPane);
540 TL(
"Reload MeanDatas"),
"",
TL(
"Reload meanDatas."),
549 myModesMenuCommandsParent(modesMenuCommandsParent) {
557 TL(
"&Inspect"),
"I",
TL(
"Inspect elements and change their attributes."),
560 TL(
"&Delete"),
"D",
TL(
"Delete elements."),
563 TL(
"&Select"),
"S",
TL(
"Select elements."),
572 myModesMenuCommandsParent(modesMenuCommandsParent) {
578 createEdgeMode->show();
581 prohibitionMode->show();
583 additionalMode->show();
584 crossingMode->show();
594 createEdgeMode->hide();
597 prohibitionMode->hide();
599 additionalMode->hide();
600 crossingMode->hide();
612 TL(
"&Move"),
"M",
TL(
"Move elements."),
616 TL(
"&Edge"),
"E",
TL(
"Create junction and edges."),
620 TL(
"&Traffic light"),
"T",
TL(
"Modes traffic lights over junctions."),
624 TL(
"&Connection"),
"C",
TL(
"Modes connections between lanes."),
628 TL(
"Pro&hibition"),
"H",
TL(
"Modes connection prohibitions."),
632 TL(
"C&rossing"),
"R",
TL(
"Create crossings between edges."),
636 TL(
"&Additional"),
"A",
TL(
"Create additional elements."),
640 TL(
"&Wire"),
"W",
TL(
"Create wires."),
644 TL(
"TA&Z"),
"Z",
TL(
"Create Traffic Assignment Zones."),
648 TL(
"&POI-Poly"),
"P",
TL(
"Create Points-Of-Interest and polygons."),
652 TL(
"Deca&ls"),
"U",
TL(
"Create decals."),
662 myModesMenuCommandsParent(modesMenuCommandsParent) {
670 routeDistributionMode->show();
673 typeDistributionMode->show();
676 personPlanMode->show();
677 containerMode->show();
678 containerPlanMode->show();
686 routeDistributionMode->hide();
689 typeDistributionMode->hide();
692 personPlanMode->hide();
693 containerMode->hide();
694 containerPlanMode->hide();
702 TL(
"&Move"),
"M",
TL(
"Move elements."),
705 TL(
"Route"),
"R",
TL(
"Create Routes."),
708 TL(
"Route distribution"),
"W",
TL(
"Create and edit route distributions."),
712 TL(
"Vehicle"),
"V",
TL(
"Create vehicles."),
715 TL(
"Type"),
"T",
TL(
"Create types (vehicles, person and containers)."),
718 TL(
"TypeDistribution"),
"U",
TL(
"Create and edit type distributions."),
721 TL(
"Stop"),
"A",
TL(
"Create stops."),
724 TL(
"Person"),
"P",
TL(
"Create persons."),
727 TL(
"Person plan"),
"L",
TL(
"Create person plans."),
730 TL(
"Container"),
"C",
TL(
"Create containers."),
733 TL(
"Container plan"),
"H",
TL(
"Create container plans."),
742 myModesMenuCommandsParent(modesMenuCommandsParent) {
768 TL(
"&EdgeData"),
"E",
TL(
"Create edgeData elements."),
771 TL(
"Edge&Relation"),
"R",
TL(
"Create edgeRelation elements."),
774 TL(
"TA&ZRelation"),
"Z",
TL(
"Create TAZRelation elements."),
777 TL(
"&MeanData"),
"M",
TL(
"Create MeanData edge/lanes."),
787#pragma warning(disable: 4355)
803 commonMenuCommands.buildCommonMenuCommands(modesMenu);
805 networkMenuCommands.buildNetworkMenuCommands(modesMenu);
806 networkMenuCommands.hideNetworkMenuCommands();
808 demandMenuCommands.buildDemandMenuCommands(modesMenu);
809 demandMenuCommands.hideDemandMenuCommands();
811 dataMenuCommands.buildDataMenuCommands(modesMenu);
812 dataMenuCommands.hideDataMenuCommands();
819 networkMenuCommands.showNetworkMenuCommands();
821 demandMenuCommands.showDemandMenuCommands();
823 dataMenuCommands.showDataMenuCommands();
831 networkMenuCommands.connectMode->hide();
832 networkMenuCommands.TLSMode->hide();
833 networkMenuCommands.prohibitionMode->hide();
834 networkMenuCommands.wireMode->hide();
835 networkMenuCommands.decalMode->hide();
837 demandMenuCommands.moveMode->hide();
838 demandMenuCommands.vehicleMode->hide();
839 demandMenuCommands.stopMode->hide();
840 demandMenuCommands.containerMode->hide();
841 demandMenuCommands.containerPlanMode->hide();
843 dataMenuCommands.hideDataMenuCommands();
860 TL(
"Show grid"),
"Ctrl+G or Alt+1",
"",
865 TL(
"Hide junction shape"),
"Ctrl+J or Alt+2",
"",
870 TL(
"Draw vehicles spread in lane or in depart position"),
"Alt+3",
"",
875 TL(
"Show demand elements"),
"Alt+4",
"",
880 TL(
"Clicking should target lanes"),
"Alt+5",
"",
885 TL(
"Show connections over junctions"),
"Alt+6",
"",
890 TL(
"Hide connections"),
"Alt+7",
"",
895 TL(
"Show sub-additional elements"),
"Alt+8",
"",
900 TL(
"Show TAZ elements"),
"Alt+9",
"",
905 TL(
"Selecting multiple edges automatically select their junctions"),
"Alt+10",
"",
910 TL(
"Clicking should apply state changes to all phases of TLS plan"),
"Alt+5",
"",
915 TL(
"Don't ask for confirmation before merging junction"),
"Alt+5",
"",
920 TL(
"Create consecutive edges"),
"Alt+5",
"",
925 TL(
"Create an edge in the opposite direction"),
"Alt+6",
"",
930 TL(
"Apply mouse movement to elevation"),
"Alt+7",
"",
935 TL(
"Show bubbles over junctions shapes"),
"Alt+8",
"",
940 separator =
new FXMenuSeparator(editMenu);
946 menuCheckToggleGrid->hide();
947 menuCheckToggleDrawJunctionShape->hide();
948 menuCheckDrawSpreadVehicles->hide();
949 menuCheckShowDemandElements->hide();
950 menuCheckSelectEdges->hide();
951 menuCheckShowConnections->hide();
952 menuCheckHideConnections->hide();
953 menuCheckShowAdditionalSubElements->hide();
954 menuCheckShowTAZElements->hide();
955 menuCheckExtendSelection->hide();
956 menuCheckChangeAllPhases->hide();
957 menuCheckMergeAutomatically->hide();
958 menuCheckShowJunctionBubble->hide();
959 menuCheckMoveElevation->hide();
960 menuCheckChainEdges->hide();
961 menuCheckAutoOppositeEdge->hide();
970 if (menuCheckDrawSpreadVehicles->shown()) {
971 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
974 if (menuCheckDrawSpreadVehicles->shown()) {
975 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
978 if (menuCheckShowDemandElements->shown()) {
979 menuCheckShowDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
982 if (menuCheckSelectEdges->shown()) {
983 menuCheckSelectEdges->setAccelText((
"Alt+" +
toString(index)).c_str());
986 if (menuCheckShowConnections->shown()) {
987 menuCheckShowConnections->setAccelText((
"Alt+" +
toString(index)).c_str());
990 if (menuCheckHideConnections->shown()) {
991 menuCheckHideConnections->setAccelText((
"Alt+" +
toString(index)).c_str());
994 if (menuCheckShowAdditionalSubElements->shown()) {
995 menuCheckShowAdditionalSubElements->setAccelText((
"Alt+" +
toString(index)).c_str());
998 if (menuCheckShowTAZElements->shown()) {
999 menuCheckShowTAZElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1002 if (menuCheckExtendSelection->shown()) {
1003 menuCheckExtendSelection->setAccelText((
"Alt+" +
toString(index)).c_str());
1006 if (menuCheckChangeAllPhases->shown()) {
1007 menuCheckChangeAllPhases->setAccelText((
"Alt+" +
toString(index)).c_str());
1010 if (menuCheckMergeAutomatically->shown()) {
1011 menuCheckMergeAutomatically->setAccelText((
"Alt+" +
toString(index)).c_str());
1014 if (menuCheckChainEdges->shown()) {
1015 menuCheckChainEdges->setAccelText((
"Alt+" +
toString(index)).c_str());
1018 if (menuCheckAutoOppositeEdge->shown()) {
1019 menuCheckAutoOppositeEdge->setAccelText((
"Alt+" +
toString(index)).c_str());
1022 if (menuCheckMoveElevation->shown()) {
1023 menuCheckMoveElevation->setAccelText((
"Alt+" +
toString(index)).c_str());
1026 if (menuCheckShowJunctionBubble->shown()) {
1027 menuCheckShowJunctionBubble->setAccelText((
"Alt+" +
toString(index)).c_str());
1045 TL(
"Show grid"),
"Ctrl+G or Alt+1",
"",
1050 TL(
"Hide junction shape"),
"Ctrl+J or Alt+2",
"",
1055 TL(
"Draw vehicles spread/depart position"),
"Alt+3",
"",
1060 TL(
"Show shapes"),
"Alt+4",
"",
1065 TL(
"Show all trips"),
"Alt+5",
"",
1070 TL(
"Show all person plans"),
"Alt+6",
"",
1075 TL(
"Lock selected person"),
"Alt+7",
"",
1080 TL(
"Show all container plans"),
"Alt+6",
"",
1085 TL(
"Lock selected container"),
"Alt+7",
"",
1090 TL(
"Show non-inspected demand elements"),
"Alt+8",
"",
1095 TL(
"Show number of overlapped routes"),
"Alt+9",
"",
1100 separator =
new FXMenuSeparator(editMenu);
1106 menuCheckToggleGrid->hide();
1107 menuCheckToggleDrawJunctionShape->hide();
1108 menuCheckDrawSpreadVehicles->hide();
1109 menuCheckHideShapes->hide();
1110 menuCheckShowAllTrips->hide();
1111 menuCheckHideNonInspectedDemandElements->hide();
1112 menuCheckShowOverlappedRoutes->hide();
1113 menuCheckShowAllPersonPlans->hide();
1114 menuCheckLockPerson->hide();
1115 menuCheckShowAllContainerPlans->hide();
1116 menuCheckLockContainer->hide();
1125 if (menuCheckDrawSpreadVehicles->shown()) {
1126 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
1129 if (menuCheckHideShapes->shown()) {
1130 menuCheckHideShapes->setAccelText((
"Alt+" +
toString(index)).c_str());
1133 if (menuCheckShowAllTrips->shown()) {
1134 menuCheckShowAllTrips->setAccelText((
"Alt+" +
toString(index)).c_str());
1137 if (menuCheckHideNonInspectedDemandElements->shown()) {
1138 menuCheckHideNonInspectedDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1141 if (menuCheckShowOverlappedRoutes->shown()) {
1142 menuCheckShowOverlappedRoutes->setAccelText((
"Alt+" +
toString(index)).c_str());
1145 if (menuCheckShowAllPersonPlans->shown()) {
1146 menuCheckShowAllPersonPlans->setAccelText((
"Alt+" +
toString(index)).c_str());
1149 if (menuCheckLockPerson->shown()) {
1150 menuCheckLockPerson->setAccelText((
"Alt+" +
toString(index)).c_str());
1153 if (menuCheckShowAllContainerPlans->shown()) {
1154 menuCheckShowAllContainerPlans->setAccelText((
"Alt+" +
toString(index)).c_str());
1157 if (menuCheckLockContainer->shown()) {
1158 menuCheckLockContainer->setAccelText((
"Alt+" +
toString(index)).c_str());
1176 TL(
"Hide junction shape"),
"Ctrl+J or Alt+1",
"",
1181 TL(
"Show additionals"),
"Alt+2",
"",
1186 TL(
"Show shapes"),
"Alt+3",
"",
1191 TL(
"Show demand elements"),
"Alt+4",
"",
1196 TL(
"Draw TAZRel from center"),
"Alt+5",
"",
1201 TL(
"Draw TAZ fill"),
"Alt+6",
"",
1206 TL(
"Only draw TAZRel from"),
"Alt+6",
"",
1211 TL(
"Only draw TAZRel to"),
"Alt+7",
"",
1215 separator =
new FXMenuSeparator(editMenu);
1221 menuCheckToggleDrawJunctionShape->hide();
1222 menuCheckShowAdditionals->hide();
1223 menuCheckShowShapes->hide();
1224 menuCheckShowDemandElements->hide();
1225 menuCheckToggleTAZRelDrawing->hide();
1226 menuCheckToggleTAZDrawFill->hide();
1227 menuCheckToggleTAZRelOnlyFrom->hide();
1228 menuCheckToggleTAZRelOnlyTo->hide();
1237 if (menuCheckShowAdditionals->shown()) {
1238 menuCheckShowAdditionals->setAccelText((
"Alt+" +
toString(index)).c_str());
1241 if (menuCheckShowShapes->shown()) {
1242 menuCheckShowShapes->setAccelText((
"Alt+" +
toString(index)).c_str());
1245 if (menuCheckShowDemandElements->shown()) {
1246 menuCheckShowDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1249 if (menuCheckToggleTAZRelDrawing->shown()) {
1250 menuCheckToggleTAZRelDrawing->setAccelText((
"Alt+" +
toString(index)).c_str());
1253 if (menuCheckToggleTAZDrawFill->shown()) {
1254 menuCheckToggleTAZDrawFill->setAccelText((
"Alt+" +
toString(index)).c_str());
1257 if (menuCheckToggleTAZRelOnlyFrom->shown()) {
1258 menuCheckToggleTAZRelOnlyFrom->setAccelText((
"Alt+" +
toString(index)).c_str());
1261 if (menuCheckToggleTAZRelOnlyTo->shown()) {
1262 menuCheckToggleTAZRelOnlyTo->setAccelText((
"Alt+" +
toString(index)).c_str());
1283 TL(
"Undo"),
"Ctrl+Z",
TL(
"Undo the last change."),
1286 TL(
"Redo"),
"Ctrl+Y",
TL(
"Redo the last change."),
1289 TL(
"Show undo/redo history"),
"",
TL(
"Open undo/redo history dialog."),
1293 TL(
"Allow undo-redo"),
"",
1295 menuCheckAllowUndoRedo->setCheck(myGNEApp->getApp()->reg().readBoolEntry(
"NETEDIT",
"AllowUndoRedo",
true));
1303 TL(
"Edit Visualisation"),
"F9",
TL(
"Opens a dialog for editing visualization settings."),
1306 TL(
"Edit Viewport"),
"Ctrl+I",
TL(
"Opens a dialog for editing viewing area, zoom and rotation."),
1315 TL(
"Clear front element"),
"F11",
TL(
"Clear current front element"),
1324 TL(
"Load additionals in sumo-gui"),
TL(
"Load additionals in sumo-gui."),
1326 loadAdditionalsInSUMOGUI->setCheck(TRUE);
1328 TL(
"Load demand in sumo-gui"),
TL(
"Load demand in sumo-gui."),
1330 loadDemandInSUMOGUI->setCheck(TRUE);
1332 TL(
"Open in sumo-gui"),
"Ctrl+T",
TL(
"Opens the sumo-gui application with the current network."),
1349 TL(
"&Junctions"),
"",
"",
1354 TL(
"&Edges"),
"",
"",
1359 TL(
"&Lanes"),
"",
"",
1364 TL(
"&Connections"),
"",
"",
1369 TL(
"C&rossings"),
"",
"",
1374 TL(
"Walkin&gAreas"),
"",
"",
1379 TL(
"&Additionals"),
"",
"",
1384 TL(
"&TAZs"),
"",
"",
1389 TL(
"&Wires"),
"",
"",
1394 TL(
"&Polygons"),
"",
"",
1399 TL(
"P&OIs"),
"",
"",
1404 TL(
"WalkableAreas"),
"",
"",
1409 TL(
"Obstacles"),
"",
"",
1414 TL(
"&Routes"),
"",
"",
1419 TL(
"&Vehicles"),
"",
"",
1424 TL(
"&Persons"),
"",
"",
1429 TL(
"Person&Trips"),
"",
"",
1434 TL(
"&Walks"),
"",
"",
1439 TL(
"Ri&des"),
"",
"",
1444 TL(
"&Containers"),
"",
"",
1449 TL(
"Tra&nsports"),
"",
"",
1454 TL(
"Trans&hips"),
"",
"",
1459 TL(
"Stop&s"),
"",
"",
1464 TL(
"&EdgeDatas"),
"",
"",
1469 TL(
"E&dgeRelDatas"),
"",
"",
1474 TL(
"Edge&TAZRel"),
"",
"",
1479 new FXMenuSeparator(fileMenu);
1482 TL(
"Lock selected elements"),
"",
TL(
"selected elements"),
1486 new FXMenuSeparator(fileMenu);
1489 TL(
"Lock all elements"),
"",
TL(
"all elements"),
1493 TL(
"Unlock all elements"),
"",
TL(
"Unlock all elements"),
1501 menuCheckLockJunction->remHotKey(parseHotKey(
'j'));
1502 menuCheckLockEdges->remHotKey(parseHotKey(
'e'));
1503 menuCheckLockLanes->remHotKey(parseHotKey(
'l'));
1504 menuCheckLockConnections->remHotKey(parseHotKey(
'c'));
1505 menuCheckLockCrossings->remHotKey(parseHotKey(
'r'));
1506 menuCheckLockWalkingAreas->remHotKey(parseHotKey(
'g'));
1507 menuCheckLockAdditionals->remHotKey(parseHotKey(
'a'));
1508 menuCheckLockTAZs->remHotKey(parseHotKey(
't'));
1509 menuCheckLockWires->remHotKey(parseHotKey(
'w'));
1510 menuCheckLockPolygons->remHotKey(parseHotKey(
'p'));
1511 menuCheckLockPOIs->remHotKey(parseHotKey(
'o'));
1512 menuCheckLockJpsWalkableAreas->remHotKey(parseHotKey(
'n'));
1513 menuCheckLockJpsObstacles->remHotKey(parseHotKey(
'b'));
1515 menuCheckLockRoutes->remHotKey(parseHotKey(
'r'));
1516 menuCheckLockVehicles->remHotKey(parseHotKey(
'v'));
1517 menuCheckLockPersons->remHotKey(parseHotKey(
'p'));
1518 menuCheckLockPersonTrip->remHotKey(parseHotKey(
't'));
1519 menuCheckLockWalk->remHotKey(parseHotKey(
'w'));
1520 menuCheckLockRides->remHotKey(parseHotKey(
'd'));
1521 menuCheckLockContainers->remHotKey(parseHotKey(
'c'));
1522 menuCheckLockTransports->remHotKey(parseHotKey(
'n'));
1523 menuCheckLockTranships->remHotKey(parseHotKey(
'h'));
1524 menuCheckLockStops->remHotKey(parseHotKey(
's'));
1526 menuCheckLockEdgeDatas->remHotKey(parseHotKey(
'e'));
1527 menuCheckLockEdgeRelDatas->remHotKey(parseHotKey(
'd'));
1528 menuCheckLockEdgeTAZRels->remHotKey(parseHotKey(
't'));
1534 menuCheckLockJunction->enable();
1535 menuCheckLockEdges->enable();
1536 menuCheckLockLanes->enable();
1537 menuCheckLockConnections->enable();
1538 menuCheckLockCrossings->enable();
1539 menuCheckLockWalkingAreas->enable();
1540 menuCheckLockAdditionals->enable();
1541 menuCheckLockTAZs->enable();
1542 menuCheckLockWires->enable();
1543 menuCheckLockPolygons->enable();
1544 menuCheckLockPOIs->enable();
1545 menuCheckLockJpsWalkableAreas->enable();
1546 menuCheckLockJpsObstacles->enable();
1548 menuCheckLockJunction->addHotKey(parseHotKey(
'j'));
1549 menuCheckLockEdges->addHotKey(parseHotKey(
'e'));
1550 menuCheckLockLanes->addHotKey(parseHotKey(
'l'));
1551 menuCheckLockConnections->addHotKey(parseHotKey(
'c'));
1552 menuCheckLockCrossings->addHotKey(parseHotKey(
'r'));
1553 menuCheckLockWalkingAreas->addHotKey(parseHotKey(
'g'));
1554 menuCheckLockAdditionals->addHotKey(parseHotKey(
'a'));
1555 menuCheckLockTAZs->addHotKey(parseHotKey(
't'));
1556 menuCheckLockWires->addHotKey(parseHotKey(
'w'));
1557 menuCheckLockPolygons->addHotKey(parseHotKey(
'p'));
1558 menuCheckLockPOIs->addHotKey(parseHotKey(
'o'));
1559 menuCheckLockJpsWalkableAreas->addHotKey(parseHotKey(
'n'));
1560 menuCheckLockJpsObstacles->addHotKey(parseHotKey(
'b'));
1562 menuCheckLockJunction->show();
1563 menuCheckLockEdges->show();
1564 menuCheckLockLanes->show();
1565 menuCheckLockConnections->show();
1566 menuCheckLockCrossings->show();
1567 menuCheckLockWalkingAreas->show();
1568 menuCheckLockAdditionals->show();
1569 menuCheckLockTAZs->show();
1570 menuCheckLockWires->show();
1571 menuCheckLockPolygons->show();
1572 menuCheckLockPOIs->show();
1573 menuCheckLockJpsWalkableAreas->show();
1574 menuCheckLockJpsObstacles->show();
1581 menuCheckLockJunction->disable();
1582 menuCheckLockEdges->disable();
1583 menuCheckLockLanes->disable();
1584 menuCheckLockConnections->disable();
1585 menuCheckLockCrossings->disable();
1586 menuCheckLockWalkingAreas->disable();
1587 menuCheckLockAdditionals->disable();
1588 menuCheckLockTAZs->disable();
1589 menuCheckLockPolygons->disable();
1590 menuCheckLockPOIs->disable();
1591 menuCheckLockJpsWalkableAreas->disable();
1592 menuCheckLockJpsObstacles->disable();
1594 menuCheckLockJunction->hide();
1595 menuCheckLockEdges->hide();
1596 menuCheckLockLanes->hide();
1597 menuCheckLockConnections->hide();
1598 menuCheckLockCrossings->hide();
1599 menuCheckLockWalkingAreas->hide();
1600 menuCheckLockAdditionals->hide();
1601 menuCheckLockTAZs->hide();
1602 menuCheckLockWires->hide();
1603 menuCheckLockPolygons->hide();
1604 menuCheckLockPOIs->hide();
1605 menuCheckLockJpsWalkableAreas->hide();
1606 menuCheckLockJpsObstacles->hide();
1613 menuCheckLockRoutes->enable();
1614 menuCheckLockVehicles->enable();
1615 menuCheckLockPersons->enable();
1616 menuCheckLockPersonTrip->enable();
1617 menuCheckLockWalk->enable();
1618 menuCheckLockRides->enable();
1619 menuCheckLockContainers->enable();
1620 menuCheckLockTransports->enable();
1621 menuCheckLockTranships->enable();
1622 menuCheckLockStops->enable();
1624 menuCheckLockRoutes->addHotKey(parseHotKey(
'r'));
1625 menuCheckLockVehicles->addHotKey(parseHotKey(
'v'));
1626 menuCheckLockPersons->addHotKey(parseHotKey(
'p'));
1627 menuCheckLockPersonTrip->addHotKey(parseHotKey(
't'));
1628 menuCheckLockWalk->addHotKey(parseHotKey(
'w'));
1629 menuCheckLockRides->addHotKey(parseHotKey(
'd'));
1630 menuCheckLockContainers->addHotKey(parseHotKey(
'c'));
1631 menuCheckLockTransports->addHotKey(parseHotKey(
'n'));
1632 menuCheckLockTranships->addHotKey(parseHotKey(
'h'));
1633 menuCheckLockStops->addHotKey(parseHotKey(
's'));
1635 menuCheckLockRoutes->show();
1636 menuCheckLockVehicles->show();
1637 menuCheckLockPersons->show();
1638 menuCheckLockPersonTrip->show();
1639 menuCheckLockWalk->show();
1640 menuCheckLockRides->show();
1641 menuCheckLockContainers->show();
1642 menuCheckLockTransports->show();
1643 menuCheckLockTranships->show();
1644 menuCheckLockStops->show();
1651 menuCheckLockRoutes->disable();
1652 menuCheckLockVehicles->disable();
1653 menuCheckLockPersons->disable();
1654 menuCheckLockPersonTrip->disable();
1655 menuCheckLockWalk->disable();
1656 menuCheckLockRides->disable();
1657 menuCheckLockContainers->disable();
1658 menuCheckLockTransports->disable();
1659 menuCheckLockTranships->disable();
1660 menuCheckLockStops->disable();
1662 menuCheckLockRoutes->hide();
1663 menuCheckLockVehicles->hide();
1664 menuCheckLockPersons->hide();
1665 menuCheckLockPersonTrip->hide();
1666 menuCheckLockWalk->hide();
1667 menuCheckLockRides->hide();
1668 menuCheckLockContainers->hide();
1669 menuCheckLockTransports->hide();
1670 menuCheckLockTranships->hide();
1671 menuCheckLockStops->hide();
1678 menuCheckLockEdgeDatas->enable();
1679 menuCheckLockEdgeRelDatas->enable();
1680 menuCheckLockEdgeTAZRels->enable();
1682 menuCheckLockEdgeDatas->addHotKey(parseHotKey(
'e'));
1683 menuCheckLockEdgeRelDatas->addHotKey(parseHotKey(
'd'));
1684 menuCheckLockEdgeTAZRels->addHotKey(parseHotKey(
't'));
1686 menuCheckLockEdgeDatas->show();
1687 menuCheckLockEdgeRelDatas->show();
1688 menuCheckLockEdgeTAZRels->show();
1695 menuCheckLockEdgeDatas->disable();
1696 menuCheckLockEdgeRelDatas->disable();
1697 menuCheckLockEdgeTAZRels->disable();
1699 menuCheckLockEdgeDatas->hide();
1700 menuCheckLockEdgeRelDatas->hide();
1701 menuCheckLockEdgeTAZRels->hide();
1707 menuCheckLockJunction->setCheck(TRUE);
1708 menuCheckLockEdges->setCheck(TRUE);
1709 menuCheckLockLanes->setCheck(TRUE);
1710 menuCheckLockConnections->setCheck(TRUE);
1711 menuCheckLockCrossings->setCheck(TRUE);
1712 menuCheckLockWalkingAreas->setCheck(TRUE);
1713 menuCheckLockAdditionals->setCheck(TRUE);
1714 menuCheckLockTAZs->setCheck(TRUE);
1715 menuCheckLockWires->setCheck(TRUE);
1716 menuCheckLockPolygons->setCheck(TRUE);
1717 menuCheckLockPOIs->setCheck(TRUE);
1718 menuCheckLockJpsWalkableAreas->setCheck(TRUE);
1719 menuCheckLockJpsObstacles->setCheck(TRUE);
1720 menuCheckLockRoutes->setCheck(TRUE);
1721 menuCheckLockVehicles->setCheck(TRUE);
1722 menuCheckLockPersons->setCheck(TRUE);
1723 menuCheckLockPersonTrip->setCheck(TRUE);
1724 menuCheckLockWalk->setCheck(TRUE);
1725 menuCheckLockRides->setCheck(TRUE);
1726 menuCheckLockContainers->setCheck(TRUE);
1727 menuCheckLockTransports->setCheck(TRUE);
1728 menuCheckLockTranships->setCheck(TRUE);
1729 menuCheckLockStops->setCheck(TRUE);
1730 menuCheckLockEdgeDatas->setCheck(TRUE);
1731 menuCheckLockEdgeRelDatas->setCheck(TRUE);
1732 menuCheckLockEdgeTAZRels->setCheck(TRUE);
1738 menuCheckLockJunction->setCheck(FALSE);
1739 menuCheckLockEdges->setCheck(FALSE);
1740 menuCheckLockLanes->setCheck(FALSE);
1741 menuCheckLockConnections->setCheck(FALSE);
1742 menuCheckLockCrossings->setCheck(FALSE);
1743 menuCheckLockWalkingAreas->setCheck(FALSE);
1744 menuCheckLockAdditionals->setCheck(FALSE);
1745 menuCheckLockTAZs->setCheck(FALSE);
1746 menuCheckLockWires->setCheck(FALSE);
1747 menuCheckLockPolygons->setCheck(FALSE);
1748 menuCheckLockPOIs->setCheck(FALSE);
1749 menuCheckLockJpsWalkableAreas->setCheck(FALSE);
1750 menuCheckLockJpsObstacles->setCheck(FALSE);
1751 menuCheckLockRoutes->setCheck(FALSE);
1752 menuCheckLockVehicles->setCheck(FALSE);
1753 menuCheckLockPersons->setCheck(FALSE);
1754 menuCheckLockPersonTrip->setCheck(FALSE);
1755 menuCheckLockWalk->setCheck(FALSE);
1756 menuCheckLockRides->setCheck(FALSE);
1757 menuCheckLockContainers->setCheck(FALSE);
1758 menuCheckLockTransports->setCheck(FALSE);
1759 menuCheckLockTranships->setCheck(FALSE);
1760 menuCheckLockStops->setCheck(FALSE);
1761 menuCheckLockEdgeDatas->setCheck(FALSE);
1762 menuCheckLockEdgeRelDatas->setCheck(FALSE);
1763 menuCheckLockEdgeTAZRels->setCheck(FALSE);
1771 menuCheckLockJunction->setCheck(value);
1773 menuCheckLockEdges->setCheck(value);
1775 menuCheckLockLanes->setCheck(value);
1777 menuCheckLockConnections->setCheck(value);
1779 menuCheckLockCrossings->setCheck(value);
1781 menuCheckLockWalkingAreas->setCheck(value);
1783 menuCheckLockAdditionals->setCheck(value);
1785 menuCheckLockTAZs->setCheck(value);
1787 menuCheckLockWires->setCheck(value);
1789 menuCheckLockPolygons->setCheck(value);
1791 menuCheckLockJpsWalkableAreas->setCheck(value);
1793 menuCheckLockJpsObstacles->setCheck(value);
1797 menuCheckLockPOIs->setCheck(value);
1799 menuCheckLockRoutes->setCheck(value);
1801 menuCheckLockVehicles->setCheck(value);
1803 menuCheckLockPersons->setCheck(value);
1805 menuCheckLockPersonTrip->setCheck(value);
1807 menuCheckLockWalk->setCheck(value);
1809 menuCheckLockRides->setCheck(value);
1811 menuCheckLockContainers->setCheck(value);
1813 menuCheckLockTransports->setCheck(value);
1815 menuCheckLockTranships->setCheck(value);
1819 menuCheckLockStops->setCheck(value);
1821 menuCheckLockEdgeDatas->setCheck(value);
1823 menuCheckLockEdgeRelDatas->setCheck(value);
1825 menuCheckLockEdgeTAZRels->setCheck(value);
1832 FXuint code = 0, mods = 0;
1833 if (Unicode::isAlphaNumeric(character)) {
1835 code = fxucs2keysym(Unicode::toLower(character));
1837 return MKUINT(code, mods);
1853 TL(
"Compute Junctions"),
"F5",
TL(
"Compute junction shape and logic."),
1856 TL(
"Compute Junctions with volatile options"),
"Shift+F5",
TL(
"Compute junction shape and logic using volatile junctions."),
1859 TL(
"Clean Junctions"),
"F6",
TL(
"Remove solitary junctions."),
1862 TL(
"Join Selected Junctions"),
"F7",
TL(
"Join selected junctions into a single junction."),
1865 TL(
"Clean invalid crossings"),
"F8",
TL(
"Clear invalid crossings."),
1868 mySeparatorCheckBox =
new FXMenuSeparator(processingMenu);
1871 TL(
"Recompute Network in Data Mode"),
"",
"",
1874 menuCheckRecomputeDataMode->setCheck(myGNEApp->getApp()->reg().readBoolEntry(
"NETEDIT",
"RecomputeData",
true));
1877 TL(
"Compute demand"),
"F5",
TL(
"Computes demand elements."),
1880 TL(
"Clean routes"),
"F6",
TL(
"Removes routes without vehicles."),
1883 TL(
"Join routes"),
"F7",
TL(
"Joins routes with the same edges."),
1886 TL(
"Adjust person plans"),
"Shift+F7",
TL(
"Adjust person plans (start/end positions, arrival positions, etc.)"),
1889 TL(
"Clean invalid route elements"),
"F8",
TL(
"Clear elements with an invalid path (routes, Trips, Flows...)."),
1892 myOptionsSeparator =
new FXMenuSeparator(processingMenu);
1895 TL(
"Sumo options"),
"Shift+F10",
TL(
"Configure sumo Options."),
1898 myOptionsSeparator =
new FXMenuSeparator(processingMenu);
1901 TL(
"Options"),
"F10",
TL(
"Configure netedit Options."),
1909 computeNetwork->enable();
1910 computeNetworkVolatile->enable();
1911 cleanJunctions->enable();
1912 joinJunctions->enable();
1913 clearInvalidCrossings->enable();
1914 mySeparatorCheckBox->enable();
1915 menuCheckRecomputeDataMode->enable();
1917 computeNetwork->show();
1918 computeNetworkVolatile->show();
1919 cleanJunctions->show();
1920 joinJunctions->show();
1921 clearInvalidCrossings->show();
1922 mySeparatorCheckBox->show();
1923 menuCheckRecomputeDataMode->show();
1930 computeNetwork->disable();
1931 computeNetworkVolatile->disable();
1932 cleanJunctions->disable();
1933 joinJunctions->disable();
1934 clearInvalidCrossings->disable();
1936 computeNetwork->hide();
1937 computeNetworkVolatile->hide();
1938 cleanJunctions->hide();
1939 joinJunctions->hide();
1940 clearInvalidCrossings->hide();
1947 computeDemand->enable();
1948 cleanRoutes->enable();
1949 joinRoutes->enable();
1950 adjustPersonPlans->enable();
1951 clearInvalidDemandElements->enable();
1953 computeDemand->show();
1954 cleanRoutes->show();
1956 adjustPersonPlans->show();
1957 clearInvalidDemandElements->show();
1964 computeDemand->disable();
1965 cleanRoutes->disable();
1966 joinRoutes->disable();
1967 adjustPersonPlans->disable();
1968 clearInvalidDemandElements->disable();
1970 computeDemand->hide();
1971 cleanRoutes->hide();
1973 adjustPersonPlans->hide();
1974 clearInvalidDemandElements->hide();
1992 myOptionsSeparator->show();
1998 myOptionsSeparator->hide();
2014 TL(
"&Junctions"),
"Shift+J",
TL(
"Open a dialog for locating a Junction."),
2017 TL(
"&Edges"),
"Shift+E",
TL(
"Open a dialog for locating an Edge."),
2020 TL(
"&WalkingAreas"),
"Shift+W",
TL(
"Open a dialog for locating a Walking Area."),
2023 TL(
"&Vehicles"),
"Shift+V",
TL(
"Open a dialog for locating a Vehicle."),
2026 TL(
"&Persons"),
"Shift+P",
TL(
"Open a dialog for locating a Person."),
2029 TL(
"&Containers"),
"Shift+C",
TL(
"Open a dialog for locating a Container."),
2032 TL(
"&Route"),
"Shift+R",
TL(
"Open a dialog for locating a Route."),
2035 TL(
"&Stops"),
"Shift+S",
TL(
"Open a dialog for locating a Stop."),
2038 TL(
"&TLS"),
"Shift+T",
TL(
"Open a dialog for locating a Traffic Light."),
2041 TL(
"&Additional"),
"Shift+A",
TL(
"Open a dialog for locating an Additional Structure."),
2044 TL(
"P&oI"),
"Shift+O",
TL(
"Open a dialog for locating a Point of Interest."),
2047 TL(
"Po&lygon"),
"Shift+L",
TL(
"Open a dialog for locating a Polygon."),
2062 for (
const auto& tool : myPythonTools) {
2066 delete myPythonToolDialog;
2067 delete myNetgenerateDialog;
2068 delete myRunPythonToolDialog;
2069 delete myRunNetgenerateDialog;
2075 const std::map<std::string, FXMenuPane*>& menuPaneToolMaps) {
2078 for (
const auto& templateTool : templateTools) {
2079 if (templateTool.name ==
"netdiff") {
2080 myPythonTools.push_back(
new GNENetDiffTool(myGNEApp, templateTool.pythonPath,
2081 menuPaneToolMaps.at(templateTool.subfolder)));
2082 }
else if (menuPaneToolMaps.count(templateTool.subfolder) > 0) {
2083 myPythonTools.push_back(
new GNEPythonTool(myGNEApp, templateTool.pythonPath,
2084 templateTool.templateStr, menuPaneToolMaps.at(templateTool.subfolder)));
2086 myPythonTools.push_back(
new GNEPythonTool(myGNEApp, templateTool.pythonPath,
2087 templateTool.templateStr, toolsMenu));
2101 for (
const auto& tool : myPythonTools) {
2102 if (tool->getMenuCommand() == menuCommand) {
2103 myPythonToolDialog->openDialog(tool);
2113 myNetgenerateDialog->openDialog();
2121 for (
const auto& tool : myPythonTools) {
2122 if (tool->getMenuCommand() == menuCommand) {
2123 myRunPythonToolDialog->runTool(tool);
2134 for (
const auto& tool : myPythonTools) {
2135 if (tool->getMenuCommand() == menuCommand) {
2137 tool->postProcessing();
2147 myRunNetgenerateDialog->run(netgenerateOptions);
2165 TL(
"Show Status Line"),
TL(
"Toggle this Status Bar on/off."),
2166 statusbar, FXWindow::ID_TOGGLESHOWN);
2168 TL(
"Show Message Window"),
TL(
"Toggle the Message Window on/off."),
2169 messageWindow, FXWindow::ID_TOGGLESHOWN);
2170 new FXMenuSeparator(windowsMenu);
2172 TL(
"Clear Message Window"),
"",
TL(
"Clear the Message Window."),
2190 new FXMenuSeparator(helpMenu);
2199 new FXMenuSeparator(helpMenu);
2215 networkMode->show();
2223 showSupermodeCommands();
2237 TL(
"&Network"),
"F2",
TL(
"Select network mode."),
2240 TL(
"&Demand"),
"F3",
TL(
"Select demand mode."),
2243 TL(
"&Data"),
"F4",
TL(
"Select data mode."),
2252 mySumoOptions(sumoOptions),
2262 mySumoOptions.resetDefault();
2263 neteditOptions.resetDefault();
2265 mySumoOptions.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);
2278 WRITE_ERROR(
TL(
"Could not load SUMO configuration '") + myFile +
"'.");
2281 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2286 mySumoOptions.relocateFiles(myFile);
2288 neteditOptions.set(
"sumocfg-file", myFile);
2289 neteditOptions.set(
"net-file", mySumoOptions.getString(
"net-file"));
2291 if (neteditOptions.getString(
"configuration-file").empty()) {
2292 const auto newConfiguration =
StringUtils::replace(neteditOptions.getString(
"configuration-file"),
".sumocfg",
".netecfg");
2293 neteditOptions.resetWritable();
2294 neteditOptions.set(
"configuration-file", newConfiguration);
2313 neteditOptions.resetDefault();
2315 neteditOptions.resetWritable();
2317 XERCES_CPP_NAMESPACE::SAXParser parser;
2318 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2319 parser.setDisableDefaultEntityResolution(
true);
2323 parser.setDocumentHandler(&handler);
2324 parser.setErrorHandler(&handler);
2327 WRITE_ERROR(
TL(
"Could not load netedit configuration '") + myFile +
"'.");
2330 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2335 neteditOptions.relocateFiles(myFile);
2337 if (neteditOptions.getString(
"configuration-file").find(
".netccfg") != std::string::npos) {
2338 const auto newConfiguration =
StringUtils::replace(neteditOptions.getString(
"configuration-file"),
".netccfg",
".netecfg");
2339 neteditOptions.resetWritable();
2340 neteditOptions.set(
"configuration-file", newConfiguration);
2484 if (str.length() < suffix.length()) {
2487 return str.compare(str.length() - suffix.length(), suffix.length(), suffix) == 0;
2661 GUIIcon icon,
const std::string& extensions,
bool save,
bool multi) {
2663 FXFileDialog opendialog(window, title.c_str());
2666 opendialog.setSelectMode(SELECTFILE_ANY);
2669 opendialog.setSelectMode(SELECTFILE_MULTIPLE);
2671 opendialog.setSelectMode(SELECTFILE_EXISTING);
2676 opendialog.setPatternList(extensions.c_str());
2682 if (opendialog.execute()) {
2700 FXString* files = opendialog.getFilenames();
2703 if (files !=
nullptr) {
2704 for (
int i = 0; !files[i].empty(); i++) {
2710 result += files[i].text();
2717 return opendialog.getFilename().text();
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_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
@ 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_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
FXString gCurrentFolder
The folder used as last.
GUIIcon
An enumeration of icons used by the gui applications.
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
@ NETWORKMODE_CHECKBOX_BUBBLES
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
@ 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_CHAIN
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
@ 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)
GNENeteditConfigHandler(const std::string &file)
Constructor.
bool loadNeteditConfig()
load netedit config
GNESumoConfigHandler(OptionsCont &sumoOptions, const std::string &file)
Constructor.
bool loadSumoConfig()
load SUMO config
The main window of Netedit.
const GNETagProperties * getTagProperty() const
get tagProperty associated with this Attribute Carrier
Dialog for netgenerate tool dialog.
Abstract dialog for tools.
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.
static FXbool userPermitsOverwritingWhenFileExists(FXWindow *const parent, const FXString &file)
Returns true if either the file given by its name does not exist or the user allows overwriting it.
static FXString assureExtension(const FXFileDialog &openDialog)
Corrects missing extension.
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 StringBijection< SumoConfigFileExtension > SumoConfigFileExtensions
sumo config file extensions
static StringBijection< AdditionalFileExtension > AdditionalFileExtensions
additional file extensions
static StringBijection< MeanDataFileExtension > MeanDataFileExtensions
mean data file extensions
static StringBijection< TLSFileExtension > TLSFileExtensions
TLS file extensions.
static StringBijection< RouteFileExtension > RouteFileExtensions
route file extensions
static StringBijection< XMLFileExtension > XMLFileExtensions
XML file Extensions.
static StringBijection< NetconvertConfigFileExtension > NetconvertConfigFileExtensions
netconvert config file extensions
static StringBijection< TXTFileExtension > TXTFileExtensions
TXT file Extensions.
static StringBijection< OSMFileExtension > OSMFileExtensions
OSM file extensions.
static StringBijection< EdgeDataFileExtension > EdgeDataFileExtensions
edgedata file extensions
static StringBijection< JunctionFileExtension > JunctionFileExtensions
juntion file extensions
static StringBijection< NeteditConfigFileExtension > NeteditConfigFileExtensions
netedit config file extensions
static StringBijection< NetFileExtension > NetFileExtensions
net file extensions
static StringBijection< EdgeTypeFileExtension > EdgeTypeFileExtensions
edge file extensions
static std::string replace(std::string str, const std::string &what, const std::string &by)
Replaces all occurrences of the second string by the third string within the first string.
static std::string transcode(const XMLCh *const data)
converts a 0-terminated XMLCh* array (usually UTF-16, stemming from Xerces) into std::string in UTF-8
static std::string transcodeToLocal(const std::string &utf8String)
convert a string from UTF-8 to the local codepage
DataViewOptions(GNEApplicationWindow *GNEApp)
default constructor
void hideDataViewOptionsMenuChecks()
hide all options menu checks
void buildDataViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
void updateShortcuts()
update shortcuts (alt+X)
void hideDemandViewOptionsMenuChecks()
hide all options menu checks
void buildDemandViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
DemandViewOptions(GNEApplicationWindow *GNEApp)
default constructor
void updateShortcuts()
update shortcuts (alt+X)
void hideNetworkViewOptionsMenuChecks()
hide all options menu checks
NetworkViewOptions(GNEApplicationWindow *GNEApp)
default constructor
void updateShortcuts()
update shortcuts (alt+X)
void buildNetworkViewOptionsMenuChecks(FXMenuPane *editMenu)
build menu checks
EditMenuCommands(GNEApplicationWindow *GNEApp)
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
GNEApplicationWindow * myGNEApp
pointer to current GNEApplicationWindow
void buildOpenSUMOMenuCommands(FXMenuPane *editMenu)
build open sumo menu commands
void buildFrontElementMenuCommand(FXMenuPane *editMenu)
build front element commands
void setJuPedSimView()
set JuPedSim view
void setDefaultView()
set default view
void buildEdgeTypeSection(FXMenuPane *menuPane)
build edge type section
FileMenuCommands(GNEApplicationWindow *GNEApp)
constructor
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
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 *GNEApp)
constructor
void buildLocateMenuCommands(FXMenuPane *locateMenu)
build menu commands
LocateMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void buildLockMenuCommands(FXMenuPane *editMenu)
build menu commands
void hideNetworkLockMenuCommands()
show network processing menu commands
void removeHotkeys()
remove hotkeys
void hideDemandLockMenuCommands()
show demand processing menu commands
void hideDataLockMenuCommands()
show data processing menu commands
void showDataLockMenuCommands()
show data processing menu commands
LockMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void showNetworkLockMenuCommands()
show network processing menu commands
FXHotKey parseHotKey(const FXwchar character)
Parse hot key from string.
void showDemandLockMenuCommands()
show demand processing menu commands
void unlockAll()
unlock all
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.
GNEApplicationWindow * myGNEApp
pointer to current GNEApplicationWindow
void buildModesMenuCommands(FXMenuPane *modesMenu)
build modes menu commands
ModesMenuCommands(GNEApplicationWindow *GNEApp)
constructor
DemandMenuCommands demandMenuCommands
Demand Menu Commands.
void setDefaultView(Supermode supermode)
set default view
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
void showNetworkProcessingMenuCommands()
show network processing menu commands
ProcessingMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void hideNetworkProcessingMenuCommands()
show network processing menu commands
void buildSupermodeCommands(FXMenuPane *editMenu)
build menu commands
void showSupermodeCommands()
show all menu commands
SupermodeCommands(GNEApplicationWindow *GNEApp)
constructor
void setJuPedSimView()
set JuPedSim view
void setDefaultView()
set default view
WindowsMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void buildWindowsMenuCommands(FXMenuPane *windowsMenu, FXStatusBar *statusbar, GUIMessageWindow *messageWindow)
build menu commands
static std::string openRouteFileDialog(FXWindow *window, bool save, bool multi=false)
open route file dialog
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 std::string openMeanDataDialog(FXWindow *window, bool save, bool multi=false)
open meandata filename dialog
static std::string openAdditionalFileDialog(FXWindow *window, bool save, bool multi=false)
open additional dialog
static bool toggleEditOptionsNetwork(GNEViewNet *viewNet, const MFXCheckableButton *menuCheck, FXObject *obj, FXSelector sel)
toggle edit options Network menu commands (called in GNEApplicationWindow::onCmdToggleEditOptions)
static std::string saveToolLog(FXWindow *window)
open tool file dialog
static std::string openOptionFileDialog(FXWindow *window, bool save)
open option dialog
static std::string openOSMFileDialog(FXWindow *window)
open OSM file dialog
static std::string openFileDialog(FXWindow *window, const std::string title, GUIIcon icon, const std::string &extensions, bool save, bool multi=false)
open filename dialog (general)
static std::string saveJoinedJunctionsFileDialog(FXWindow *window)
open joined junctions file dialog
static std::string openTLSFileDialog(FXWindow *window, bool save)
open TLS file dialog
static std::string openDataFileDialog(FXWindow *window, bool save, bool multi=false)
open data file dialog
static std::string openNeteditConfigFileDialog(FXWindow *window, bool save)
open netedit config file dialog
static std::string savePlainXMLFileDialog(FXWindow *window)
open plain xml file dialog
static std::string openXMLFileDialog(FXWindow *window, bool save, bool multi)
open xml file dialog
static std::string openSumoConfigFileDialog(FXWindow *window, bool save, bool multi=false)
open SUMO config file dialog
static std::string openEdgeTypeFileDialog(FXWindow *window, bool save)
open edgeType file dialog
static std::string openNetworkFileDialog(FXWindow *window, bool save, bool multi=false)
open netconvert file dialog
static std::string openNetconvertFileDialog(FXWindow *window)
open netconvert file dialog
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