28#include <netedit/templates.h>
35#include <xercesc/parsers/SAXParser.hpp>
36#include <xercesc/sax/AttributeList.hpp>
37#include <xercesc/sax/HandlerBase.hpp>
38#include <xercesc/sax/SAXException.hpp>
39#include <xercesc/sax/SAXParseException.hpp>
50 myApplicationWindow(applicationWindow) {
57 myPythonToolBarShellMenu =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
67 myPythonToolBarShellSuperModes =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
68 myPythonToolBarShellSaveElements =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
69 myPythonToolBarShellTimeFormat =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
70 myPythonToolBarShellNavigation =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
71 myPythonToolBarShellModes =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
72 myPythonToolBarShellIntervalBar =
new FXToolBarShell(myApplicationWindow,
GUIDesignToolBar);
93 saveElements->create();
97 intervalBar->create();
99 myPythonToolBarShellSuperModes->create();
100 myPythonToolBarShellSaveElements->create();
101 myPythonToolBarShellTimeFormat->create();
102 myPythonToolBarShellNavigation->create();
103 myPythonToolBarShellModes->create();
104 myPythonToolBarShellIntervalBar->create();
106 myApplicationWindow->getTopDock()->recalc();
120 delete myPythonToolBarShellSuperModes;
121 delete myPythonToolBarShellSaveElements;
122 delete myPythonToolBarShellTimeFormat;
123 delete myPythonToolBarShellNavigation;
124 delete myPythonToolBarShellModes;
125 delete myPythonToolBarShellIntervalBar;
127 myApplicationWindow->getTopDock()->recalc();
135 myRecentNetworks(applicationWindow->getApp(),
TL(
"nets")),
136 myRecentConfigs(applicationWindow->getApp(),
TL(
"configs")),
137 myApplicationWindow(applicationWindow) {
154 new FXMenuSeparator(fileMenuRecentNetworkFiles);
158 myRecentNetworks.setTarget(myApplicationWindow);
160 new FXMenuCascade(fileMenu,
TL(
"Recent Networks"),
nullptr, fileMenuRecentNetworkFiles);
177 new FXMenuSeparator(fileMenuRecentConfigFiles);
181 myRecentConfigs.setTarget(myApplicationWindow);
183 new FXMenuCascade(fileMenu,
TL(
"Recent Configs"),
nullptr, fileMenuRecentConfigFiles);
191 myApplicationWindow(applicationWindow) {
197 FXMenuPane* fileMenuSumoConfig, FXMenuPane* fileMenuTLS, FXMenuPane* fileMenuEdgeTypes, FXMenuPane* fileMenuAdditionals,
198 FXMenuPane* fileMenuDemandElements, FXMenuPane* fileMenuDataElements, FXMenuPane* fileMenuMeanDataElements) {
201 TL(
"New Network"),
"Ctrl+N",
TL(
"Create a new network."),
205 TL(
"New Window"),
"Ctrl+Shift+N",
TL(
"Open a new netedit window."),
209 TL(
"Generate Network"),
"",
TL(
"Create network using netgenerate."),
213 new FXMenuSeparator(fileMenu);
216 TL(
"Load Netedit config..."),
"Ctrl+E",
TL(
"Load a netedit configuration file."),
220 TL(
"Load Sumo config..."),
"Ctrl+M",
TL(
"Load a SUMO configuration file."),
224 new FXMenuSeparator(fileMenu);
227 TL(
"Open Network..."),
"Ctrl+O",
TL(
"Open a SUMO network."),
231 TL(
"Open Netconvert Configuration..."),
"Ctrl+Shift+O",
TL(
"Open a configuration file with NETCONVERT options."),
235 TL(
"Import Foreign Network..."),
"",
TL(
"Import a foreign network such as OSM."),
239 new FXMenuSeparator(fileMenu);
242 TL(
"Save Network"),
"Ctrl+S",
TL(
"Save the network."),
246 TL(
"Save Network As..."),
"",
TL(
"Save the network to another file."),
250 TL(
"Save Plain XML..."),
"Ctrl+L",
TL(
"Save a plain XML representation of the network."),
254 TL(
"Save Joined Junctions..."),
"",
TL(
"Save log of joined junctions (allows reproduction of joins)."),
258 new FXMenuSeparator(fileMenu);
261 TL(
"Reload"),
"Ctrl+R",
TL(
"Reload the network."),
265 TL(
"Reload Network"),
"",
TL(
"Reload the network."),
268 new FXMenuSeparator(fileMenu);
271 buildNeteditConfigSection(fileMenuNeteditConfig);
275 buildSumoConfigSection(fileMenuSumoConfig);
279 buildTrafficLightSection(fileMenuTLS);
283 buildEdgeTypeSection(fileMenuEdgeTypes);
287 buildAdditionalSection(fileMenuAdditionals);
291 buildDemandSection(fileMenuDemandElements);
295 buildDataSection(fileMenuDataElements);
299 buildMeanDataSection(fileMenuMeanDataElements);
303 new FXMenuSeparator(fileMenu);
305 TL(
"Allow undoing element loading"),
TL(
"Allow to undo loading of elements (Slow if a lot of elements are loaded)"),
308 menuCheckAllowUndoRedoLoading->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry(
"NETEDIT",
"AllowUndoRedoLoading",
true));
311 new FXMenuSeparator(fileMenu);
313 TL(
"Close"),
"Ctrl+W",
TL(
"Close the network."),
320 mySumoConfigMenuCascade->enable();
321 myNeteditConfigMenuCascade->enable();
322 myTLSMenuCascade->enable();
323 myEdgeTypesMenuCascade->enable();
324 myAdditionalMenuCascade->enable();
325 myDemandMenuCascade->enable();
326 myDataMenuCascade->enable();
327 myMeanDataMenuCascade->enable();
333 mySumoConfigMenuCascade->disable();
334 myNeteditConfigMenuCascade->disable();
335 myTLSMenuCascade->disable();
336 myEdgeTypesMenuCascade->disable();
337 myAdditionalMenuCascade->disable();
338 myDemandMenuCascade->disable();
339 myDataMenuCascade->disable();
340 myMeanDataMenuCascade->disable();
346 myTLSMenuCascade->show();
347 myDataMenuCascade->show();
348 myMeanDataMenuCascade->show();
354 myTLSMenuCascade->hide();
355 myDataMenuCascade->hide();
356 myMeanDataMenuCascade->hide();
363 TL(
"Save Netedit Config"),
"Ctrl+Shift+E",
TL(
"Save netedit configuration file."),
367 TL(
"Save Netedit Config As..."),
"",
TL(
"Save netedit configuration in a new file."),
370 new FXMenuSeparator(menuPane);
373 TL(
"Reload Netedit Config"),
"",
TL(
"Reload netedit configuration."),
381 TL(
"Save Sumo Config"),
"Ctrl+Shift+S",
TL(
"Save sumo configuration file."),
385 TL(
"Save Sumo Config As..."),
"",
TL(
"Save sumo configuration in a new file."),
388 new FXMenuSeparator(menuPane);
391 TL(
"Reload Sumo Config"),
"",
TL(
"Reload sumo configuration."),
399 TL(
"Load TLS Programs..."),
"Ctrl+K",
TL(
"Load programs for traffic lights in the current net."),
402 new FXMenuSeparator(menuPane);
405 TL(
"Save TLS Programs"),
"Ctrl+Shift+K",
TL(
"Save all traffic light programs of the current network."),
409 TL(
"Save TLS Programs As..."),
"",
TL(
"Save all traffic light programs of the current network to another file."),
412 new FXMenuSeparator(menuPane);
415 TL(
"Reload TLS Programs"),
"",
TL(
"Reload TLS Programs."),
423 TL(
"Load Edge Types..."),
"Ctrl+H",
TL(
"Load edge types in the current net."),
426 new FXMenuSeparator(menuPane);
429 TL(
"Save Edge Types"),
"Ctrl+Shift+H",
TL(
"Save edge types of the current net."),
433 TL(
"Save Edge Types As..."),
"",
TL(
"Save edge types of the current net to another file."),
436 new FXMenuSeparator(menuPane);
439 TL(
"Reload edge types"),
"",
TL(
"Reload edge types."),
447 TL(
"Load Additionals..."),
"Ctrl+A",
TL(
"Load additionals and shapes."),
450 new FXMenuSeparator(menuPane);
453 TL(
"Save Additionals"),
"Ctrl+Shift+A",
TL(
"Save additionals and shapes."),
457 TL(
"Save Additionals unified as..."),
"",
TL(
"Save all additional elements to the chosen file."),
461 TL(
"Save JuPedSim Elements as..."),
"",
TL(
"Save JuPedSim elements in a separated file."),
464 new FXMenuSeparator(menuPane);
467 TL(
"Reload Additionals"),
"",
TL(
"Reload additionals."),
475 TL(
"Load Demand Elements..."),
"Ctrl+D",
TL(
"Load demand elements."),
478 new FXMenuSeparator(menuPane);
481 TL(
"Save Demand Elements"),
"Ctrl+Shift+D",
TL(
"Save demand elements."),
485 TL(
"Save Demand Elements unified as..."),
"",
TL(
"Save all demand elements to the chosen file"),
488 new FXMenuSeparator(menuPane);
491 TL(
"Reload Demand Elements"),
"",
TL(
"Reload demand elements."),
499 TL(
"Load Data Elements..."),
"Ctrl+B",
TL(
"Load data elements."),
502 new FXMenuSeparator(menuPane);
505 TL(
"Save Data Elements"),
"Ctrl+Shift+B",
TL(
"Save data elements."),
509 TL(
"Save Data Elements unified as..."),
"",
TL(
"Save all data elements to the chosen file."),
512 new FXMenuSeparator(menuPane);
515 TL(
"Reload Data Elements"),
"",
TL(
"Reload data elements."),
523 TL(
"Load MeanDatas..."),
"",
TL(
"Load meanDatas and shapes."),
526 new FXMenuSeparator(menuPane);
529 TL(
"Save MeanDatas"),
"",
TL(
"Save meanDatas and shapes."),
533 TL(
"Save MeanDatas unified as..."),
"Ctrl+Shift+M",
TL(
"Save all meanData elements to the chosen file."),
536 new FXMenuSeparator(menuPane);
539 TL(
"Reload MeanDatas"),
"",
TL(
"Reload meanDatas."),
548 myModesMenuCommandsParent(modesMenuCommandsParent) {
556 TL(
"&Inspect"),
"I",
TL(
"Inspect elements and change their attributes."),
559 TL(
"&Delete"),
"D",
TL(
"Delete elements."),
562 TL(
"&Select"),
"S",
TL(
"Select elements."),
571 myModesMenuCommandsParent(modesMenuCommandsParent) {
577 createEdgeMode->show();
580 prohibitionMode->show();
582 additionalMode->show();
583 crossingMode->show();
593 createEdgeMode->hide();
596 prohibitionMode->hide();
598 additionalMode->hide();
599 crossingMode->hide();
611 TL(
"&Move"),
"M",
TL(
"Move elements."),
615 TL(
"&Edge"),
"E",
TL(
"Create junction and edges."),
619 TL(
"&Traffic light"),
"T",
TL(
"Modes traffic lights over junctions."),
623 TL(
"&Connection"),
"C",
TL(
"Modes connections between lanes."),
627 TL(
"Pro&hibition"),
"H",
TL(
"Modes connection prohibitions."),
631 TL(
"C&rossing"),
"R",
TL(
"Create crossings between edges."),
635 TL(
"&Additional"),
"A",
TL(
"Create additional elements."),
639 TL(
"&Wire"),
"W",
TL(
"Create wires."),
643 TL(
"TA&Z"),
"Z",
TL(
"Create Traffic Assignment Zones."),
647 TL(
"&POI-Poly"),
"P",
TL(
"Create Points-Of-Interest and polygons."),
651 TL(
"Deca&ls"),
"U",
TL(
"Create decals."),
661 myModesMenuCommandsParent(modesMenuCommandsParent) {
669 routeDistributionMode->show();
672 typeDistributionMode->show();
675 personPlanMode->show();
676 containerMode->show();
677 containerPlanMode->show();
685 routeDistributionMode->hide();
688 typeDistributionMode->hide();
691 personPlanMode->hide();
692 containerMode->hide();
693 containerPlanMode->hide();
701 TL(
"&Move"),
"M",
TL(
"Move elements."),
704 TL(
"Route"),
"R",
TL(
"Create Routes."),
707 TL(
"Route distribution"),
"W",
TL(
"Create and edit route distributions."),
711 TL(
"Vehicle"),
"V",
TL(
"Create vehicles."),
714 TL(
"Type"),
"T",
TL(
"Create types (vehicles, person and containers)."),
717 TL(
"TypeDistribution"),
"U",
TL(
"Create and edit type distributions."),
720 TL(
"Stop"),
"A",
TL(
"Create stops."),
723 TL(
"Person"),
"P",
TL(
"Create persons."),
726 TL(
"Person plan"),
"L",
TL(
"Create person plans."),
729 TL(
"Container"),
"C",
TL(
"Create containers."),
732 TL(
"Container plan"),
"H",
TL(
"Create container plans."),
741 myModesMenuCommandsParent(modesMenuCommandsParent) {
767 TL(
"&EdgeData"),
"E",
TL(
"Create edgeData elements."),
770 TL(
"Edge&Relation"),
"R",
TL(
"Create edgeRelation elements."),
773 TL(
"TA&ZRelation"),
"Z",
TL(
"Create TAZRelation elements."),
776 TL(
"&MeanData"),
"M",
TL(
"Create MeanData edge/lanes."),
786#pragma warning(disable: 4355)
802 commonMenuCommands.buildCommonMenuCommands(modesMenu);
804 networkMenuCommands.buildNetworkMenuCommands(modesMenu);
805 networkMenuCommands.hideNetworkMenuCommands();
807 demandMenuCommands.buildDemandMenuCommands(modesMenu);
808 demandMenuCommands.hideDemandMenuCommands();
810 dataMenuCommands.buildDataMenuCommands(modesMenu);
811 dataMenuCommands.hideDataMenuCommands();
818 networkMenuCommands.showNetworkMenuCommands();
820 demandMenuCommands.showDemandMenuCommands();
822 dataMenuCommands.showDataMenuCommands();
830 networkMenuCommands.connectMode->hide();
831 networkMenuCommands.TLSMode->hide();
832 networkMenuCommands.prohibitionMode->hide();
833 networkMenuCommands.wireMode->hide();
834 networkMenuCommands.decalMode->hide();
836 demandMenuCommands.moveMode->hide();
837 demandMenuCommands.vehicleMode->hide();
838 demandMenuCommands.stopMode->hide();
839 demandMenuCommands.containerMode->hide();
840 demandMenuCommands.containerPlanMode->hide();
842 dataMenuCommands.hideDataMenuCommands();
851 myApplicationWindow(applicationWindow) {
859 TL(
"Show grid"),
"Ctrl+G or Alt+1",
"",
864 TL(
"Hide junction shape"),
"Ctrl+J or Alt+2",
"",
869 TL(
"Draw vehicles spread in lane or in depart position"),
"Alt+3",
"",
874 TL(
"Show demand elements"),
"Alt+4",
"",
879 TL(
"Clicking should target lanes"),
"Alt+5",
"",
884 TL(
"Show connections over junctions"),
"Alt+6",
"",
889 TL(
"Hide connections"),
"Alt+7",
"",
894 TL(
"Show sub-additional elements"),
"Alt+8",
"",
899 TL(
"Show TAZ elements"),
"Alt+9",
"",
904 TL(
"Selecting multiple edges automatically select their junctions"),
"Alt+10",
"",
909 TL(
"Clicking should apply state changes to all phases of TLS plan"),
"Alt+5",
"",
914 TL(
"Don't ask for confirmation before merging junction"),
"Alt+5",
"",
919 TL(
"Create consecutive edges"),
"Alt+5",
"",
924 TL(
"Create an edge in the opposite direction"),
"Alt+6",
"",
929 TL(
"Apply mouse movement to elevation"),
"Alt+7",
"",
934 TL(
"Show bubbles over junctions shapes"),
"Alt+8",
"",
939 separator =
new FXMenuSeparator(editMenu);
945 menuCheckToggleGrid->hide();
946 menuCheckToggleDrawJunctionShape->hide();
947 menuCheckDrawSpreadVehicles->hide();
948 menuCheckShowDemandElements->hide();
949 menuCheckSelectEdges->hide();
950 menuCheckShowConnections->hide();
951 menuCheckHideConnections->hide();
952 menuCheckShowAdditionalSubElements->hide();
953 menuCheckShowTAZElements->hide();
954 menuCheckExtendSelection->hide();
955 menuCheckChangeAllPhases->hide();
956 menuCheckMergeAutomatically->hide();
957 menuCheckShowJunctionBubble->hide();
958 menuCheckMoveElevation->hide();
959 menuCheckChainEdges->hide();
960 menuCheckAutoOppositeEdge->hide();
969 if (menuCheckDrawSpreadVehicles->shown()) {
970 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
973 if (menuCheckDrawSpreadVehicles->shown()) {
974 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
977 if (menuCheckShowDemandElements->shown()) {
978 menuCheckShowDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
981 if (menuCheckSelectEdges->shown()) {
982 menuCheckSelectEdges->setAccelText((
"Alt+" +
toString(index)).c_str());
985 if (menuCheckShowConnections->shown()) {
986 menuCheckShowConnections->setAccelText((
"Alt+" +
toString(index)).c_str());
989 if (menuCheckHideConnections->shown()) {
990 menuCheckHideConnections->setAccelText((
"Alt+" +
toString(index)).c_str());
993 if (menuCheckShowAdditionalSubElements->shown()) {
994 menuCheckShowAdditionalSubElements->setAccelText((
"Alt+" +
toString(index)).c_str());
997 if (menuCheckShowTAZElements->shown()) {
998 menuCheckShowTAZElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1001 if (menuCheckExtendSelection->shown()) {
1002 menuCheckExtendSelection->setAccelText((
"Alt+" +
toString(index)).c_str());
1005 if (menuCheckChangeAllPhases->shown()) {
1006 menuCheckChangeAllPhases->setAccelText((
"Alt+" +
toString(index)).c_str());
1009 if (menuCheckMergeAutomatically->shown()) {
1010 menuCheckMergeAutomatically->setAccelText((
"Alt+" +
toString(index)).c_str());
1013 if (menuCheckChainEdges->shown()) {
1014 menuCheckChainEdges->setAccelText((
"Alt+" +
toString(index)).c_str());
1017 if (menuCheckAutoOppositeEdge->shown()) {
1018 menuCheckAutoOppositeEdge->setAccelText((
"Alt+" +
toString(index)).c_str());
1021 if (menuCheckMoveElevation->shown()) {
1022 menuCheckMoveElevation->setAccelText((
"Alt+" +
toString(index)).c_str());
1025 if (menuCheckShowJunctionBubble->shown()) {
1026 menuCheckShowJunctionBubble->setAccelText((
"Alt+" +
toString(index)).c_str());
1044 TL(
"Show grid"),
"Ctrl+G or Alt+1",
"",
1049 TL(
"Hide junction shape"),
"Ctrl+J or Alt+2",
"",
1054 TL(
"Draw vehicles spread/depart position"),
"Alt+3",
"",
1059 TL(
"Show shapes"),
"Alt+4",
"",
1064 TL(
"Show all trips"),
"Alt+5",
"",
1069 TL(
"Show all person plans"),
"Alt+6",
"",
1074 TL(
"Lock selected person"),
"Alt+7",
"",
1079 TL(
"Show all container plans"),
"Alt+6",
"",
1084 TL(
"Lock selected container"),
"Alt+7",
"",
1089 TL(
"Show non-inspected demand elements"),
"Alt+8",
"",
1094 TL(
"Show number of overlapped routes"),
"Alt+9",
"",
1099 separator =
new FXMenuSeparator(editMenu);
1105 menuCheckToggleGrid->hide();
1106 menuCheckToggleDrawJunctionShape->hide();
1107 menuCheckDrawSpreadVehicles->hide();
1108 menuCheckHideShapes->hide();
1109 menuCheckShowAllTrips->hide();
1110 menuCheckHideNonInspectedDemandElements->hide();
1111 menuCheckShowOverlappedRoutes->hide();
1112 menuCheckShowAllPersonPlans->hide();
1113 menuCheckLockPerson->hide();
1114 menuCheckShowAllContainerPlans->hide();
1115 menuCheckLockContainer->hide();
1124 if (menuCheckDrawSpreadVehicles->shown()) {
1125 menuCheckDrawSpreadVehicles->setAccelText((
"Alt+" +
toString(index)).c_str());
1128 if (menuCheckHideShapes->shown()) {
1129 menuCheckHideShapes->setAccelText((
"Alt+" +
toString(index)).c_str());
1132 if (menuCheckShowAllTrips->shown()) {
1133 menuCheckShowAllTrips->setAccelText((
"Alt+" +
toString(index)).c_str());
1136 if (menuCheckHideNonInspectedDemandElements->shown()) {
1137 menuCheckHideNonInspectedDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1140 if (menuCheckShowOverlappedRoutes->shown()) {
1141 menuCheckShowOverlappedRoutes->setAccelText((
"Alt+" +
toString(index)).c_str());
1144 if (menuCheckShowAllPersonPlans->shown()) {
1145 menuCheckShowAllPersonPlans->setAccelText((
"Alt+" +
toString(index)).c_str());
1148 if (menuCheckLockPerson->shown()) {
1149 menuCheckLockPerson->setAccelText((
"Alt+" +
toString(index)).c_str());
1152 if (menuCheckShowAllContainerPlans->shown()) {
1153 menuCheckShowAllContainerPlans->setAccelText((
"Alt+" +
toString(index)).c_str());
1156 if (menuCheckLockContainer->shown()) {
1157 menuCheckLockContainer->setAccelText((
"Alt+" +
toString(index)).c_str());
1175 TL(
"Hide junction shape"),
"Ctrl+J or Alt+1",
"",
1180 TL(
"Show additionals"),
"Alt+2",
"",
1185 TL(
"Show shapes"),
"Alt+3",
"",
1190 TL(
"Show demand elements"),
"Alt+4",
"",
1195 TL(
"Draw TAZRel from center"),
"Alt+5",
"",
1200 TL(
"Draw TAZ fill"),
"Alt+6",
"",
1205 TL(
"Only draw TAZRel from"),
"Alt+6",
"",
1210 TL(
"Only draw TAZRel to"),
"Alt+7",
"",
1214 separator =
new FXMenuSeparator(editMenu);
1220 menuCheckToggleDrawJunctionShape->hide();
1221 menuCheckShowAdditionals->hide();
1222 menuCheckShowShapes->hide();
1223 menuCheckShowDemandElements->hide();
1224 menuCheckToggleTAZRelDrawing->hide();
1225 menuCheckToggleTAZDrawFill->hide();
1226 menuCheckToggleTAZRelOnlyFrom->hide();
1227 menuCheckToggleTAZRelOnlyTo->hide();
1236 if (menuCheckShowAdditionals->shown()) {
1237 menuCheckShowAdditionals->setAccelText((
"Alt+" +
toString(index)).c_str());
1240 if (menuCheckShowShapes->shown()) {
1241 menuCheckShowShapes->setAccelText((
"Alt+" +
toString(index)).c_str());
1244 if (menuCheckShowDemandElements->shown()) {
1245 menuCheckShowDemandElements->setAccelText((
"Alt+" +
toString(index)).c_str());
1248 if (menuCheckToggleTAZRelDrawing->shown()) {
1249 menuCheckToggleTAZRelDrawing->setAccelText((
"Alt+" +
toString(index)).c_str());
1252 if (menuCheckToggleTAZDrawFill->shown()) {
1253 menuCheckToggleTAZDrawFill->setAccelText((
"Alt+" +
toString(index)).c_str());
1256 if (menuCheckToggleTAZRelOnlyFrom->shown()) {
1257 menuCheckToggleTAZRelOnlyFrom->setAccelText((
"Alt+" +
toString(index)).c_str());
1260 if (menuCheckToggleTAZRelOnlyTo->shown()) {
1261 menuCheckToggleTAZRelOnlyTo->setAccelText((
"Alt+" +
toString(index)).c_str());
1282 TL(
"Undo"),
"Ctrl+Z",
TL(
"Undo the last change."),
1285 TL(
"Redo"),
"Ctrl+Y",
TL(
"Redo the last change."),
1288 TL(
"Show undo/redo history"),
"",
TL(
"Open undo/redo history dialog."),
1292 TL(
"Allow undo-redo"),
"",
1294 menuCheckAllowUndoRedo->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry(
"NETEDIT",
"AllowUndoRedo",
true));
1302 TL(
"Edit Visualisation"),
"F9",
TL(
"Opens a dialog for editing visualization settings."),
1305 TL(
"Edit Viewport"),
"Ctrl+I",
TL(
"Opens a dialog for editing viewing area, zoom and rotation."),
1314 TL(
"Clear front element"),
"F11",
TL(
"Clear current front element"),
1323 TL(
"Load additionals in sumo-gui"),
TL(
"Load additionals in sumo-gui."),
1325 loadAdditionalsInSUMOGUI->setCheck(TRUE);
1327 TL(
"Load demand in sumo-gui"),
TL(
"Load demand in sumo-gui."),
1329 loadDemandInSUMOGUI->setCheck(TRUE);
1331 TL(
"Open in sumo-gui"),
"Ctrl+T",
TL(
"Opens the sumo-gui application with the current network."),
1340 myApplicationWindow(applicationWindow) {
1348 TL(
"&Junctions"),
"",
"",
1353 TL(
"&Edges"),
"",
"",
1358 TL(
"&Lanes"),
"",
"",
1363 TL(
"&Connections"),
"",
"",
1368 TL(
"C&rossings"),
"",
"",
1373 TL(
"Walkin&gAreas"),
"",
"",
1378 TL(
"&Additionals"),
"",
"",
1383 TL(
"&TAZs"),
"",
"",
1388 TL(
"&Wires"),
"",
"",
1393 TL(
"&Polygons"),
"",
"",
1398 TL(
"P&OIs"),
"",
"",
1403 TL(
"WalkableAreas"),
"",
"",
1408 TL(
"Obstacles"),
"",
"",
1413 TL(
"&Routes"),
"",
"",
1418 TL(
"&Vehicles"),
"",
"",
1423 TL(
"&Persons"),
"",
"",
1428 TL(
"Person&Trips"),
"",
"",
1433 TL(
"&Walks"),
"",
"",
1438 TL(
"Ri&des"),
"",
"",
1443 TL(
"&Containers"),
"",
"",
1448 TL(
"Tra&nsports"),
"",
"",
1453 TL(
"Trans&hips"),
"",
"",
1458 TL(
"Stop&s"),
"",
"",
1463 TL(
"&EdgeDatas"),
"",
"",
1468 TL(
"E&dgeRelDatas"),
"",
"",
1473 TL(
"Edge&TAZRel"),
"",
"",
1478 new FXMenuSeparator(fileMenu);
1481 TL(
"Lock selected elements"),
"",
TL(
"selected elements"),
1485 new FXMenuSeparator(fileMenu);
1488 TL(
"Lock all elements"),
"",
TL(
"all elements"),
1492 TL(
"Unlock all elements"),
"",
TL(
"Unlock all elements"),
1500 menuCheckLockJunctions->remHotKey(parseHotKey(
'j'));
1501 menuCheckLockEdges->remHotKey(parseHotKey(
'e'));
1502 menuCheckLockLanes->remHotKey(parseHotKey(
'l'));
1503 menuCheckLockConnections->remHotKey(parseHotKey(
'c'));
1504 menuCheckLockCrossings->remHotKey(parseHotKey(
'r'));
1505 menuCheckLockWalkingAreas->remHotKey(parseHotKey(
'g'));
1506 menuCheckLockAdditionals->remHotKey(parseHotKey(
'a'));
1507 menuCheckLockTAZs->remHotKey(parseHotKey(
't'));
1508 menuCheckLockWires->remHotKey(parseHotKey(
'w'));
1509 menuCheckLockPolygons->remHotKey(parseHotKey(
'p'));
1510 menuCheckLockPOIs->remHotKey(parseHotKey(
'o'));
1511 menuCheckLockJpsWalkableAreas->remHotKey(parseHotKey(
'n'));
1512 menuCheckLockJpsObstacles->remHotKey(parseHotKey(
'b'));
1514 menuCheckLockRoutes->remHotKey(parseHotKey(
'r'));
1515 menuCheckLockVehicles->remHotKey(parseHotKey(
'v'));
1516 menuCheckLockPersons->remHotKey(parseHotKey(
'p'));
1517 menuCheckLockPersonTrips->remHotKey(parseHotKey(
't'));
1518 menuCheckLockWalks->remHotKey(parseHotKey(
'w'));
1519 menuCheckLockRides->remHotKey(parseHotKey(
'd'));
1520 menuCheckLockContainers->remHotKey(parseHotKey(
'c'));
1521 menuCheckLockTransports->remHotKey(parseHotKey(
'n'));
1522 menuCheckLockTranships->remHotKey(parseHotKey(
'h'));
1523 menuCheckLockStops->remHotKey(parseHotKey(
's'));
1525 menuCheckLockEdgeDatas->remHotKey(parseHotKey(
'e'));
1526 menuCheckLockEdgeRelDatas->remHotKey(parseHotKey(
'd'));
1527 menuCheckLockEdgeTAZRels->remHotKey(parseHotKey(
't'));
1533 menuCheckLockJunctions->enable();
1534 menuCheckLockEdges->enable();
1535 menuCheckLockLanes->enable();
1536 menuCheckLockConnections->enable();
1537 menuCheckLockCrossings->enable();
1538 menuCheckLockWalkingAreas->enable();
1539 menuCheckLockAdditionals->enable();
1540 menuCheckLockTAZs->enable();
1541 menuCheckLockWires->enable();
1542 menuCheckLockPolygons->enable();
1543 menuCheckLockPOIs->enable();
1544 menuCheckLockJpsWalkableAreas->enable();
1545 menuCheckLockJpsObstacles->enable();
1547 menuCheckLockJunctions->addHotKey(parseHotKey(
'j'));
1548 menuCheckLockEdges->addHotKey(parseHotKey(
'e'));
1549 menuCheckLockLanes->addHotKey(parseHotKey(
'l'));
1550 menuCheckLockConnections->addHotKey(parseHotKey(
'c'));
1551 menuCheckLockCrossings->addHotKey(parseHotKey(
'r'));
1552 menuCheckLockWalkingAreas->addHotKey(parseHotKey(
'g'));
1553 menuCheckLockAdditionals->addHotKey(parseHotKey(
'a'));
1554 menuCheckLockTAZs->addHotKey(parseHotKey(
't'));
1555 menuCheckLockWires->addHotKey(parseHotKey(
'w'));
1556 menuCheckLockPolygons->addHotKey(parseHotKey(
'p'));
1557 menuCheckLockPOIs->addHotKey(parseHotKey(
'o'));
1558 menuCheckLockJpsWalkableAreas->addHotKey(parseHotKey(
'n'));
1559 menuCheckLockJpsObstacles->addHotKey(parseHotKey(
'b'));
1561 menuCheckLockJunctions->show();
1562 menuCheckLockEdges->show();
1563 menuCheckLockLanes->show();
1564 menuCheckLockConnections->show();
1565 menuCheckLockCrossings->show();
1566 menuCheckLockWalkingAreas->show();
1567 menuCheckLockAdditionals->show();
1568 menuCheckLockTAZs->show();
1569 menuCheckLockWires->show();
1570 menuCheckLockPolygons->show();
1571 menuCheckLockPOIs->show();
1572 menuCheckLockJpsWalkableAreas->show();
1573 menuCheckLockJpsObstacles->show();
1580 menuCheckLockJunctions->disable();
1581 menuCheckLockEdges->disable();
1582 menuCheckLockLanes->disable();
1583 menuCheckLockConnections->disable();
1584 menuCheckLockCrossings->disable();
1585 menuCheckLockWalkingAreas->disable();
1586 menuCheckLockAdditionals->disable();
1587 menuCheckLockTAZs->disable();
1588 menuCheckLockPolygons->disable();
1589 menuCheckLockPOIs->disable();
1590 menuCheckLockJpsWalkableAreas->disable();
1591 menuCheckLockJpsObstacles->disable();
1593 menuCheckLockJunctions->hide();
1594 menuCheckLockEdges->hide();
1595 menuCheckLockLanes->hide();
1596 menuCheckLockConnections->hide();
1597 menuCheckLockCrossings->hide();
1598 menuCheckLockWalkingAreas->hide();
1599 menuCheckLockAdditionals->hide();
1600 menuCheckLockTAZs->hide();
1601 menuCheckLockWires->hide();
1602 menuCheckLockPolygons->hide();
1603 menuCheckLockPOIs->hide();
1604 menuCheckLockJpsWalkableAreas->hide();
1605 menuCheckLockJpsObstacles->hide();
1612 menuCheckLockRoutes->enable();
1613 menuCheckLockVehicles->enable();
1614 menuCheckLockPersons->enable();
1615 menuCheckLockPersonTrips->enable();
1616 menuCheckLockWalks->enable();
1617 menuCheckLockRides->enable();
1618 menuCheckLockContainers->enable();
1619 menuCheckLockTransports->enable();
1620 menuCheckLockTranships->enable();
1621 menuCheckLockStops->enable();
1623 menuCheckLockRoutes->addHotKey(parseHotKey(
'r'));
1624 menuCheckLockVehicles->addHotKey(parseHotKey(
'v'));
1625 menuCheckLockPersons->addHotKey(parseHotKey(
'p'));
1626 menuCheckLockPersonTrips->addHotKey(parseHotKey(
't'));
1627 menuCheckLockWalks->addHotKey(parseHotKey(
'w'));
1628 menuCheckLockRides->addHotKey(parseHotKey(
'd'));
1629 menuCheckLockContainers->addHotKey(parseHotKey(
'c'));
1630 menuCheckLockTransports->addHotKey(parseHotKey(
'n'));
1631 menuCheckLockTranships->addHotKey(parseHotKey(
'h'));
1632 menuCheckLockStops->addHotKey(parseHotKey(
's'));
1634 menuCheckLockRoutes->show();
1635 menuCheckLockVehicles->show();
1636 menuCheckLockPersons->show();
1637 menuCheckLockPersonTrips->show();
1638 menuCheckLockWalks->show();
1639 menuCheckLockRides->show();
1640 menuCheckLockContainers->show();
1641 menuCheckLockTransports->show();
1642 menuCheckLockTranships->show();
1643 menuCheckLockStops->show();
1650 menuCheckLockRoutes->disable();
1651 menuCheckLockVehicles->disable();
1652 menuCheckLockPersons->disable();
1653 menuCheckLockPersonTrips->disable();
1654 menuCheckLockWalks->disable();
1655 menuCheckLockRides->disable();
1656 menuCheckLockContainers->disable();
1657 menuCheckLockTransports->disable();
1658 menuCheckLockTranships->disable();
1659 menuCheckLockStops->disable();
1661 menuCheckLockRoutes->hide();
1662 menuCheckLockVehicles->hide();
1663 menuCheckLockPersons->hide();
1664 menuCheckLockPersonTrips->hide();
1665 menuCheckLockWalks->hide();
1666 menuCheckLockRides->hide();
1667 menuCheckLockContainers->hide();
1668 menuCheckLockTransports->hide();
1669 menuCheckLockTranships->hide();
1670 menuCheckLockStops->hide();
1677 menuCheckLockEdgeDatas->enable();
1678 menuCheckLockEdgeRelDatas->enable();
1679 menuCheckLockEdgeTAZRels->enable();
1681 menuCheckLockEdgeDatas->addHotKey(parseHotKey(
'e'));
1682 menuCheckLockEdgeRelDatas->addHotKey(parseHotKey(
'd'));
1683 menuCheckLockEdgeTAZRels->addHotKey(parseHotKey(
't'));
1685 menuCheckLockEdgeDatas->show();
1686 menuCheckLockEdgeRelDatas->show();
1687 menuCheckLockEdgeTAZRels->show();
1694 menuCheckLockEdgeDatas->disable();
1695 menuCheckLockEdgeRelDatas->disable();
1696 menuCheckLockEdgeTAZRels->disable();
1698 menuCheckLockEdgeDatas->hide();
1699 menuCheckLockEdgeRelDatas->hide();
1700 menuCheckLockEdgeTAZRels->hide();
1706 menuCheckLockJunctions->setCheck(TRUE);
1707 menuCheckLockEdges->setCheck(TRUE);
1708 menuCheckLockLanes->setCheck(TRUE);
1709 menuCheckLockConnections->setCheck(TRUE);
1710 menuCheckLockCrossings->setCheck(TRUE);
1711 menuCheckLockWalkingAreas->setCheck(TRUE);
1712 menuCheckLockAdditionals->setCheck(TRUE);
1713 menuCheckLockTAZs->setCheck(TRUE);
1714 menuCheckLockWires->setCheck(TRUE);
1715 menuCheckLockPolygons->setCheck(TRUE);
1716 menuCheckLockPOIs->setCheck(TRUE);
1717 menuCheckLockJpsWalkableAreas->setCheck(TRUE);
1718 menuCheckLockJpsObstacles->setCheck(TRUE);
1719 menuCheckLockRoutes->setCheck(TRUE);
1720 menuCheckLockVehicles->setCheck(TRUE);
1721 menuCheckLockPersons->setCheck(TRUE);
1722 menuCheckLockPersonTrips->setCheck(TRUE);
1723 menuCheckLockWalks->setCheck(TRUE);
1724 menuCheckLockRides->setCheck(TRUE);
1725 menuCheckLockContainers->setCheck(TRUE);
1726 menuCheckLockTransports->setCheck(TRUE);
1727 menuCheckLockTranships->setCheck(TRUE);
1728 menuCheckLockStops->setCheck(TRUE);
1729 menuCheckLockEdgeDatas->setCheck(TRUE);
1730 menuCheckLockEdgeRelDatas->setCheck(TRUE);
1731 menuCheckLockEdgeTAZRels->setCheck(TRUE);
1737 menuCheckLockJunctions->setCheck(FALSE);
1738 menuCheckLockEdges->setCheck(FALSE);
1739 menuCheckLockLanes->setCheck(FALSE);
1740 menuCheckLockConnections->setCheck(FALSE);
1741 menuCheckLockCrossings->setCheck(FALSE);
1742 menuCheckLockWalkingAreas->setCheck(FALSE);
1743 menuCheckLockAdditionals->setCheck(FALSE);
1744 menuCheckLockTAZs->setCheck(FALSE);
1745 menuCheckLockWires->setCheck(FALSE);
1746 menuCheckLockPolygons->setCheck(FALSE);
1747 menuCheckLockPOIs->setCheck(FALSE);
1748 menuCheckLockJpsWalkableAreas->setCheck(FALSE);
1749 menuCheckLockJpsObstacles->setCheck(FALSE);
1750 menuCheckLockRoutes->setCheck(FALSE);
1751 menuCheckLockVehicles->setCheck(FALSE);
1752 menuCheckLockPersons->setCheck(FALSE);
1753 menuCheckLockPersonTrips->setCheck(FALSE);
1754 menuCheckLockWalks->setCheck(FALSE);
1755 menuCheckLockRides->setCheck(FALSE);
1756 menuCheckLockContainers->setCheck(FALSE);
1757 menuCheckLockTransports->setCheck(FALSE);
1758 menuCheckLockTranships->setCheck(FALSE);
1759 menuCheckLockStops->setCheck(FALSE);
1760 menuCheckLockEdgeDatas->setCheck(FALSE);
1761 menuCheckLockEdgeRelDatas->setCheck(FALSE);
1762 menuCheckLockEdgeTAZRels->setCheck(FALSE);
1770 menuCheckLockJunctions->setCheck(value);
1772 menuCheckLockEdges->setCheck(value);
1774 menuCheckLockLanes->setCheck(value);
1776 menuCheckLockConnections->setCheck(value);
1778 menuCheckLockCrossings->setCheck(value);
1780 menuCheckLockWalkingAreas->setCheck(value);
1782 menuCheckLockAdditionals->setCheck(value);
1784 menuCheckLockTAZs->setCheck(value);
1786 menuCheckLockWires->setCheck(value);
1788 menuCheckLockPolygons->setCheck(value);
1790 menuCheckLockJpsWalkableAreas->setCheck(value);
1792 menuCheckLockJpsObstacles->setCheck(value);
1796 menuCheckLockPOIs->setCheck(value);
1798 menuCheckLockRoutes->setCheck(value);
1800 menuCheckLockVehicles->setCheck(value);
1802 menuCheckLockPersons->setCheck(value);
1804 menuCheckLockPersonTrips->setCheck(value);
1806 menuCheckLockWalks->setCheck(value);
1808 menuCheckLockRides->setCheck(value);
1810 menuCheckLockContainers->setCheck(value);
1812 menuCheckLockTransports->setCheck(value);
1814 menuCheckLockTranships->setCheck(value);
1818 menuCheckLockStops->setCheck(value);
1820 menuCheckLockEdgeDatas->setCheck(value);
1822 menuCheckLockEdgeRelDatas->setCheck(value);
1824 menuCheckLockEdgeTAZRels->setCheck(value);
1831 FXuint code = 0, mods = 0;
1832 if (Unicode::isAlphaNumeric(character)) {
1834 code = fxucs2keysym(Unicode::toLower(character));
1836 return MKUINT(code, mods);
1844 myApplicationWindow(applicationWindow) {
1852 TL(
"Compute Junctions"),
"F5",
TL(
"Compute junction shape and logic."),
1855 TL(
"Compute Junctions with volatile options"),
"Shift+F5",
TL(
"Compute junction shape and logic using volatile junctions."),
1858 TL(
"Clean Junctions"),
"F6",
TL(
"Remove solitary junctions."),
1861 TL(
"Join Selected Junctions"),
"F7",
TL(
"Join selected junctions into a single junction."),
1864 TL(
"Clean invalid crossings"),
"F8",
TL(
"Clear invalid crossings."),
1867 mySeparatorCheckBox =
new FXMenuSeparator(processingMenu);
1870 TL(
"Recompute Network in Data Mode"),
"",
"",
1873 menuCheckRecomputeDataMode->setCheck(myApplicationWindow->getApp()->reg().readBoolEntry(
"NETEDIT",
"RecomputeData",
true));
1876 TL(
"Compute demand"),
"F5",
TL(
"Computes demand elements."),
1879 TL(
"Clean routes"),
"F6",
TL(
"Removes routes without vehicles."),
1882 TL(
"Join routes"),
"F7",
TL(
"Joins routes with the same edges."),
1885 TL(
"Adjust person plans"),
"Shift+F7",
TL(
"Adjust person plans (start/end positions, arrival positions, etc.)"),
1888 TL(
"Clean invalid route elements"),
"F8",
TL(
"Clear elements with an invalid path (routes, Trips, Flows...)."),
1891 myOptionsSeparator =
new FXMenuSeparator(processingMenu);
1894 TL(
"Sumo options"),
"Shift+F10",
TL(
"Configure sumo Options."),
1897 myOptionsSeparator =
new FXMenuSeparator(processingMenu);
1900 TL(
"Options"),
"F10",
TL(
"Configure netedit Options."),
1908 computeNetwork->enable();
1909 computeNetworkVolatile->enable();
1910 cleanJunctions->enable();
1911 joinJunctions->enable();
1912 clearInvalidCrossings->enable();
1913 mySeparatorCheckBox->enable();
1914 menuCheckRecomputeDataMode->enable();
1916 computeNetwork->show();
1917 computeNetworkVolatile->show();
1918 cleanJunctions->show();
1919 joinJunctions->show();
1920 clearInvalidCrossings->show();
1921 mySeparatorCheckBox->show();
1922 menuCheckRecomputeDataMode->show();
1929 computeNetwork->disable();
1930 computeNetworkVolatile->disable();
1931 cleanJunctions->disable();
1932 joinJunctions->disable();
1933 clearInvalidCrossings->disable();
1935 computeNetwork->hide();
1936 computeNetworkVolatile->hide();
1937 cleanJunctions->hide();
1938 joinJunctions->hide();
1939 clearInvalidCrossings->hide();
1946 computeDemand->enable();
1947 cleanRoutes->enable();
1948 joinRoutes->enable();
1949 adjustPersonPlans->enable();
1950 clearInvalidDemandElements->enable();
1952 computeDemand->show();
1953 cleanRoutes->show();
1955 adjustPersonPlans->show();
1956 clearInvalidDemandElements->show();
1963 computeDemand->disable();
1964 cleanRoutes->disable();
1965 joinRoutes->disable();
1966 adjustPersonPlans->disable();
1967 clearInvalidDemandElements->disable();
1969 computeDemand->hide();
1970 cleanRoutes->hide();
1972 adjustPersonPlans->hide();
1973 clearInvalidDemandElements->hide();
1991 myOptionsSeparator->show();
1997 myOptionsSeparator->hide();
2005 myApplicationWindow(applicationWindow) {
2013 TL(
"&Junctions"),
"Shift+J",
TL(
"Open a dialog for locating a Junction."),
2016 TL(
"&Edges"),
"Shift+E",
TL(
"Open a dialog for locating an Edge."),
2019 TL(
"&WalkingAreas"),
"Shift+W",
TL(
"Open a dialog for locating a Walking Area."),
2022 TL(
"&Vehicles"),
"Shift+V",
TL(
"Open a dialog for locating a Vehicle."),
2025 TL(
"&Persons"),
"Shift+P",
TL(
"Open a dialog for locating a Person."),
2028 TL(
"&Containers"),
"Shift+C",
TL(
"Open a dialog for locating a Container."),
2031 TL(
"&Route"),
"Shift+R",
TL(
"Open a dialog for locating a Route."),
2034 TL(
"&Stops"),
"Shift+S",
TL(
"Open a dialog for locating a Stop."),
2037 TL(
"&TLS"),
"Shift+T",
TL(
"Open a dialog for locating a Traffic Light."),
2040 TL(
"&Additional"),
"Shift+A",
TL(
"Open a dialog for locating an Additional Structure."),
2043 TL(
"P&oI"),
"Shift+O",
TL(
"Open a dialog for locating a Point of Interest."),
2046 TL(
"Po&lygon"),
"Shift+L",
TL(
"Open a dialog for locating a Polygon."),
2055 myApplicationWindow(applicationWindow) {
2061 for (
const auto& tool : myPythonTools) {
2065 if (myPythonToolDialog) {
2066 delete myPythonToolDialog;
2073 const std::map<std::string, FXMenuPane*>& menuPaneToolMaps) {
2076 for (
const auto& templateTool : templateTools) {
2077 if (templateTool.name ==
"netdiff") {
2078 myPythonTools.push_back(
new GNENetDiffTool(myApplicationWindow, templateTool.pythonPath,
2079 menuPaneToolMaps.at(templateTool.subfolder)));
2080 }
else if (menuPaneToolMaps.count(templateTool.subfolder) > 0) {
2081 myPythonTools.push_back(
new GNEPythonTool(myApplicationWindow, templateTool.pythonPath,
2082 templateTool.templateStr, menuPaneToolMaps.at(templateTool.subfolder)));
2084 myPythonTools.push_back(
new GNEPythonTool(myApplicationWindow, templateTool.pythonPath,
2085 templateTool.templateStr, toolsMenu));
2094 for (
const auto& tool : myPythonTools) {
2095 if (tool->getMenuCommand() == menuCommand) {
2096 if (myPythonToolDialog) {
2097 delete myPythonToolDialog;
2110 for (
const auto& tool : myPythonTools) {
2111 if (tool->getMenuCommand() == menuCommand) {
2123 for (
const auto& tool : myPythonTools) {
2124 if (tool->getMenuCommand() == menuCommand) {
2126 tool->postProcessing();
2138 myApplicationWindow(applicationWindow) {
2147 TL(
"Show Status Line"),
TL(
"Toggle this Status Bar on/off."),
2148 statusbar, FXWindow::ID_TOGGLESHOWN);
2150 TL(
"Show Message Window"),
TL(
"Toggle the Message Window on/off."),
2151 messageWindow, FXWindow::ID_TOGGLESHOWN);
2152 new FXMenuSeparator(windowsMenu);
2154 TL(
"Clear Message Window"),
"",
TL(
"Clear the Message Window."),
2163 myApplicationWindow(applicationWindow) {
2172 new FXMenuSeparator(helpMenu);
2181 new FXMenuSeparator(helpMenu);
2191 myApplicationWindow(applicationWindow) {
2197 networkMode->show();
2205 showSupermodeCommands();
2219 TL(
"&Network"),
"F2",
TL(
"Select network mode."),
2222 TL(
"&Demand"),
"F3",
TL(
"Select demand mode."),
2225 TL(
"&Data"),
"F4",
TL(
"Select data mode."),
2234 mySumoOptions(sumoOptions),
2244 mySumoOptions.resetDefault();
2245 neteditOptions.resetDefault();
2247 mySumoOptions.resetWritable();
2248 neteditOptions.resetWritable();
2250 XERCES_CPP_NAMESPACE::SAXParser parser;
2251 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2252 parser.setDisableDefaultEntityResolution(
true);
2256 parser.setDocumentHandler(&handler);
2257 parser.setErrorHandler(&handler);
2260 WRITE_ERROR(
TL(
"Could not load SUMO configuration '") + myFile +
"'.");
2263 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2268 mySumoOptions.relocateFiles(myFile);
2270 neteditOptions.set(
"sumocfg-file", myFile);
2271 neteditOptions.set(
"net-file", mySumoOptions.getString(
"net-file"));
2273 if (neteditOptions.getString(
"configuration-file").empty()) {
2274 const auto newConfiguration =
StringUtils::replace(neteditOptions.getString(
"configuration-file"),
".sumocfg",
".netecfg");
2275 neteditOptions.resetWritable();
2276 neteditOptions.set(
"configuration-file", newConfiguration);
2295 const bool ignoreAdditionalElements = neteditOptions.getBool(
"ignore.additionalelements");
2296 const bool ignoreRouteElements = neteditOptions.getBool(
"ignore.routeelements");
2298 neteditOptions.resetDefault();
2300 neteditOptions.resetWritable();
2302 XERCES_CPP_NAMESPACE::SAXParser parser;
2303 parser.setValidationScheme(XERCES_CPP_NAMESPACE::SAXParser::Val_Never);
2304 parser.setDisableDefaultEntityResolution(
true);
2308 parser.setDocumentHandler(&handler);
2309 parser.setErrorHandler(&handler);
2312 WRITE_ERROR(
TL(
"Could not load netedit configuration '") + myFile +
"'.");
2315 }
catch (
const XERCES_CPP_NAMESPACE::XMLException& e) {
2320 neteditOptions.relocateFiles(myFile);
2322 if (neteditOptions.getString(
"configuration-file").find(
".netccfg") != std::string::npos) {
2323 const auto newConfiguration =
StringUtils::replace(neteditOptions.getString(
"configuration-file"),
".netccfg",
".netecfg");
2324 neteditOptions.resetWritable();
2325 neteditOptions.set(
"configuration-file", newConfiguration);
2328 neteditOptions.resetWritable();
2329 neteditOptions.set(
"ignore.additionalelements",
toString(ignoreAdditionalElements));
2330 neteditOptions.set(
"ignore.routeelements",
toString(ignoreRouteElements));
2473 if (str.length() < suffix.length()) {
2476 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_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_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
@ 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
bool isPlanTransport() const
return true if tag correspond to a transport
bool isContainer() const
return true if tag correspond to a container element
bool isTAZElement() const
return true if tag correspond to a TAZ element
bool isRoute() const
return true if tag correspond to a route element
bool isVehicle() const
return true if tag correspond to a vehicle element
bool isPlanStopContainer() const
return true if tag correspond to a container stop plan
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
bool isPlanPersonTrip() const
return true if tag correspond to a person trip plan
bool isWireElement() const
return true if tag correspond to a Wire element
bool isPlanRide() const
return true if tag correspond to a ride plan
bool isAdditionalElement() const
return true if tag correspond to an additional element (note: this include TAZ, shapes and wires)
bool isPlanStopPerson() const
return true if tag correspond to a person stop plan
bool isVehicleStop() const
return true if tag correspond to a vehicle stop element
bool isPerson() const
return true if tag correspond to a person element
bool isPlanWalk() const
return true if tag correspond to a walk plan
bool isPlanTranship() const
return true if tag correspond to a tranship
long onCmdToggleShowDemandElementsNetwork(FXObject *, FXSelector, void *)
toggle show demand elements (network)
const GNEViewNetHelper::DataViewOptions & getDataViewOptions() const
get data view options
long onCmdToggleShowDemandElementsData(FXObject *, FXSelector, void *)
toggle show demand elements (data)
long onCmdToggleTAZDrawFill(FXObject *, FXSelector, void *)
toggle TAZdrawFill
long onCmdToggleDrawSpreadVehicles(FXObject *, FXSelector, void *)
toggle draw vehicles in begin position or spread in lane
long onCmdToggleShowConnections(FXObject *, FXSelector, void *)
toggle show connections
long onCmdToggleShowTAZElements(FXObject *, FXSelector, void *)
toggle show TAZ elements
long onCmdToggleMoveElevation(FXObject *, FXSelector, void *)
toggle move elevation
long onCmdToggleShowAllPersonPlans(FXObject *, FXSelector, void *)
toggle show all person plans in super mode demand
long onCmdToggleTAZRelOnlyTo(FXObject *, FXSelector, void *)
toggle TAZRez only to
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
long onCmdToggleChainEdges(FXObject *, FXSelector, void *)
toggle chain edges
long onCmdToggleLockContainer(FXObject *, FXSelector, void *)
toggle lock container in super mode demand
long onCmdToggleShowGrid(FXObject *, FXSelector, void *)
toggle show grid
long onCmdToggleHideNonInspecteDemandElements(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
long onCmdToggleDrawJunctionShape(FXObject *, FXSelector, void *)
toggle draw junction shape
long onCmdToggleShowShapes(FXObject *, FXSelector, void *)
toggle show shapes in super mode data
long onCmdToggleMergeAutomatically(FXObject *, FXSelector, void *)
toggle warn for merge
long onCmdToggleExtendSelection(FXObject *, FXSelector, void *)
toggle extend selection
long onCmdToggleShowOverlappedRoutes(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
long onCmdToggleAutoOppositeEdge(FXObject *, FXSelector, void *)
toggle autoOpposite edge
long onCmdToggleChangeAllPhases(FXObject *, FXSelector, void *)
toggle change all phases
long onCmdToggleTAZRelDrawing(FXObject *, FXSelector, void *)
toggle TAZRel drawing
long onCmdToggleShowJunctionBubbles(FXObject *, FXSelector, void *)
toggle show junction bubbles
long onCmdToggleShowAdditionalSubElements(FXObject *, FXSelector, void *)
toggle show additional sub-elements
long onCmdToggleShowAllContainerPlans(FXObject *, FXSelector, void *)
toggle show all container plans in super mode demand
long onCmdToggleTAZRelOnlyFrom(FXObject *, FXSelector, void *)
toggle TAZRez only from
long onCmdToggleShowAdditionals(FXObject *, FXSelector, void *)
toggle show additionals in super mode data
long onCmdToggleLockPerson(FXObject *, FXSelector, void *)
toggle lock person in super mode demand
long onCmdToggleSelectEdges(FXObject *, FXSelector, void *)
toggle select edges
long onCmdToggleShowTrips(FXObject *, FXSelector, void *)
toggle show all trips in super mode demand
long onCmdToggleHideShapes(FXObject *, FXSelector, void *)
toggle hide shapes in super mode demand
const GNEViewNetHelper::DemandViewOptions & getDemandViewOptions() const
get demand view options
long onCmdToggleHideConnections(FXObject *, FXSelector, void *)
toggle hide connections
static MFXMenuCheckIcon * buildFXMenuCheckboxIcon(FXComposite *p, const std::string &text, const std::string &shortcut, const std::string &info, FXIcon *icon, FXObject *tgt, FXSelector sel)
build menu checkbox with icon
static FXMenuCommand * buildFXMenuCommandRecentFile(FXComposite *p, const std::string &text, FXObject *tgt, FXSelector sel)
build menu command (for recent files)
static FXMenuCheck * buildFXMenuCheckbox(FXComposite *p, const std::string &text, const std::string &info, FXObject *tgt, FXSelector sel)
build menu checkbox
static FXMenuCommand * buildFXMenuCommand(FXComposite *p, const std::string &text, FXIcon *icon, FXObject *tgt, FXSelector sel, const bool disable=false)
build menu command
static FXMenuCommand * buildFXMenuCommandShortcut(FXComposite *p, const std::string &text, const std::string &shortcut, const std::string &info, FXIcon *icon, FXObject *tgt, FXSelector sel)
build menu command
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
A logging window for the gui.
A storage for options typed value containers)
static OptionsCont & getOptions()
Retrieves the options.
A SAX-Handler for loading options.
bool errorOccurred() const
Returns the information whether an error occurred.
static std::string replace(std::string str, const std::string &what, const std::string &by)
Replaces all occurrences of the second string by the third string within the first string.
static std::string transcode(const XMLCh *const data)
converts a 0-terminated XMLCh* array (usually UTF-16, stemming from Xerces) into std::string in UTF-8
static std::string transcodeToLocal(const std::string &utf8String)
convert a string from UTF-8 to the local codepage
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 * 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