 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
245 FXIMPLEMENT(
GNEApplicationWindow, FXMainWindow, GNEApplicationWindowMap, ARRAYNUMBER(GNEApplicationWindowMap))
255 saveElements(
nullptr),
258 modeOptions(
nullptr),
260 myToolBarShellMenu(
nullptr),
261 myToolBarShellSuperModes(
nullptr),
262 myToolBarShellSaveElements(
nullptr),
263 myToolBarShellNavigation(
nullptr),
264 myToolBarShellModes(
nullptr),
265 myToolBarShellModeOptions(
nullptr) {
287 myToolBarShellSaveElements =
new FXToolBarShell(myGNEApp,
GUIDesignToolBar);
305 superModes->create();
306 saveElements->create();
307 navigation->create();
309 modeOptions->create();
311 myToolBarShellSuperModes->create();
312 myToolBarShellSaveElements->create();
313 myToolBarShellNavigation->create();
314 myToolBarShellModes->create();
315 myToolBarShellModeOptions->create();
317 myGNEApp->myTopDock->recalc();
330 delete myToolBarShellSuperModes;
331 delete myToolBarShellSaveElements;
332 delete myToolBarShellNavigation;
333 delete myToolBarShellModes;
334 delete myToolBarShellModeOptions;
336 myGNEApp->myTopDock->recalc();
388 WRITE_ERROR(
"DEBUG: GNEApplicationWindow::dependentBuild called twice");
403 myGeoCoordinate =
new FXLabel(
myGeoFrame,
"N/A\t\tOriginal coordinate (before coordinate transformation in NETCONVERT)",
nullptr, LAYOUT_CENTER_Y);
433 gCurrentFolder = getApp()->reg().readStringEntry(
"SETTINGS",
"basedir",
"");
434 FXMainWindow::create();
444 FXint textWidth = getApp()->getNormalFont()->getTextWidth(
"8", 1) * 22;
448 show(PLACEMENT_DEFAULT);
450 if (getApp()->reg().readIntEntry(
"SETTINGS",
"maximized", 0) == 1) {
495 getApp()->reg().writeStringEntry(
"SETTINGS",
"basedir",
gCurrentFolder.text());
497 getApp()->reg().writeIntEntry(
"SETTINGS",
"maximized", 1);
499 getApp()->reg().writeIntEntry(
"SETTINGS",
"maximized", 0);
539 FXFileDialog opendialog(
this,
"Open Netconvert Configuration");
541 opendialog.setSelectMode(SELECTFILE_EXISTING);
546 if (opendialog.execute()) {
548 std::string file = opendialog.getFilename().text();
565 FXFileDialog opendialog(
this,
"Open Network");
567 opendialog.setSelectMode(SELECTFILE_EXISTING);
568 opendialog.setPatternList(
"SUMO nets (*.net.xml)\nAll files (*)");
572 if (opendialog.execute()) {
574 std::string file = opendialog.getFilename().text();
594 FXFileDialog opendialog(
this,
"Import Foreign Network");
596 opendialog.setSelectMode(SELECTFILE_EXISTING);
597 FXString osmPattern(
"OSM net (*.osm.xml,*.osm)");
598 opendialog.setPatternText(0, osmPattern);
602 if (opendialog.execute()) {
604 std::string file = opendialog.getFilename().text();
608 if (osmPattern.contains(opendialog.getPattern())) {
611 oc.
set(
"osm-files", file);
612 oc.
set(
"geometry.remove",
"true");
613 oc.
set(
"ramps.guess",
"true");
614 oc.
set(
"junctions.join",
"true");
615 oc.
set(
"tls.guess-signals",
"true");
616 oc.
set(
"tls.discard-simple",
"true");
618 throw ProcessError(
"Attempted to import unknown file format '" + file +
"'.");
624 if (wizard->execute()) {
639 FXFileDialog opendialog(
this,
"Open Additionals file");
641 opendialog.setSelectMode(SELECTFILE_EXISTING);
642 opendialog.setPatternList(
"Additional files (*.add.xml)\nAll files (*)");
646 if (opendialog.execute()) {
651 std::string file = opendialog.getFilename().text();
680 FXFileDialog opendialog(
this,
"Open TLSPrograms file");
682 opendialog.setSelectMode(SELECTFILE_EXISTING);
683 opendialog.setPatternList(
"TLSProgram files (*.xml)\nAll files (*)");
687 if (opendialog.execute()) {
691 std::string file = opendialog.getFilename().text();
716 FXFileDialog opendialog(
this,
"Open demand element file");
718 opendialog.setSelectMode(SELECTFILE_EXISTING);
719 opendialog.setPatternList(
"Demand element files (*.rou.xml)\nAll files (*)");
723 if (opendialog.execute()) {
728 std::string file = opendialog.getFilename().text();
758 myStatusbar->getStatusLine()->setText(
"Already loading!");
761 std::string file((
const char*)fileData);
822 sender->handle(
this,
myAmLoading ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
nullptr);
837 WRITE_DEBUG(
"Toogle load additionals in SUMO-GUI");
857 about->show(PLACEMENT_OWNER);
865 FXEvent*
event = (FXEvent*)ptr;
867 setDNDData(FROM_CLIPBOARD, event->target,
string);
911 if (ec->
myNet ==
nullptr) {
923 GNEViewParent* viewParent =
new GNEViewParent(
myMDIClient,
myMDIMenu,
"NETEDIT VIEW",
this,
nullptr,
myNet,
myUndoList,
nullptr, MDI_TRACKING, 10, 10, 300, 200);
925 viewParent->maximize();
946 off.
set(getApp()->reg().readRealEntry(
"viewport",
"x"), getApp()->reg().readRealEntry(
"viewport",
"y"), getApp()->reg().readRealEntry(
"viewport",
"z"));
951 getApp()->endWaitCursor();
956 std::vector<std::string> additionalFiles = oc.
getStringVector(
"additional-files");
960 for (
const auto& additionalFile : additionalFiles) {
961 WRITE_MESSAGE(
"Loading additionals and shapes from '" + additionalFile +
"'");
967 WRITE_ERROR(
"Loading of " + additionalFile +
" failed.");
978 std::vector<std::string> demandElementsFiles = oc.
getStringVector(
"route-files");
982 for (
const auto& demandElementsFile : demandElementsFiles) {
983 WRITE_MESSAGE(
"Loading demand elements from '" + demandElementsFile +
"'");
988 WRITE_ERROR(
"Loading of " + demandElementsFile +
" failed.");
997 if (oc.
isSet(
"additionals-output")) {
1000 oc.
set(
"additional-files", oc.
getString(
"additionals-output"));
1003 if (oc.
isSet(
"demandelements-output")) {
1006 oc.
set(
"route-files", oc.
getString(
"demandelements-output"));
1028 myRecentNets(GNEApp->getApp(),
"nets"),
1035 FXMenuSeparator* sep1 =
new FXMenuSeparator(fileMenu);
1036 sep1->setTarget(&myRecentConfigs);
1037 sep1->setSelector(FXRecentFiles::ID_ANYFILES);
1038 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_1);
1039 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_2);
1040 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_3);
1041 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_4);
1042 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_5);
1043 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_6);
1044 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_7);
1045 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_8);
1046 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_9);
1047 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentConfigs, FXRecentFiles::ID_FILE_10);
1048 new FXMenuCommand(fileMenu,
"Clear Recent Configurat&ions",
nullptr, &myRecentConfigs, FXRecentFiles::ID_CLEAR);
1049 myRecentConfigs.setTarget(myGNEApp);
1051 FXMenuSeparator* sep2 =
new FXMenuSeparator(fileMenu);
1052 sep2->setTarget(&myRecentNets);
1053 sep2->setSelector(FXRecentFiles::ID_ANYFILES);
1054 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_1);
1055 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_2);
1056 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_3);
1057 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_4);
1058 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_5);
1059 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_6);
1060 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_7);
1061 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_8);
1062 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_9);
1063 new FXMenuCommand(fileMenu,
"",
nullptr, &myRecentNets, FXRecentFiles::ID_FILE_10);
1064 new FXMenuCommand(fileMenu,
"Cl&ear Recent Networks",
nullptr, &myRecentNets, FXRecentFiles::ID_CLEAR);
1065 myRecentNets.setTarget(myGNEApp);
1074 saveAdditionals(nullptr),
1075 saveAdditionalsAs(nullptr),
1076 saveTLSPrograms(nullptr),
1077 saveDemandElements(nullptr),
1078 saveDemandElementsAs(nullptr),
1085 new FXMenuCommand(fileMenu,
1086 "&New Network...\tCtrl+N\tCreate a new network.",
1088 new FXMenuCommand(fileMenu,
1089 "&Open Network...\tCtrl+O\tOpen a SUMO network.",
1091 new FXMenuCommand(fileMenu,
1092 "Open Netconvert Configura&tion...\tCtrl+Shift+O\tOpen a configuration file with NETCONVERT options.",
1094 new FXMenuCommand(fileMenu,
1095 "Import &Foreign Network...\t\tImport a foreign network such as OSM.",
1097 new FXMenuCommand(fileMenu,
1098 "&Reload\tCtrl+R\tReloads the network.",
1100 new FXMenuCommand(fileMenu,
1101 "&Save Network...\tCtrl+S\tSave the network.",
1103 new FXMenuCommand(fileMenu,
1104 "Save Net&work As...\tCtrl+Shift+S\tSave the network in another file.",
1106 new FXMenuCommand(fileMenu,
1107 "Save plain XM&L...\tCtrl+L\tSave plain xml representation the network.",
1109 new FXMenuCommand(fileMenu,
1110 "Save &joined junctions...\tCtrl+J\tSave log of joined junctions (allows reproduction of joins).",
1113 myGNEApp->myFileMenuAdditionals =
new FXMenuPane(myGNEApp);
1114 new FXMenuCommand(myGNEApp->myFileMenuAdditionals,
1115 "Load A&dditionals...\tCtrl+A\tLoad additionals and shapes.",
1117 saveAdditionals =
new FXMenuCommand(myGNEApp->myFileMenuAdditionals,
1118 "Save Additionals\tCtrl+Shift+A\tSave additionals and shapes.",
1120 saveAdditionals->disable();
1121 saveAdditionalsAs =
new FXMenuCommand(myGNEApp->myFileMenuAdditionals,
1122 "Save Additionals As...\t\tSave additional elements in another file.",
1124 saveAdditionalsAs->disable();
1127 myGNEApp->myFileMenuTLS =
new FXMenuPane(myGNEApp);
1128 new FXMenuCommand(myGNEApp->myFileMenuTLS,
1129 "load TLS Programs...\tCtrl+K\tload TLS Programs in all Traffic Lights of the net.",
1131 saveTLSPrograms =
new FXMenuCommand(myGNEApp->myFileMenuTLS,
1132 "Save TLS Programs \tCtrl+Shift+K\tSave TLS Programs of all Traffic Lights of the current net.",
1134 saveTLSPrograms->disable();
1135 new FXMenuCommand(myGNEApp->myFileMenuTLS,
1136 "Save TLS Programs As...\t\tSave TLS Programs of all Traffic Lights of the current net in another file.",
1140 myGNEApp->myFileMenuDemandElements =
new FXMenuPane(myGNEApp);
1141 new FXMenuCommand(myGNEApp->myFileMenuDemandElements,
1142 "Load demand elements...\tCtrl+D\tLoad demand elements.",
1144 saveDemandElements =
new FXMenuCommand(myGNEApp->myFileMenuDemandElements,
1145 "Save demand elements\tCtrl+Shift+D\tSave demand elements.",
1147 saveDemandElements->disable();
1148 saveDemandElementsAs =
new FXMenuCommand(myGNEApp->myFileMenuDemandElements,
1149 "Save demand elements as...\t\tSave demand elements in another file.",
1151 saveDemandElementsAs->disable();
1154 new FXMenuSeparator(fileMenu);
1155 new FXMenuCommand(fileMenu,
1156 "Close\tCtrl+W\tClose the net&work.",
1159 myGNEApp->myMenuBarFile.buildRecentFiles(fileMenu);
1160 new FXMenuSeparator(fileMenu);
1161 new FXMenuCommand(fileMenu,
"&Quit\tCtrl+Q\tQuit the Application.",
nullptr, myGNEApp,
MID_HOTKEY_CTRL_Q_CLOSE, 0);
1169 createEdgeMode(nullptr),
1171 deleteMode(nullptr),
1172 inspectMode(nullptr),
1173 selectMode(nullptr),
1174 connectMode(nullptr),
1175 prohibitionMode(nullptr),
1177 additionalMode(nullptr),
1178 crossingMode(nullptr),
1181 myEditMenuCommandsParent(editMenuCommandsParent),
1182 myHorizontalSeparator(nullptr) {
1188 createEdgeMode->show();
1191 inspectMode->show();
1193 connectMode->show();
1194 prohibitionMode->show();
1196 additionalMode->show();
1197 crossingMode->show();
1201 myHorizontalSeparator->show();
1207 createEdgeMode->hide();
1210 inspectMode->hide();
1212 connectMode->hide();
1213 prohibitionMode->hide();
1215 additionalMode->hide();
1216 crossingMode->hide();
1220 myHorizontalSeparator->hide();
1227 createEdgeMode =
new FXMenuCommand(editMenu,
1228 "&Edge mode\tE\tCreate junction and edges.",
1230 moveMode =
new FXMenuCommand(editMenu,
1231 "&Move mode\tM\tMove elements.",
1233 deleteMode =
new FXMenuCommand(editMenu,
1234 "&Delete mode\tD\tDelete elements.",
1236 inspectMode =
new FXMenuCommand(editMenu,
1237 "&Inspect mode\tI\tInspect elements and change their attributes.",
1239 selectMode =
new FXMenuCommand(editMenu,
1240 "&Select mode\tS\tSelect elements.",
1242 connectMode =
new FXMenuCommand(editMenu,
1243 "&Connection mode\tC\tEdit connections between lanes.",
1245 prohibitionMode =
new FXMenuCommand(editMenu,
1246 "Pro&hibition mode\tW\tEdit connection prohibitions.",
1248 TLSMode =
new FXMenuCommand(editMenu,
1249 "&Traffic light mode\tT\tEdit traffic lights over junctions.",
1251 additionalMode =
new FXMenuCommand(editMenu,
1252 "&Additional mode\tA\tCreate additional elements.",
1254 crossingMode =
new FXMenuCommand(editMenu,
1255 "C&rossing mode\tR\tCreate crossings between edges.",
1257 TAZMode =
new FXMenuCommand(editMenu,
1258 "TA&Z mode\tZ\tCreate Traffic Assignment Zones.",
1260 shapeMode =
new FXMenuCommand(editMenu,
1261 "&POI-Poly mode\tP\tCreate Points-Of-Interest and polygons.",
1264 myHorizontalSeparator =
new FXMenuSeparator(editMenu);
1273 vehicleMode(nullptr),
1274 vehicleTypeMode(nullptr),
1276 personTypeMode(nullptr),
1277 personMode(nullptr),
1278 personPlanMode(nullptr),
1279 myEditMenuCommandsParent(editMenuCommandsParent),
1280 myHorizontalSeparator(nullptr) {
1287 vehicleMode->show();
1288 vehicleTypeMode->show();
1290 personTypeMode->show();
1292 personPlanMode->show();
1294 myHorizontalSeparator->show();
1301 vehicleMode->hide();
1302 vehicleTypeMode->hide();
1304 personTypeMode->hide();
1306 personPlanMode->hide();
1308 myHorizontalSeparator->hide();
1315 routeMode =
new FXMenuCommand(editMenu,
1316 "Route mode\tR\tCreate Routes.",
1318 vehicleMode =
new FXMenuCommand(editMenu,
1319 "Vehicle mode\tV\tCreate vehicles.",
1321 vehicleTypeMode =
new FXMenuCommand(editMenu,
1322 "Vehicle type mode\tT\tCreate vehicle types.",
1324 stopMode =
new FXMenuCommand(editMenu,
1325 "Stop mode\tA\tCreate stops.",
1327 personTypeMode =
new FXMenuCommand(editMenu,
1328 "Person type mode\tW\tCreate person types.",
1330 personMode =
new FXMenuCommand(editMenu,
1331 "Person mode\tP\tCreate persons.",
1333 personPlanMode =
new FXMenuCommand(editMenu,
1334 "Person plan mode\tC\tCreate person plans.",
1337 myHorizontalSeparator =
new FXMenuSeparator(editMenu);
1362 undoLastChange =
new FXMenuCommand(editMenu,
1363 "&Undo\tCtrl+Z\tUndo the last change.",
1365 redoLastChange =
new FXMenuCommand(editMenu,
1366 "&Redo\tCtrl+Y\tRedo the last change.",
1369 new FXMenuSeparator(editMenu);
1371 myGNEApp->mySupermodeCommands.buildSupermodeCommands(editMenu);
1372 myGNEApp->mySupermodeCommands.hideSupermodeCommands();
1374 networkMenuCommands.buildNetworkMenuCommands(editMenu);
1375 networkMenuCommands.hideNetworkMenuCommands();
1377 demandMenuCommands.buildDemandMenuCommands(editMenu);
1378 demandMenuCommands.hideDemandMenuCommands();
1379 editViewScheme =
new FXMenuCommand(editMenu,
1380 "Edit Visualisation\tF9\tOpens a dialog for editing visualization settings.",
1382 editViewPort =
new FXMenuCommand(editMenu,
1383 "Edit Viewport\tCtrl+I\tOpens a dialog for editing viewing are, zoom and rotation.",
1385 toogleGrid =
new FXMenuCommand(editMenu,
1386 "Toggle Grid\tCtrl+G\tToggles background grid (and snap-to-grid functionality).",
1389 new FXMenuSeparator(editMenu);
1390 loadAdditionalsInSUMOGUI =
new FXMenuCheck(editMenu,
1391 "Load additionals in SUMO-GUI\t\tLoad additionals in SUMO-GUI.",
1393 loadAdditionalsInSUMOGUI->setCheck(TRUE);
1394 loadDemandInSUMOGUI =
new FXMenuCheck(editMenu,
1395 "Load demand in SUMO-GUI\t\tLoad demand in SUMO-GUI.",
1397 loadDemandInSUMOGUI->setCheck(TRUE);
1398 openInSUMOGUI =
new FXMenuCommand(editMenu,
1399 "Open in SUMO-GUI\tCtrl+T\tOpens the SUMO-GUI application with the current network.",
1408 computeNetwork(nullptr),
1409 computeNetworkVolatile(nullptr),
1410 cleanJunctions(nullptr),
1411 joinJunctions(nullptr),
1412 clearInvalidCrossings(nullptr),
1413 computeDemand(nullptr),
1414 cleanRoutes(nullptr),
1415 joinRoutes(nullptr),
1416 clearInvalidDemandElements(nullptr),
1417 optionMenus(nullptr),
1425 computeNetwork =
new FXMenuCommand(fileMenu,
1426 "Compute Junctions\tF5\tComputes junction shape and logic.",
1428 computeNetworkVolatile =
new FXMenuCommand(fileMenu,
1429 "Compute Junctions with volatile options\tShift+F5\tComputes junction shape and logic using volatile junctions.",
1431 cleanJunctions =
new FXMenuCommand(fileMenu,
1432 "Clean Junctions\tF6\tRemoves solitary junctions.",
1434 joinJunctions =
new FXMenuCommand(fileMenu,
1435 "Join Selected Junctions\tF7\tJoins selected junctions into a single junction.",
1437 clearInvalidCrossings =
new FXMenuCommand(fileMenu,
1438 "Clean invalid crossings\tF8\tClear invalid crossings.",
1441 computeDemand =
new FXMenuCommand(fileMenu,
1442 "Compute demand\tF5\tComputes demand elements.",
1444 cleanRoutes =
new FXMenuCommand(fileMenu,
1445 "Clean routes\tF6\tRemoves routes without vehicles.",
1447 joinRoutes =
new FXMenuCommand(fileMenu,
1448 "Join routes\tF7\tJoins routes with the same edges.",
1450 clearInvalidDemandElements =
new FXMenuCommand(fileMenu,
1451 "Clean invalid route elements\tF8\tClear elements with an invalid path (routes, Trips, Flows...).",
1454 new FXMenuSeparator(fileMenu);
1455 optionMenus =
new FXMenuCommand(fileMenu,
1456 "Options\tF10\t\tConfigure Processing Options.",
1464 computeNetwork->enable();
1465 computeNetworkVolatile->enable();
1466 cleanJunctions->enable();
1467 joinJunctions->enable();
1468 clearInvalidCrossings->enable();
1470 computeNetwork->show();
1471 computeNetworkVolatile->show();
1472 cleanJunctions->show();
1473 joinJunctions->show();
1474 clearInvalidCrossings->show();
1481 computeNetwork->disable();
1482 computeNetworkVolatile->disable();
1483 cleanJunctions->disable();
1484 joinJunctions->disable();
1485 clearInvalidCrossings->disable();
1487 computeNetwork->hide();
1488 computeNetworkVolatile->hide();
1489 cleanJunctions->hide();
1490 joinJunctions->hide();
1491 clearInvalidCrossings->hide();
1498 computeDemand->enable();
1499 cleanRoutes->enable();
1500 joinRoutes->enable();
1501 clearInvalidDemandElements->enable();
1503 computeDemand->show();
1504 cleanRoutes->show();
1506 clearInvalidDemandElements->show();
1513 computeDemand->disable();
1514 cleanRoutes->disable();
1515 joinRoutes->disable();
1516 clearInvalidDemandElements->disable();
1518 computeDemand->hide();
1519 cleanRoutes->hide();
1521 clearInvalidDemandElements->hide();
1536 new FXMenuCommand(locateMenu,
1537 "Locate &Junctions\tShift+J\tOpen a dialog for locating a Junction.",
1539 new FXMenuCommand(locateMenu,
1540 "Locate &Edges\tShift+E\tOpen a dialog for locating an Edge.",
1542 new FXMenuCommand(locateMenu,
1543 "Locate &Vehicles\tShift+V\tOpen a dialog for locating a Vehicle.",
1545 new FXMenuCommand(locateMenu,
1546 "Locate &Person\tShift+P\tOpen a dialog for locating a Person.",
1548 new FXMenuCommand(locateMenu,
1549 "Locate &Route\tShift+R\tOpen a dialog for locating a Route.",
1551 new FXMenuCommand(locateMenu,
1552 "Locate &Stops\tShift+S\tOpen a dialog for locating a Stop.",
1554 new FXMenuCommand(locateMenu,
1555 "Locate &TLS\tShift+T\tOpen a dialog for locating a Traffic Light.",
1557 new FXMenuCommand(locateMenu,
1558 "Locate &Additional\tShift+A\tOpen a dialog for locating an Additional Structure.",
1560 new FXMenuCommand(locateMenu,
1561 "Locate P&oI\tShift+O\tOpen a dialog for locating a Point of Interest.",
1563 new FXMenuCommand(locateMenu,
1564 "Locate Po&lygon\tShift+L\tOpen a dialog for locating a Polygon.",
1580 new FXMenuCheck(windowsMenu,
1581 "&Show Status Line\t\tToggle this Status Bar on/off.",
1582 myGNEApp->myStatusbar, FXWindow::ID_TOGGLESHOWN);
1583 new FXMenuCheck(windowsMenu,
1584 "Show &Message Window\t\tToggle the Message Window on/off.",
1585 myGNEApp->myMessageWindow, FXWindow::ID_TOGGLESHOWN);
1586 new FXMenuCommand(windowsMenu,
1587 "&Clear Message Window\t\tClear the message window.",
1596 networkMode(nullptr),
1597 demandMode(nullptr),
1599 myHorizontalSeparator(nullptr) {
1605 networkMode->show();
1608 myHorizontalSeparator->show();
1614 networkMode->hide();
1617 myHorizontalSeparator->hide();
1624 networkMode =
new FXMenuCommand(editMenu,
"&Network mode\tF3\tSelect network mode.",
1626 demandMode =
new FXMenuCommand(editMenu,
"&Demand mode\tF4\tSelect demand mode.",
1629 myHorizontalSeparator =
new FXMenuSeparator(editMenu);
1639 FXMenuTitle* menuTitle;
1641 myFileMenu =
new FXMenuPane(
this, LAYOUT_FIX_HEIGHT);
1643 menuTitle->setHeight(23);
1648 menuTitle->setHeight(23);
1653 menuTitle->setHeight(23);
1658 menuTitle->setHeight(23);
1663 menuTitle->setHeight(23);
1668 menuTitle->setHeight(23);
1671 "&Online Documentation\tF1\tOpen Online documentation.",
1674 "&About\tF2\tAbout netedit.",
1682 getApp()->beginWaitCursor();
1761 if (
myNet !=
nullptr) {
1778 return getApp()->getDefaultCursor(DEF_ARROW_CURSOR);
1786 oc.
set(
"offset.disable-normalization",
"true");
1793 myStatusbar->getStatusLine()->setText(statusBarText.c_str());
1794 myStatusbar->getStatusLine()->setNormalText(statusBarText.c_str());
1805 std::string additionalsSavePath = oc.
getString(
"additional-files");
1806 std::string demandElementsSavePath = oc.
getString(
"route-files");
1808 WRITE_DEBUG(
"Opening FXMessageBox 'Volatile Recomputing'");
1810 answer = FXMessageBox::question(
myNet->
getViewNet()->getApp(), MBOX_YES_NO,
"Recompute with volatile options",
1811 "Changes produced in the net due a recomputing with volatile options cannot be undone. Continue?");
1815 WRITE_DEBUG(
"Closed FXMessageBox 'Volatile Recomputing' with 'No'");
1816 }
else if (answer == 4) {
1817 WRITE_DEBUG(
"Closed FXMessageBox 'Volatile Recomputing' with 'ESC'");
1823 WRITE_DEBUG(
"Closed FXMessageBox 'Volatile Recomputing' with 'Yes'");
1827 if (oc.
getString(
"additional-files") ==
"") {
1829 WRITE_DEBUG(
"Opening FXMessageBox 'Save additionals before recomputing'");
1831 answer = FXMessageBox::question(
myNet->
getViewNet()->getApp(), MBOX_YES_NO,
"Save additionals before recomputing with volatile options",
1832 "Would you like to save additionals before recomputing?");
1836 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before recomputing' with 'No'");
1837 }
else if (answer == 4) {
1838 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before recomputing' with 'ESC'");
1842 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before recomputing' with 'Yes'");
1845 "Select name of the demand element file",
".xml",
1851 if (fileWithExtension !=
"") {
1854 oc.
set(
"additional-files", fileWithExtension);
1856 additionalsSavePath = oc.
getString(
"additional-files");
1861 if (oc.
getString(
"additional-files") ==
"") {
1863 additionalsSavePath = FXSystem::getTempDirectory().text() + std::string(
"/tmpAdditionalsNetedit.xml");
1866 getApp()->beginWaitCursor();
1871 WRITE_DEBUG(
"Opening FXMessageBox 'Error saving additionals before recomputing'");
1873 FXMessageBox::error(
this, MBOX_OK,
"Saving additionals in temporal folder failed!",
"%s", e.what());
1875 WRITE_DEBUG(
"Closed FXMessageBox 'Error saving additionals before recomputing' with 'OK'");
1879 getApp()->endWaitCursor();
1882 additionalsSavePath =
"";
1887 if (oc.
getString(
"route-files") ==
"") {
1889 WRITE_DEBUG(
"Opening FXMessageBox 'Save demand elements before recomputing'");
1891 answer = FXMessageBox::question(
myNet->
getViewNet()->getApp(), MBOX_YES_NO,
"Save demand elements before recomputing with volatile options",
1892 "Would you like to save demand elements before recomputing?");
1896 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before recomputing' with 'No'");
1897 }
else if (answer == 4) {
1898 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before recomputing' with 'ESC'");
1902 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before recomputing' with 'Yes'");
1905 "Select name of the demand element file",
".rou.xml",
1911 if (fileWithExtension !=
"") {
1914 oc.
set(
"route-files", fileWithExtension);
1916 demandElementsSavePath = oc.
getString(
"route-files");
1921 if (oc.
getString(
"route-files") ==
"") {
1923 demandElementsSavePath = FXSystem::getTempDirectory().text() + std::string(
"/tmpDemandElementsNetedit.xml");
1926 getApp()->beginWaitCursor();
1931 WRITE_DEBUG(
"Opening FXMessageBox 'Error saving demand elements before recomputing'");
1933 FXMessageBox::error(
this, MBOX_OK,
"Saving demand elements in temporal folder failed!",
"%s", e.what());
1935 WRITE_DEBUG(
"Closed FXMessageBox 'Error saving demand elements before recomputing' with 'OK'");
1939 getApp()->endWaitCursor();
1942 demandElementsSavePath =
"";
2013 switch (FXSELID(sel)) {
2022 WRITE_DEBUG(
"Keys Shift + F5 (Compute with volatile options) pressed");
2037 WRITE_DEBUG(
"Key F8 (Clean invalid crossings) pressed");
2045 switch (FXSELID(sel)) {
2054 WRITE_DEBUG(
"Key F6 (RemoveUnusedRoutes) pressed");
2064 WRITE_DEBUG(
"Key F8 (CleanInvalidDemandElements) pressed");
2111 FXRegistry reg(
"SUMO GUI",
"Eclipse");
2117 std::string sumogui =
"sumo-gui";
2118 const char* sumoPath = getenv(
"SUMO_HOME");
2119 if (sumoPath !=
nullptr) {
2120 std::string newPath = std::string(sumoPath) +
"/bin/sumo-gui";
2122 sumogui =
"\"" + newPath +
"\"";
2130 cmd +=
" -a \"" + oc.
getString(
"additional-files") +
"\"";
2134 cmd +=
" -r \"" + oc.
getString(
"route-files") +
"\"";
2141 cmd =
"start /B \"\" " + cmd;
2252 WRITE_DEBUG(
"Disabled grid throught Ctrl+g hotkey");
2272 if ((numericalKeyPressed < 0) || (numericalKeyPressed > 10)) {
2276 std::vector<FXMenuCheck*> visibleMenuCommands;
2282 if (numericalKeyPressed >= (
int)visibleMenuCommands.size()) {
2291 WRITE_DEBUG(
"Disabled toogle show grid throught alt + " +
toString(numericalKeyPressed + 1));
2295 WRITE_DEBUG(
"Enabled toogle show grid throught alt + " +
toString(numericalKeyPressed + 1));
2304 WRITE_DEBUG(
"Disabled show demand elements throught alt + " +
toString(numericalKeyPressed + 1));
2308 WRITE_DEBUG(
"Enabled show demand elements throught alt + " +
toString(numericalKeyPressed + 1));
2330 WRITE_DEBUG(
"Disabled show connections throught alt + " +
toString(numericalKeyPressed + 1));
2334 WRITE_DEBUG(
"Enabled show connections throught alt + " +
toString(numericalKeyPressed + 1));
2343 WRITE_DEBUG(
"Disabled hide connections throught alt + " +
toString(numericalKeyPressed + 1));
2347 WRITE_DEBUG(
"Enabled hide connections throught alt + " +
toString(numericalKeyPressed + 1));
2356 WRITE_DEBUG(
"Disabled extend selection throught alt + " +
toString(numericalKeyPressed + 1));
2360 WRITE_DEBUG(
"Enabled extend selection throught alt + " +
toString(numericalKeyPressed + 1));
2369 WRITE_DEBUG(
"Disabled change all phases throught alt + " +
toString(numericalKeyPressed + 1));
2373 WRITE_DEBUG(
"Enabled change all phases throught alt + " +
toString(numericalKeyPressed + 1));
2382 WRITE_DEBUG(
"Disabled warn about merge throught alt + " +
toString(numericalKeyPressed + 1));
2386 WRITE_DEBUG(
"Enabled warn about merge throught alt + " +
toString(numericalKeyPressed + 1));
2395 WRITE_DEBUG(
"Disabled show junction as bubble throught alt + " +
toString(numericalKeyPressed + 1));
2399 WRITE_DEBUG(
"Enabled show junction as bubble throught alt + " +
toString(numericalKeyPressed + 1));
2408 WRITE_DEBUG(
"Disabled move elevation throught alt + " +
toString(numericalKeyPressed + 1));
2412 WRITE_DEBUG(
"Enabled move elevation throught alt + " +
toString(numericalKeyPressed + 1));
2434 WRITE_DEBUG(
"Disabled auto opposite edge throught alt + " +
toString(numericalKeyPressed + 1));
2438 WRITE_DEBUG(
"Enabled auto opposite edge throught alt + " +
toString(numericalKeyPressed + 1));
2460 WRITE_DEBUG(
"Disabled hide non inspected demand elements throught alt + " +
toString(numericalKeyPressed + 1));
2464 WRITE_DEBUG(
"Enabled hide non inspected demand elements throught alt + " +
toString(numericalKeyPressed + 1));
2473 WRITE_DEBUG(
"Disabled show all person plans throught alt + " +
toString(numericalKeyPressed + 1));
2477 WRITE_DEBUG(
"Enabled show all person plans throught alt + " +
toString(numericalKeyPressed + 1));
2486 WRITE_DEBUG(
"Disabled lock person plan throught alt + " +
toString(numericalKeyPressed + 1));
2490 WRITE_DEBUG(
"Enabled lock person plan throught alt + " +
toString(numericalKeyPressed + 1));
2515 if (wizard->execute()) {
2592 WRITE_DEBUG(
"Key Ctrl+F1 (Set Template) pressed");
2604 WRITE_DEBUG(
"Key Ctrl+F2 (Copy Template) pressed");
2616 WRITE_DEBUG(
"Key Ctrl+F3 (Clear Template) pressed");
2629 "Save Network as",
".net.xml",
2635 if (fileWithExtension !=
"") {
2638 oc.
set(
"output-file", fileWithExtension);
2649 "Select name of the plain-xml edge-file (other names will be deduced from this)",
"",
2655 bool wasSet = oc.
isSet(
"plain-output-prefix");
2656 std::string oldPrefix = oc.
getString(
"plain-output-prefix");
2657 std::string prefix = file.text();
2660 prefix = prefix.substr(0, prefix.size() - 8);
2663 prefix = prefix.substr(0, prefix.size() - 1);
2666 oc.
set(
"plain-output-prefix", prefix);
2667 getApp()->beginWaitCursor();
2674 WRITE_DEBUG(
"Opening FXMessageBox 'Error saving plainXML'");
2676 FXMessageBox::error(
this, MBOX_OK,
"Saving plain xml failed!",
"%s", e.what());
2678 WRITE_DEBUG(
"Closed FXMessageBox 'Error saving plainXML' with 'OK'");
2684 oc.
set(
"plain-output-prefix", oldPrefix);
2686 oc.
unSet(
"plain-output-prefix");
2688 getApp()->endWaitCursor();
2697 "Select name of the joined-junctions file",
".nod.xml",
2703 if (fileWithExtension !=
"") {
2705 bool wasSet = oc.
isSet(
"junctions.join-output");
2706 std::string oldFile = oc.
getString(
"junctions.join-output");
2708 oc.
set(
"junctions.join-output", fileWithExtension);
2709 getApp()->beginWaitCursor();
2714 WRITE_DEBUG(
"Opening FXMessageBox 'error saving joined'");
2716 FXMessageBox::error(
this, MBOX_OK,
"Saving joined junctions failed!",
"%s", e.what());
2718 WRITE_DEBUG(
"Closed FXMessageBox 'error saving joined' with 'OK'");
2724 oc.
set(
"junctions.join-output", oldFile);
2726 oc.
unSet(
"junctions.join-output");
2728 getApp()->endWaitCursor();
2736 sender->handle(
this,
myNet ==
nullptr ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
nullptr);
2743 sender->handle(
this, ((
myNet ==
nullptr) || !
OptionsCont::getOptions().isSet(
"sumo-net-file")) ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
nullptr);
2749 sender->handle(
this, ((
myNet ==
nullptr) ||
myNet->
isAdditionalsSaved()) ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
nullptr);
2756 sender->handle(
this, ((
myNet ==
nullptr) ||
myNet->
isDemandElementsSaved()) ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
nullptr);
2780 getApp()->beginWaitCursor();
2787 WRITE_DEBUG(
"Opening FXMessageBox 'error saving network'");
2789 FXMessageBox::error(
this, MBOX_OK,
"Saving Network failed!",
"%s", e.what());
2791 WRITE_DEBUG(
"Closed FXMessageBox 'error saving network' with 'OK'");
2797 getApp()->endWaitCursor();
2810 if (oc.
getString(
"additional-files").empty()) {
2812 "Select name of the additional file",
".add.xml",
2818 if (fileWithExtension !=
"") {
2821 oc.
set(
"additional-files", fileWithExtension);
2828 getApp()->beginWaitCursor();
2835 WRITE_DEBUG(
"Opening FXMessageBox 'error saving additionals'");
2837 FXMessageBox::error(
this, MBOX_OK,
"Saving additionals failed!",
"%s", e.what());
2839 WRITE_DEBUG(
"Closed FXMessageBox 'error saving additionals' with 'OK'");
2842 getApp()->endWaitCursor();
2854 "Select name of the additional file",
".add.xml",
2860 if (fileWithExtension !=
"") {
2882 if (oc.
getString(
"TLSPrograms-output").empty()) {
2884 "Select name of the TLS file",
".xml",
2896 oc.
set(
"TLSPrograms-output", fileWithExtension);
2900 getApp()->beginWaitCursor();
2907 WRITE_DEBUG(
"Opening FXMessageBox 'error saving TLS Programs'");
2909 FXMessageBox::error(
this, MBOX_OK,
"Saving TLS Programs failed!",
"%s", e.what());
2911 WRITE_DEBUG(
"Closed FXMessageBox 'error saving TLS Programs' with 'OK'");
2914 getApp()->endWaitCursor();
2926 "Select name of the TLS Progarm file",
".xml",
2932 if (fileWithExtension !=
"") {
2950 if (oc.
getString(
"route-files").empty()) {
2952 "Select name of the demand element file",
".rou.xml",
2958 if (fileWithExtension !=
"") {
2961 oc.
set(
"route-files", fileWithExtension);
2968 getApp()->beginWaitCursor();
2975 WRITE_DEBUG(
"Opening FXMessageBox 'error saving demand elements'");
2977 FXMessageBox::error(
this, MBOX_OK,
"Saving demand elements failed!",
"%s", e.what());
2979 WRITE_DEBUG(
"Closed FXMessageBox 'error saving demand elements' with 'OK'");
2982 getApp()->endWaitCursor();
2994 "Select name of the demand element file",
".rou.xml",
3000 if (fileWithExtension !=
"") {
3018 bool enable =
myNet !=
nullptr && oc.
isSet(
"output-file");
3019 sender->handle(
this, FXSEL(SEL_COMMAND, enable ? ID_ENABLE : ID_DISABLE),
nullptr);
3021 FXString caption = (
"Save " + oc.
getString(
"output-file")).c_str();
3022 sender->handle(
this, FXSEL(SEL_COMMAND, FXMenuCaption::ID_SETSTRINGVALUE), (
void*)&caption);
3033 WRITE_DEBUG(
"Opening FXMessageBox 'Confirm " + operation +
" network'");
3035 answer = FXMessageBox::question(getApp(), MBOX_QUIT_SAVE_CANCEL,
3036 (
"Confirm " + operation +
" Network").c_str(),
"%s",
3037 (
"You have unsaved changes in the network. Do you wish to " + operation +
" and discard all changes?").c_str());
3041 if (answer == MBOX_CLICKED_QUIT) {
3043 WRITE_DEBUG(
"Closed FXMessageBox 'Confirm " + operation +
" network' with 'Quit'");
3051 }
else if (answer == MBOX_CLICKED_SAVE) {
3068 WRITE_DEBUG(
"Closed FXMessageBox 'Confirm " + operation +
" network' with 'No'");
3069 }
else if (answer == 4) {
3070 WRITE_DEBUG(
"Closed FXMessageBox 'Confirm " + operation +
" network' with 'ESC'");
3092 WRITE_DEBUG(
"Opening FXMessageBox 'Save additionals before " + operation +
"'");
3094 FXuint answer = FXMessageBox::question(getApp(), MBOX_QUIT_SAVE_CANCEL,
3095 (
"Save additionals before " + operation).c_str(),
"%s",
3096 (
"You have unsaved additionals. Do you wish to " + operation +
" and discard all changes?").c_str());
3100 if (answer == MBOX_CLICKED_QUIT) {
3101 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before " + operation +
"' with 'Quit'");
3104 }
else if (answer == MBOX_CLICKED_SAVE) {
3106 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before " + operation +
"' with 'Yes'");
3117 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before " + operation +
"' with 'No'");
3118 }
else if (answer == 4) {
3119 WRITE_DEBUG(
"Closed FXMessageBox 'Save additionals before " + operation +
"' with 'ESC'");
3135 WRITE_DEBUG(
"Opening FXMessageBox 'Save demand elements before " + operation +
"'");
3137 FXuint answer = FXMessageBox::question(getApp(), MBOX_QUIT_SAVE_CANCEL,
3138 (
"Save demand elements before " + operation).c_str(),
"%s",
3139 (
"You have unsaved demand elements. Do you wish to " + operation +
" and discard all changes?").c_str());
3143 if (answer == MBOX_CLICKED_QUIT) {
3144 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before " + operation +
"' with 'Quit'");
3147 }
else if (answer == MBOX_CLICKED_SAVE) {
3149 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before " + operation +
"' with 'Yes'");
3160 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before " + operation +
"' with 'No'");
3161 }
else if (answer == 4) {
3162 WRITE_DEBUG(
"Closed FXMessageBox 'Save demand elements before " + operation +
"' with 'ESC'");
3241 const long handled = FXMainWindow::onKeyPress(o, sel, eventData);
3242 if (handled == 0 &&
myMDIClient->numChildren() > 0) {
3254 const long handled = FXMainWindow::onKeyRelease(o, sel, eventData);
3255 if (handled == 0 &&
myMDIClient->numChildren() > 0) {
@ MID_GNE_TOOLBARFILE_SAVETLSPROGRAMS_AS
save TLS Programs as
@ MID_HOTKEY_ALT_2_TOOGLEEDITOPTION
toogle edit option
@ MID_LOCATEPOI
Locate poi - button.
long onCmdQuit(FXObject *, FXSelector, void *)
Called by FOX if the application shall be closed.
void requireSaveNet(bool value)
inform that net has to be saved
virtual double getYPos() const =0
Returns the y-offset of the field to show stored in this changer.
ToolbarsGrip myToolbarsGrip
Toolbars Grip.
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
@ MID_LOCATETLS
Locate TLS - button.
void p_clear()
clears the undo list (implies abort)
static unsigned long runHiddenCommand(const std::string &cmd)
run a shell command without popping up any windows (particuarly on win32)
@ MID_HOTKEY_F4_SUPERMODE_DEMAND
hot key <F4> set demand mode in NETEDIT
long onCmdHelp(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Documentation
@ MID_LOCATEROUTE
Locate route - button.
@ MID_GNE_TOOLBAREDIT_LOADADDITIONALS
load additionals in SUMO-GUI after press ctrl+T
@ MID_HOTKEY_CTRL_I_EDITVIEWPORT
Open viewport editor.
virtual void setViewportFromToRot(const Position &lookFrom, const Position &lookAt, double rotation)
applies the given viewport settings
FXMenuCheck * menuCheckShowGrid
menu check to show grid button
static bool runParser(GenericSAXHandler &handler, const std::string &file, const bool isNet=false)
Runs the given handler on the given file; returns if everything's ok.
virtual void showViewportEditor()
show viewport editor
WindowsMenuCommands myWindowsMenuCommands
Windows Menu Commands.
void buildEditMenuCommands(FXMenuPane *editMenu)
build edit menu commands
Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..)
#define GUIDesignToolBarGrip
design for toolbar grip (used to change the position of toolbar with mouse)
long onCmdToogleMoveElevation(FXObject *, FXSelector, void *)
toogle move elevation
long onClipboardRequest(FXObject *sender, FXSelector sel, void *ptr)
called when the command/FXCall clipboard request is executed
FXMenuCommand * redoLastChange
FXMenuCommand for redo last change.
FXHorizontalFrame * myCartesianFrame
std::string myUndoRedoListEnabled
string to check if undo/redo list is enabled (a String is used to keep the disabling reason)
FXHorizontalFrame * myGeoFrame
void hotkeyFocusFrame()
handle focus frame keypress
FXMenuPane * myProcessingMenu
void showDemandProcessingMenuCommands()
show demand processing menu commands
virtual void updateFrameAfterUndoRedo()
function called after undo/redo in the current frame (can be reimplemented in frame children)
@ MID_HOTKEY_CTRL_J_SAVEJOINEDJUNCTIONS
save joined junctions
void storeWindowSizeAndPos()
record window position and size in registry
void inspectSingleElement(GNEAttributeCarrier *AC)
Inspect a single element.
void loadOptionOnStartup()
load net on startup
@ MID_LOCATEEDGE
Locate edge - button.
@ MID_HOTKEY_F12_FOCUSUPPERELEMENT
hot key <F12> focus upper element of current frame
@ EVENT_MESSAGE_OCCURRED
send when a message occured
void cleanInvalidDemandElements(GNEUndoList *undoList)
clean invalid demand elements
@ MID_GNE_TOOLBAREDIT_LOADDEMAND
load demand in SUMO-GUI after press ctrl+T
#define WRITE_WARNING(msg)
@ MID_HOTKEY_ALT_7_TOOGLEEDITOPTION
toogle edit option
long onCmdToogleShowConnections(FXObject *, FXSelector, void *)
toogle show connections
void hotkeyBackSpace()
handle backspace keypress
void loadConfigOrNet(const std::string file, bool isNet, bool isReload=false, bool useStartupOptions=false, bool newNet=false)
starts to load a netimport configuration or a network */
FXMDIClient * myMDIClient
The multi view panel.
static FXint fxexecute(FXString link)
long onCmdOptions(FXObject *, FXSelector, void *)
called if the user selects Processing->Configure Options
void updateUndoRedoButtons()
update toolbar undo/redo buttons (called when user press Ctrl+Z/Y)
FXStatusBar * myStatusbar
The status bar.
void computeNetwork(GNEApplicationWindow *window, bool force=false, bool volatileOptions=false, std::string additionalPath="", std::string demandPath="")
trigger full netbuild computation param[in] window The window to inform about delay param[in] force W...
@ MID_HOTKEY_ALT_8_TOOGLEEDITOPTION
toogle edit option
static void initCursors(FXApp *a)
Initiate GUICursorSubSys.
FXMenuCheck * menuCheckShowAllPersonPlans
show all person plans
NetworkMenuCommands(const EditMenuCommands *editMenuCommandsParent)
constructor
long onCmdClose(FXObject *, FXSelector, void *)
called when the command/FXCall close is executed
long onCmdToogleWarnAboutMerge(FXObject *, FXSelector, void *)
toogle warn for merge
A logging window for the gui.
long onCmdEditViewScheme(FXObject *, FXSelector, void *)
Called on menu Edit->Visualization.
long onCmdUndo(FXObject *, FXSelector, void *)
called when user press Ctrl+Z
virtual double getZPos() const =0
Returns the camera height corresponding to the current zoom factor.
FXMenuCheck * menuCheckShowDemandElements
menu check to show Demand Elements
void p_end()
End undo command sub-group. If the sub-group is still empty, it will be deleted; otherwise,...
GNEViewNet * myViewNet
pointer to current view net
FXSplitter * myMainSplitter
The splitter that divides the main window into view and the log window.
void resetWritable()
Resets all options to be writeable.
void showViewschemeEditor()
show viewsscheme editor
@ MID_HOTKEY_ALT_5_TOOGLEEDITOPTION
toogle edit option
bool set(const std::string &name, const std::string &value)
Sets the given value for the named option.
void setTarget(FXObject *tgt)
set the target
#define GUIDesignSplitterMDI
MDI Splitter.
static std::string addExtension(const std::string &path, const std::string &extension)
Add an extension to the given file path.
long onUpdUndo(FXObject *obj, FXSelector sel, void *ptr)
called when the update/FXCall undo is executed
long onCmdToogleSelectEdges(FXObject *, FXSelector, void *)
toogle select edges
const std::vector< GUISUMOAbstractView::Decal > & getDecals() const
Returns the parsed decals.
long onUpdSaveAdditionals(FXObject *, FXSelector, void *)
called when the update/FXCall save additionals is executed
const std::vector< TAZCurrent::TAZEdge > & getEdgeAndTAZChildrenSelected() const
get map with edge and TAZChildren
#define GUIDesignStatusBar
design used in status bar
void clearSelectedEdges()
clear current TAZ children
void saveJoined(OptionsCont &oc)
save log of joined junctions (and nothing else)
void getVisibleDemandMenuCommands(std::vector< FXMenuCheck * > &commands) const
get visible demand menu commands
const FXString myTitlePrefix
the prefix for the window title
#define GUIDesignToolbarMenuBarNetedit
design for top toolbar (file, edit, processing...) used only in netedit (due supermodes buttons)
long onCmdSaveDemandElementsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save demand elements as is executed
LocateMenuCommands(GNEApplicationWindow *GNEApp)
constructor
void setSnapshots(GUISUMOAbstractView *view) const
Makes a snapshot if it has been parsed.
@ MID_HOTKEY_F1_ONLINEDOCUMENTATION
hot key <F1> open online documentation
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
long onCmdSaveDemandElements(FXObject *, FXSelector, void *)
called when the command/FXCall save demand elements is executed
FXEX::FXThreadEvent myLoadThreadEvent
io-event with the load-thread
long onCmdCopyTemplate(FXObject *, FXSelector, void *)
std::vector< GUIGlChildWindow * > myGLWindows
long onCmdToogleGrid(FXObject *, FXSelector, void *)
called if the user press key combination Ctrl + G to toogle grid
bool continueWithUnsavedAdditionalChanges(const std::string &operation)
warns about unsaved changes in additionals and gives the user the option to abort
long onCmdCopy(FXObject *, FXSelector, void *)
bool continueWithUnsavedDemandElementChanges(const std::string &operation)
warns about unsaved changes in demand elements and gives the user the option to abort
long onCmdFocusFrame(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits f
@ MID_HOTKEY_CTRL_C_COPY
Copy the current selection / element.
long onUpdReload(FXObject *, FXSelector, void *)
called when the update/FXCall reload is executed
@ MID_HOTKEY_CTRL_K_OPENTLSPROGRAMS
Load file with TLS Programs.
static void resetFont()
to be called when the font context is invalidated
@ MID_CLEARMESSAGEWINDOW
Clear simulation output.
ProcessingMenuCommands(GNEApplicationWindow *GNEApp)
constructor
@ MID_HOTKEY_CTRL_R_RELOAD
Reload the previously loaded simulation.
static FXString getTitleText(const FXString &appname, FXString filename="")
Returns the title text in dependance to an optional file name.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
void buildDemandMenuCommands(FXMenuPane *editMenu)
build menu commands
GNETAZFrame * getTAZFrame() const
get frame for GNE_NMODE_TAZ
const std::string & isUndoRedoEnabled() const
check if undo-redo is enabled
static OptionsCont & getOptions()
Retrieves the options.
DemandMenuCommands demandMenuCommands
Demand Menu Commands.
bool cleanInvalidCrossings(GNEUndoList *undoList)
clear invalid crossings
The main window of the Netedit.
static void close()
close GUIIconSubSys
void disableUndoRedo(const std::string &reason)
disable undo-redo giving a string with the reason
@ MID_HOTKEY_ESC
hot key <ESC> abort current edit operation
void unregisterMsgHandlers()
unregister message handlers
EditMenuCommands myEditMenuCommands
Edit Menu Commands.
const std::string & getMsg() const
Returns the message.
long computeJunctionWithVolatileOptions()
called if the user selects Processing->compute junctions with volatile options
void unSet(const std::string &name, bool failOnNonExistant=true) const
Marks the option as unset.
void copyTemplate()
copy template (used by shortcut)
FXMenuCommand * saveDemandElements
FXMenuCommand for enable or disable save demand elements.
long onKeyPress(FXObject *o, FXSelector sel, void *data)
Called when user press a key.
@ MID_HOTKEY_F2_ABOUT
hot key <F2> open about dialog
@ MID_LOCATEPERSON
Locate person - button.
@ MID_LOCATESTOP
Locate stop - button.
#define GUIDesignSplitter
@ MID_HOTKEY_D_DELETEMODE
hotkey for mode deleting things
static void initTextures(FXApp *a)
Initiate GUITextureSubSys for textures.
@ MID_HOTKEY_C_CONNECTMODE_PERSONPLANMODE
hotkey for mode connecting lanes
void disableSaveDemandElementsMenu()
disable save demand elements
FXMenuCheck * menuCheckShowJunctionBubble
menu check to show connection as buuble in "Move" mode.
long onCmdOpenTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall open additionals is executed
FXMenuPane * myFileMenu
the submenus
void update() const
Mark the entire GNEViewNet to be repainted later.
void setSelector(FXSelector sel)
set the selector
@ MID_HOTKEY_CTRL_SHIFT_S_SAVENETWORK_AS
save network as
void redo()
redo the last command group
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
@ MID_HOTKEY_CTRL_G_GAMINGMODE_TOOGLEGRID
Toogle Gaming mode in SUMO and grid in NETEDIT.
long onCmdSetTemplate(FXObject *, FXSelector, void *)
static void initIcons(FXApp *a)
Initiate GUIIconSubSys.
struct for edit menu commands
FXCursor * getDefaultCursor()
get default cursor
@ MID_HOTKEY_Z_TAZMODE
hotkey for mode editing TAZ
ProcessingMenuCommands myProcessingMenuCommands
Edit Menu Commands.
FileMenuCommands(GNEApplicationWindow *GNEApp)
constructor
static FXString getFilename2Write(FXWindow *parent, const FXString &header, const FXString &extension, FXIcon *icon, FXString ¤tFolder)
Returns the file name to write.
long onCmdToogleExtendSelection(FXObject *, FXSelector, void *)
toogle extend selection
A single child window which contains a view of the simulation area.
long onCmdPaste(FXObject *, FXSelector, void *)
void hotkeyEnter()
handle enter keypress
static void buildNETEDITAccelerators(GNEApplicationWindow *GNEApp)
build NETEDIT Accelerators
@ MID_HOTKEY_S_SELECTMODE
hotkey for mode selecting objects
FXMenuCheck * menuCheckExtendSelection
menu check to extend to edge nodes
@ MID_HOTKEY_ALT_F4_CLOSE
Main window closes.
const StringVector & getStringVector(const std::string &name) const
Returns the list of string-value of the named option (only for Option_StringVector)
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid.
long onCmdOpenNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall open network is executed
@ EVENT_DEBUG_OCCURRED
send when a debug occured
FXMutex myTrackerLock
A lock to make the removal and addition of trackers secure.
void buildWindowsMenuCommands(FXMenuPane *windowsMenu)
build menu commands
long onUpdSaveDemandElements(FXObject *, FXSelector, void *)
called when the update/FXCall save demand elements is executed
#define GUIDesignHorizontalFrameStatusBar
Horizontal frame used in status bar.
void undo()
undo the last command group
WindowsMenuCommands(GNEApplicationWindow *GNEApp)
constructor
bool myAmLoading
information whether the gui is currently loading and the load-options shall be greyed out
GNENet * getNet() const
get the net object
static std::string clipped
bool joinSelectedJunctions(GNEUndoList *undoList)
join selected junctions
@ EVENT_WARNING_OCCURRED
send when a warning occured
GNENet * myNet
we are responsible for the net
long onCmdToogleShowDemandElements(FXObject *, FXSelector, void *)
LocateMenuCommands myLocateMenuCommands
Locate Menu Commands.
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Called when user releases a key.
SupermodeCommands(GNEApplicationWindow *GNEApp)
constructor
std::string myFile
the name of the loaded file
@ MID_HOTKEY_ALT_1_TOOGLEEDITOPTION
toogle edit option
FXLabel * myCartesianCoordinate
Labels for the current cartesian and geo-coordinate.
@ MID_HOTKEY_CTRL_L_SAVEASPLAINXML
save network as plain XML
FXMenuCheck * menuCheckShowConnections
menu check to show connections
long onCmdSetMode(FXObject *, FXSelector sel, void *)
called when user press a mode button (Network or demand)
void joinRoutes(GNEUndoList *undoList)
join routes
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid.
@ MID_GNE_TOOLBARFILE_SAVEADDITIONALS_AS
save additionals as
@ MID_OPEN_NETWORK
Open network - ID.
void addSeparator()
Adds a a separator to this log window.
static bool endsWith(const std::string &str, const std::string suffix)
Checks whether a given string ends with the suffix.
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid.
void enableSaveDemandElementsMenu()
enable save demand elements
@ MID_GNE_TOOLBARFILE_SAVEDEMAND_AS
save demand elements as
@ MID_HOTKEY_CTRL_X_CUT
cut the current selection / element
void clear()
Clears the window.
long onCmdDel(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits del
FXMenuCheck * menuCheckHideNonInspectedDemandElements
Hide non inspected demand elements.
void setWindowSizeAndPos()
perform initial window positioning and sizing according to user options / previous call
GUIMessageWindow * myMessageWindow
A window to display messages, warnings and error in.
std::vector< FXMainWindow * > myTrackerWindows
long onCmdToogleEditOptions(FXObject *, FXSelector, void *)
called if the user press key combination Alt + <0-9>
@ MID_HOTKEY_CTRL_SHIFT_K_SAVETLS
save TLS Programs
GNENet * myNet
the loaded net
static void setValidation(const std::string &validationScheme, const std::string &netValidationScheme)
Enables or disables validation.
@ ID_LOADTHREAD_EVENT
The loading thread.
bool isAdditionalsSaved() const
check if additionals are saved
SupermodeCommands mySupermodeCommands
Supermode Commands.
void showNetworkProcessingMenuCommands()
show network processing menu commands
@ MID_HOTKEY_F8_CLEANINVALID_CROSSINGS_DEMANDELEMENTS
clean invalid crossings in network mode and demand elements in demand mode
void hideDemandMenuCommands()
hide all menu commands
long onCmdLoadDemandInSUMOGUI(FXObject *, FXSelector, void *)
called when user toogle windows checkbox "load demand"
void set(double x, double y)
set positions x and y
void abortOperation(bool clearSelection=true)
abort current edition operation
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
FXMenuPane * myFileMenuDemandElements
bool hadDependentBuild
check if had dependent build
FXMenuPane * myLocatorMenu
long onCmdClearMsgWindow(FXObject *, FXSelector, void *)
called when the command/FXCall clear message windows is executed
long onUpdRedo(FXObject *obj, FXSelector sel, void *ptr)
called when the update/FXCall redo is executed
void create()
Creates the main window (required by FOX)
@ MID_HOTKEY_CTRL_T_OPENSUMONETEDIT
Open current network in SUMO or in NETEDIT.
bool parseTLSPrograms(const std::string &file)
parse TLS Programs from a file
FXMenuCommand * toogleGrid
FXMenuCommand for toogle grid.
void buildFileMenuCommands(FXMenuPane *editMenu)
build menu commands
void handleEvent_Message(GUIEvent *e)
hanlde event of type message
#define GUIDesignToolBar
design for default toolbar
int getNumberOfDemandElements(SumoXMLTag type=SUMO_TAG_NOTHING) const
Returns the number of demand elements of the net.
void enableSaveTLSProgramsMenu()
enable save TLS Programs
FXMenuCommand * saveAdditionals
FXMenuCommand for enable or disable save additionals.
@ GNE_SUPERMODE_NETWORK
Network mode (Edges, junctions, etc..)
long onCmdAbort(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits esc
Supermode currentSupermode
the current supermode
TemplateEditor * getTemplateEditor() const
get template editor
@ MID_HOTKEY_W_PROHIBITIONMODE_PERSONTYPEMODE
hotkey for mode editing connection prohibitions AND person types
@ EVENT_SIMULATION_LOADED
send when a simulation has been loaded
@ MID_WINDOW
Main window-ID.
@ MID_HOTKEY_F9_EDIT_VIEWSCHEME
open edit scheme menu
GNEInspectorFrame * getInspectorFrame() const
get frame for GNE_NMODE_INSPECT
A point in 2D or 3D with translation and scaling methods.
FXMenuCommand * saveDemandElementsAs
FXMenuCommand for enable or disable save demand elements as.
GUICompleteSchemeStorage gSchemeStorage
@ MID_HOTKEY_F10_OPTIONSMENU
open options menu
double x() const
Returns the x-position.
long onCmdClearTemplate(FXObject *, FXSelector, void *)
~GNEApplicationWindow()
Destructor.
SUMOTime getCurrentSimTime() const
get current simulation time (pure virtual but we don't need it)
An XML-handler for visualisation schemes.
void getVisibleCommonMenuCommands(std::vector< FXMenuCheck * > &commands) const
get visible common menu commands
long onUpdOpen(FXObject *, FXSelector, void *)
called when the command/FXCall on update open executed
GNELoadThread * myLoadThread
the thread that loads the network
FXMenuCommand * editViewScheme
FXMenuCommand for edit view scheme.
GNEUndoList * getUndoList() const
get the undoList object
FXMenuPane * myFileMenuTLS
const GNEViewNetHelper::DemandViewOptions & getDemandViewOptions() const
get demand view options
long onCmdEnter(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits enter
void hideSupermodeCommands()
hide all menu commands
void save(OptionsCont &oc)
save the network
void enableSaveAdditionalsMenu()
enable save additionals
void getVisibleNetworkMenuCommands(std::vector< FXMenuCheck * > &commands) const
get visible network menu commands
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when a key is released
A storage for options typed value containers)
bool continueWithUnsavedChanges(const std::string &operation)
warns about unsaved changes and gives the user the option to abort
#define GUIDesignToolBarRaisedNext
design for first toolbar shell positioned in the next position of dock
long onCmdNewNetwork(FXObject *, FXSelector, void *)
Supermode
@brie enum for supermodes
long onCmdToogleLockPerson(FXObject *, FXSelector, void *)
toogle lock person in super mode demand
long onCmdAbout(FXObject *, FXSelector, void *)
called when the command/FXCall show about dialog is executed
void dependentBuild()
build dependent
long onCmdSaveNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall save network is executed
@ MID_HOTKEY_ALT_9_TOOGLEEDITOPTION
toogle edit option
FXMenuCheck * menuCheckWarnAboutMerge
menu check to we should warn about merging junctions
FXMenuCommand * saveAdditionalsAs
FXMenuCommand for enable or disable save additionals As.
long onCmdToogleHideConnections(FXObject *, FXSelector, void *)
toogle hide connections
TAZSelectionStatistics * getTAZSelectionStatisticsModul() const
get TAZ Selection Statistics modul
void applyViewport(GUISUMOAbstractView *view) const
Sets the viewport which has been parsed.
@ EVENT_GLDEBUG_OCCURRED
send when a gldebug occured
long onCmdOpenDemandElements(FXObject *, FXSelector, void *)
called when the command/FXCall open demand is executed
@ MID_GNE_TOOLBARFILE_OPENFOREIGN
open foreign network
void closeAllWindows()
this method closes all windows and deletes the current simulation */
@ MID_HOTKEY_SHIFT_F1_TEMPLATE_SET
set template
@ MID_HOTKEY_ALT_6_TOOGLEEDITOPTION
toogle edit option
@ MID_HOTKEY_T_TLSMODE_VTYPEMODE
hotkey for mode editing TLS AND Vehicle Types
FXString gCurrentFolder
The folder used as last.
std::string mySettingsFile
the name of the settings file to load
FXMenuCheck * loadAdditionalsInSUMOGUI
menu check for load additionals in SUMO GUI
long onCmdCut(FXObject *, FXSelector, void *)
called when user press Ctrl+Z
long onLoadThreadEvent(FXObject *, FXSelector, void *)
called when the command/FXCall load thread is executed
long onUpdNeedsNetwork(FXObject *, FXSelector, void *)
called when the update/FXCall needs network is executed
long onCmdSetSuperMode(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits an edit-supermode hotkey
long onCmdOpenRecent(FXObject *, FXSelector, void *)
called when the command/FXCall open recent is executed
@ MID_HOTKEY_SHIFT_F5_COMPUTEJUNCTIONS_VOLATILE
compute junctions with volatile options
long onCmdSaveAsNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall save network as is executed
bool isDemandElementsSaved() const
check if demand elements are saved
#define GUIDesignToolBarRaisedSame
design for toolbar
@ MID_HOTKEY_CTRL_Z_UNDO
Redo.
void clearTemplate()
clear template (used by shortcut)
long p_onUpdRedo(FXObject *, FXSelector, void *)
event after Redo
void loadConfigOrNet(const std::string &file, bool isNet, bool useStartupOptions, bool newNet=false)
begins the loading of a netconvert configuration or a a network
@ MID_HOTKEY_F7_JOIN_SELECTEDJUNCTIONS_ROUTES
join selected junctions in network mode and normalice demand element ids in demand mode
FXGLVisual * myGLVisual
The gl-visual used.
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
@ MID_HOTKEY_ALT_4_TOOGLEEDITOPTION
toogle edit option
GNEViewNet * getViewNet() const
get view net
@ MID_OPEN_CONFIG
Open configuration - ID.
@ MID_HOTKEY_CTRL_V_PASTE
paste the current selection / element
FXLabel * myGeoCoordinate
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when a key is pressed
@ MID_HOTKEY_CTRL_Q_CLOSE
Main window closes.
void appendMsg(GUIEventType eType, const std::string &msg)
Adds new text to the window.
long onCmdSetSupermode(FXObject *, FXSelector sel, void *)
long onCmdToogleHideNonInspecteDemandElements(FXObject *, FXSelector, void *)
toogle hide non inspected demand elements
@ EVENT_ERROR_OCCURRED
send when a error occured
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
void updateControls()
update control contents after undo/redo or recompute
void create()
Creates the widget.
long onCmdSaveTLSPrograms(FXObject *, FXSelector, void *)
called when the command/FXCall save TLSPrograms is executed
GNEFrame * getCurrentShownFrame() const
get current frame (note: it can be null)
bool myViewportFromRegistry
whether loading viewport from registry
void disableSaveAdditionalsMenu()
disable save additionals
void saveAdditionals(const std::string &filename)
save additional elements of the network
@ MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
@ MID_HOTKEY_V_VEHICLEMODE
hotkey for mode create vehicles
double y() const
Returns the y-position.
void savePlain(OptionsCont &oc)
save plain xml representation of the network (and nothing else)
GUIPerspectiveChanger & getChanger() const
get changer
MenuBarFile myMenuBarFile
MenuBarFile.
void handleEvent_NetworkLoaded(GUIEvent *e)
handle event of type Network loaded
FXMenuCheck * menuCheckHideConnections
menu check to hide connections in connect mode
@ MID_LOCATEJUNCTION
Locate junction - button.
FXMenuCommand * openInSUMOGUI
FXMenuCommand for open in SUMO GUI.
GUIEventType getOwnType() const
returns the event type
long onCmdOpenSUMOGUI(FXObject *sender, FXSelector sel, void *ptr)
called if the user hints ctrl + T
@ MID_HOTKEY_DEL
hot key delete selections or elements
@ MID_HOTKEY_BACKSPACE
hot key <Backspace> remove last sub-operation
long onCmdSetMode(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits an edit-mode hotkey
void saveTLSPrograms(const std::string &filename)
save TLS Programs elements of the network
FileMenuCommands myFileMenuCommands
File Menu Commands.
long onCmdSaveAdditionalsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save additionals as is executed
long onCmdOpenAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall open additionals is executed
long onCmdSaveJoined(FXObject *, FXSelector, void *)
called when the command/FXCall save joined is executed
void removeSolitaryJunctions(GNEUndoList *undoList)
removes junctions that have no edges
@ GNE_SUPERMODE_DEMAND
Demanding mode (Routes, Vehicles etc..)
void hideDemandProcessingMenuCommands()
show demand processing menu commands
FXMenuPane * myWindowsMenu
void buildLocateMenuCommands(FXMenuPane *locateMenu)
build menu commands
FXMenuCommand * undoLastChange
FXMenuCommand for undo last change.
long onCmdToogleChangeAllPhases(FXObject *, FXSelector, void *)
toogle change all phases
void setStatusBarText(const std::string &statusBarText)
set text of the statusBar
void hideNetworkMenuCommands()
hide all menu commands
The application's "About" - dialog.
GNEUndoList * getUndoList()
get pointer to undoList
void saveViewport(const double x, const double y, const double z, const double rot)
Makes the given viewport the default.
long onCmdReload(FXObject *, FXSelector, void *)
called when the command/FXCall reload is executed
@ MID_HOTKEY_SHIFT_F3_TEMPLATE_CLEAR
clear template
static void close()
close GUITextureSubSys
void registerMsgHandlers()
register message handlers
FXMenuCheck * menuCheckAutoOppositeEdge
menu check to create auto create opposite edge
@ MID_HOTKEY_ENTER
hot key <ENTER> accept current operation
GUISelectedStorage gSelected
A global holder of selected objects.
@ MID_HOTKEY_F3_SUPERMODE_NETWORK
hot key <F3> set network mode in NETEDIT
GNETLSEditorFrame * getTLSEditorFrame() const
get frame for GNE_NMODE_TLS
long onCmdToogleHideShapes(FXObject *, FXSelector, void *)
toogle hide shapes in super mode demand
static void setDefaultOptions(OptionsCont &oc)
sets required options for proper functioning
void buildSupermodeCommands(FXMenuPane *editMenu)
build menu commands
@ MID_LOCATEVEHICLE
Locate vehicle - button.
void buildNetworkMenuCommands(FXMenuPane *editMenu)
build menu commands
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
long onCmdToogleShowGrid(FXObject *, FXSelector, void *)
toogle show grid
static void fillOptions(OptionsCont &oc)
clears and initializes the OptionsCont
FXGLCanvas * getBuildGLCanvas() const
void addDecals(const std::vector< Decal > &decals)
add decals
static bool isReadable(std::string path)
Checks whether the given file is readable.
static void resetTextures()
Reset textures.
@ MID_HOTKEY_P_POLYGONMODE_PERSONMODE
hotkey for mode creating polygons
void fillMenuBar()
Builds the menu bar.
@ MID_RECENTFILE
Loads a file previously loaded.
@ MID_HOTKEY_CTRL_Y_REDO
Undo.
FXMenuCheck * menuCheckChainEdges
menu check to the endpoint for a created edge should be set as the new source
@ MID_HOTKEY_ALT_0_TOOGLEEDITOPTION
toogle edit option
void updateControls()
update control contents after undo/redo or recompute
long onUpdSaveNetwork(FXObject *, FXSelector, void *)
called when the update/FXCall save network is executed
ToolbarsGrip & getToolbarsGrip()
get ToolbarsGrip
@ MID_HOTKEY_ALT_3_TOOGLEEDITOPTION
toogle edit option
long onCmdEditChosen(FXObject *, FXSelector, void *)
called when the command/FXCall edit chosen is executed
static bool checkOptions()
checks shared options and sets StdDefs
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
@ MID_HOTKEY_CTRL_SHIFT_A_SAVEADDITIONALS
Save Additional Elements.
FXMenuCheck * menuCheckChangeAllPhases
menu check to set change all phases
long onCmdRedo(FXObject *, FXSelector, void *)
void enableUndoRedo()
disable undo-redo
long onCmdLoadAdditionalsInSUMOGUI(FXObject *, FXSelector, void *)
called when user toogle windows checkbox "load additionals"
@ MID_HOTKEY_CTRL_D_SINGLESIMULATIONSTEP_OPENDEMAND
Perform a single simulation step in SUMO and open Demand Elements in NETEDIT.
FXMenuCommand * editViewPort
FXMenuCommand for edit view port.
GNEUndoList * myUndoList
the one and only undo list
@ MID_HOTKEY_CTRL_A_STARTSIMULATION_OPENADDITIONALS
Start the simulation in SUMO and open Additionals Elemements in NETEDIT.
virtual double getXPos() const =0
Returns the x-offset of the field to show stored in this changer.
const GNEViewNetHelper::CommonViewOptions & getCommonViewOptions() const
get Common view options
@ MID_HOTKEY_I_INSPECTMODE
hotkey for mode inspecting object attributes
long p_onUpdUndo(FXObject *, FXSelector, void *)
FXMenuCheck * loadDemandInSUMOGUI
menu check for load demand in SUMO GUI
void saveVisualizationSettings() const
std::string myConfigPattern
Input file pattern.
long onCmdToogleShowJunctionBubbles(FXObject *, FXSelector, void *)
toogle show junction bubbles
long onCmdSaveTLSProgramsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save TLSPrograms as is executed
FXMenuCheck * menuCheckHideShapes
Hide shapes (Polygons and POIs)
@ MID_HOTKEY_CTRL_N_NEWNETWORK
create new empty newtork
Builds additional objects for GNENet (busStops, chargingStations, detectors, etc.....
long onCmdToogleChainEdges(FXObject *, FXSelector, void *)
toogle chain edges
@ MID_HOTKEY_CTRL_SHIFT_D_SAVEDEMANDELEMENTS
Save Demand Elements.
void hotkeyDel()
handle del keypress
long onCmdSaveAsPlainXML(FXObject *, FXSelector, void *)
called when the command/FXCall save as plain xml is executed
void showSupermodeCommands()
show all menu commands
@ MID_LOCATEPOLY
Locate polygons - button.
FXSynchQue< GUIEvent * > myEvents
List of got requests.
long onCmdOpenConfiguration(FXObject *, FXSelector, void *)
called when the command/FXCall open configuration is executed
void p_begin(const std::string &description)
Begin undo command sub-group. This begins a new group of commands that are treated as a single comman...
void computeDemandElements(GNEApplicationWindow *window)
compute demand elements param[in] window The window to inform about delay
void showNetworkMenuCommands()
show all menu commands
std::string addSettings(GUISUMOAbstractView *view=0) const
Adds the parsed settings to the global list of settings.
long onCmdEditViewport(FXObject *, FXSelector, void *)
Called on menu Edit->Viewport.
long onCmdLocate(FXObject *, FXSelector, void *)
called when the command/FXCall locate is executed
@ MID_HOTKEY_CTRL_S_STOPSIMULATION_SAVENETWORK
Stop the simulation in SUMO and save network in NETEDIT.
double getTrackerInterval() const
get current tracker interval (pure virtual but we don't need it)
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
Returns the number of additionals of the net.
DemandMenuCommands(const EditMenuCommands *editMenuCommandsParent)
constructor
void updateSuperModeMenuCommands(int supermode)
update FXMenuCommands
long onCmdProcessButton(FXObject *, FXSelector sel, void *)
called when user press a process button (or a shortcut)
@ MID_LOCATEADD
Locate addtional structure - button.
@ MID_HOTKEY_E_EDGEMODE
hotkey for mode adding edges
GNEApplicationWindow()
FOX needs this for static members.
static void resetLoaded()
resets loaded location elements
FXMenuCommand * saveTLSPrograms
FXMenuCommand for enable or disable save additionals.
@ MID_HOTKEY_R_CROSSINGMODE_ROUTEMODE
hotkey for mode editing crossing AND routes
void buildProcessingMenuCommands(FXMenuPane *editMenu)
build menu commands
void showDemandMenuCommands()
show all menu commands
bool isNetSaved() const
return if net has to be saved
void cleanUnusedRoutes(GNEUndoList *undoList)
clean unused routes
long onCmdToogleAutoOppositeEdge(FXObject *, FXSelector, void *)
toogle autoOpposite edge
void hideNetworkProcessingMenuCommands()
show network processing menu commands
long onCmdOpenForeign(FXObject *, FXSelector, void *)
called when the command/FXCall open foreign is executed
GNEApplicationWindow * myGNEApp
pointer to current GNEApplicationWindows
@ MID_HOTKEY_M_MOVEMODE
hotkey for mode moving element
@ MID_HOTKEY_F5_COMPUTE_NETWORK_DEMAND
compute Network in network mode and Demand elements in demand mode
#define WRITE_MESSAGE(msg)
long onCmdBackspace(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits backspace
FXDEFMAP(GNEApplicationWindow) GNEApplicationWindowMap[]
FXMenuCheck * menuCheckLockPerson
Lock Person.
void saveDemandElements(const std::string &filename)
save demand element elements of the network
EditMenuCommands(GNEApplicationWindow *GNEApp)
constructor
@ MID_HOTKEY_F6_CLEAN_SOLITARYJUNCTIONS_UNUSEDROUTES
clean junctions without edges in network mode and unused routes in demand mode
long onCmdSaveAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall save additionals is executed
FXMenuPane * myFileMenuAdditionals
GNEViewParent * getViewParent() const
get the net object
GUISUMOAbstractView * getView() const
return GUISUMOAbstractView
FXMenuCheck * menuCheckMoveElevation
menu check to apply movement to elevation
@ MID_HOTKEY_SHIFT_F2_TEMPLATE_COPY
copy template
void setTemplate()
set template (used by shortcut)
FXMDIMenu * myMDIMenu
The menu used for the MDI-windows.
Editor for the list of chosen objects.
NetworkMenuCommands networkMenuCommands
Network Menu Commands.
FXMenuCheck * menuCheckSelectEdges
menu check to select only edges
@ MID_HOTKEY_A_ADDITIONALMODE_STOPMODE
hotkey for mode editing additionals AND stops