Eclipse SUMO - Simulation of Urban MObility
GNEViewParent.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // A single child window which contains a view of the edited network (adapted
15 // from GUISUMOViewParent)
16 // While we don't actually need MDI for netedit it is easier to adapt existing
17 // structures than to write everything from scratch.
18 /****************************************************************************/
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
49 
50 #include "GNEApplicationWindow.h"
51 #include "GNEViewNet.h"
52 #include "GNENet.h"
53 #include "GNEViewParent.h"
54 #include "GNEUndoList.h"
55 
56 
57 // ===========================================================================
58 // FOX callback mapping
59 // ===========================================================================
60 
61 FXDEFMAP(GNEViewParent) GNEViewParentMap[] = {
62  FXMAPFUNC(SEL_COMMAND, MID_MAKESNAPSHOT, GNEViewParent::onCmdMakeSnapshot),
63  FXMAPFUNC(SEL_COMMAND, MID_LOCATEJUNCTION, GNEViewParent::onCmdLocate),
64  FXMAPFUNC(SEL_COMMAND, MID_LOCATEEDGE, GNEViewParent::onCmdLocate),
65  FXMAPFUNC(SEL_COMMAND, MID_LOCATEVEHICLE, GNEViewParent::onCmdLocate),
66  FXMAPFUNC(SEL_COMMAND, MID_LOCATEPERSON, GNEViewParent::onCmdLocate),
67  FXMAPFUNC(SEL_COMMAND, MID_LOCATEROUTE, GNEViewParent::onCmdLocate),
68  FXMAPFUNC(SEL_COMMAND, MID_LOCATESTOP, GNEViewParent::onCmdLocate),
69  FXMAPFUNC(SEL_COMMAND, MID_LOCATETLS, GNEViewParent::onCmdLocate),
70  FXMAPFUNC(SEL_COMMAND, MID_LOCATEADD, GNEViewParent::onCmdLocate),
71  FXMAPFUNC(SEL_COMMAND, MID_LOCATEPOI, GNEViewParent::onCmdLocate),
72  FXMAPFUNC(SEL_COMMAND, MID_LOCATEPOLY, GNEViewParent::onCmdLocate),
73  FXMAPFUNC(SEL_COMMAND, FXMDIChild::ID_MDI_MENUCLOSE, GNEViewParent::onCmdClose),
75 };
76 
77 // Object implementation
78 FXIMPLEMENT(GNEViewParent, GUIGlChildWindow, GNEViewParentMap, ARRAYNUMBER(GNEViewParentMap))
79 
80 
81 // ===========================================================================
82 // member method definitions
83 // ===========================================================================
84 
85 GNEViewParent::GNEViewParent(FXMDIClient* p, FXMDIMenu* mdimenu, const FXString& name, GNEApplicationWindow* parentWindow,
86  FXGLCanvas* share, GNENet* net, GNEUndoList* undoList, FXIcon* ic, FXuint opts, FXint x, FXint y, FXint w, FXint h) :
87  GUIGlChildWindow(p, parentWindow, mdimenu, name, parentWindow->getToolbarsGrip().navigation, ic, opts, x, y, w, h),
88  myGNEAppWindows(parentWindow) {
89  // Add child to parent
90  myParent->addGLChild(this);
91 
92  // Create Vertical separator
93  new FXVerticalSeparator(myGripNavigationToolbar, GUIDesignVerticalSeparator);
94 
95  // Create undo/redo buttons
96  myUndoButton = new FXButton(myGripNavigationToolbar, "\tUndo\tUndo the last Change.", GUIIconSubSys::getIcon(ICON_UNDO), parentWindow, MID_HOTKEY_CTRL_Z_UNDO, GUIDesignButtonToolbar);
97  myRedoButton = new FXButton(myGripNavigationToolbar, "\tRedo\tRedo the last Change.", GUIIconSubSys::getIcon(ICON_REDO), parentWindow, MID_HOTKEY_CTRL_Y_REDO, GUIDesignButtonToolbar);
98 
99  // Create Frame Splitter
100  myFramesSplitter = new FXSplitter(myContentFrame, this, MID_GNE_VIEWPARENT_FRAMEAREAWIDTH, GUIDesignSplitter | SPLITTER_HORIZONTAL);
101 
102  // Create frames Area
103  myFramesArea = new FXHorizontalFrame(myFramesSplitter, GUIDesignFrameArea);
104 
105  // Set default width of frames area
106  myFramesArea->setWidth(220);
107 
108  // Create view area
109  myViewArea = new FXHorizontalFrame(myFramesSplitter, GUIDesignViewnArea);
110 
111  // Add the view to a temporary parent so that we can add items to myViewArea in the desired order
112  FXComposite* tmp = new FXComposite(this);
113 
114  // Create view net
115  GNEViewNet* viewNet = new GNEViewNet(tmp, myViewArea, *myParent, this, net, undoList, myParent->getGLVisual(), share);
116 
117  // show toolbar grips
118  myGNEAppWindows->getToolbarsGrip().buildMenuToolbarsGrip();
119 
120  // Set pointer myView with the created view net
121  myView = viewNet;
122 
123  // Create Network frames
124  myFrames.inspectorFrame = new GNEInspectorFrame(myFramesArea, viewNet);
125  myFrames.selectorFrame = new GNESelectorFrame(myFramesArea, viewNet);
126  myFrames.connectorFrame = new GNEConnectorFrame(myFramesArea, viewNet);
127  myFrames.prohibitionFrame = new GNEProhibitionFrame(myFramesArea, viewNet);
128  myFrames.TLSEditorFrame = new GNETLSEditorFrame(myFramesArea, viewNet);
129  myFrames.additionalFrame = new GNEAdditionalFrame(myFramesArea, viewNet);
130  myFrames.crossingFrame = new GNECrossingFrame(myFramesArea, viewNet);
131  myFrames.TAZFrame = new GNETAZFrame(myFramesArea, viewNet);
132  myFrames.deleteFrame = new GNEDeleteFrame(myFramesArea, viewNet);
133  myFrames.polygonFrame = new GNEPolygonFrame(myFramesArea, viewNet);
134  myFrames.createEdgeFrame = new GNECreateEdgeFrame(myFramesArea, viewNet);
135 
136  // Create Demand frames
137  myFrames.routeFrame = new GNERouteFrame(myFramesArea, viewNet);
138  myFrames.vehicleFrame = new GNEVehicleFrame(myFramesArea, viewNet);
139  myFrames.vehicleTypeFrame = new GNEVehicleTypeFrame(myFramesArea, viewNet);
140  myFrames.stopFrame = new GNEStopFrame(myFramesArea, viewNet);
141  myFrames.personTypeFrame = new GNEPersonTypeFrame(myFramesArea, viewNet);
142  myFrames.personFrame = new GNEPersonFrame(myFramesArea, viewNet);
143  myFrames.personPlanFrame = new GNEPersonPlanFrame(myFramesArea, viewNet);
144 
145  // Update frame areas after creation
146  onCmdUpdateFrameAreaWidth(nullptr, 0, nullptr);
147 
148  // Hidde all Frames Area
149  hideFramesArea();
150 
151  // Buld view toolBars
152  myView->buildViewToolBars(*this);
153 
154  // create windows
156 }
157 
158 
160  // delete toolbar grips
162  // Remove child before remove
163  myParent->removeGLChild(this);
164 }
165 
166 
167 void
170 }
171 
172 
173 GNEFrame*
176 }
177 
178 
181  return myFrames.inspectorFrame;
182 }
183 
184 
187  return myFrames.selectorFrame;
188 }
189 
190 
193  return myFrames.connectorFrame;
194 }
195 
196 
199  return myFrames.TLSEditorFrame;
200 }
201 
202 
205  return myFrames.additionalFrame;
206 }
207 
208 
211  return myFrames.crossingFrame;
212 }
213 
214 
217  return myFrames.TAZFrame;
218 }
219 
220 
223  return myFrames.deleteFrame;
224 }
225 
226 
229  return myFrames.polygonFrame;
230 }
231 
232 
235  return myFrames.prohibitionFrame;
236 }
237 
238 
241  return myFrames.createEdgeFrame;
242 }
243 
244 
247  return myFrames.routeFrame;
248 }
249 
250 
253  return myFrames.vehicleFrame;
254 }
255 
256 
259  return myFrames.vehicleTypeFrame;
260 }
261 
262 
265  return myFrames.stopFrame;
266 }
267 
268 
271  return myFrames.personTypeFrame;
272 }
273 
274 
277  return myFrames.personFrame;
278 }
279 
280 
283  return myFrames.personPlanFrame;
284 }
285 
286 
287 void
289  // show and recalc framesArea if at least there is a frame shown
290  if (myFrames.isFrameShown()) {
291  myFramesArea->recalc();
292  myFramesArea->show();
293  }
294 }
295 
296 
297 void
299  // hide and recalc frames Area if all frames are hidden is enabled
300  if (!myFrames.isFrameShown()) {
301  myFramesArea->hide();
302  myFramesArea->recalc();
303  }
304 }
305 
306 
309  return myParent;
310 }
311 
312 
315  return myGNEAppWindows;
316 }
317 
318 
319 void
321  if (chooserDialog == nullptr) {
322  throw ProcessError("ChooserDialog already deleted");
323  } else if (chooserDialog == myACChoosers.ACChooserJunction) {
325  } else if (chooserDialog == myACChoosers.ACChooserEdges) {
326  myACChoosers.ACChooserEdges = nullptr;
327  } else if (chooserDialog == myACChoosers.ACChooserVehicles) {
329  } else if (chooserDialog == myACChoosers.ACChooserPersons) {
330  myACChoosers.ACChooserPersons = nullptr;
331  } else if (chooserDialog == myACChoosers.ACChooserRoutes) {
332  myACChoosers.ACChooserRoutes = nullptr;
333  } else if (chooserDialog == myACChoosers.ACChooserStops) {
334  myACChoosers.ACChooserStops = nullptr;
335  } else if (chooserDialog == myACChoosers.ACChooserTLS) {
336  myACChoosers.ACChooserTLS = nullptr;
337  } else if (chooserDialog == myACChoosers.ACChooserAdditional) {
339  } else if (chooserDialog == myACChoosers.ACChooserPOI) {
340  myACChoosers.ACChooserPOI = nullptr;
341  } else if (chooserDialog == myACChoosers.ACChooserPolygon) {
342  myACChoosers.ACChooserPolygon = nullptr;
343  } else if (chooserDialog == myACChoosers.ACChooserProhibition) {
345  } else {
346  throw ProcessError("Unregistered chooserDialog");
347  }
348 }
349 
350 
351 void
355 }
356 
357 
358 long
359 GNEViewParent::onCmdMakeSnapshot(FXObject*, FXSelector, void*) {
360  // get the new file name
361  FXFileDialog opendialog(this, "Save Snapshot");
362  opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY));
363  opendialog.setSelectMode(SELECTFILE_ANY);
364  opendialog.setPatternList("All Image Files (*.gif, *.bmp, *.xpm, *.pcx, *.ico, *.rgb, *.xbm, *.tga, *.png, *.jpg, *.jpeg, *.tif, *.tiff, *.ps, *.eps, *.pdf, *.svg, *.tex, *.pgf)\n"
365  "GIF Image (*.gif)\nBMP Image (*.bmp)\nXPM Image (*.xpm)\nPCX Image (*.pcx)\nICO Image (*.ico)\n"
366  "RGB Image (*.rgb)\nXBM Image (*.xbm)\nTARGA Image (*.tga)\nPNG Image (*.png)\n"
367  "JPEG Image (*.jpg, *.jpeg)\nTIFF Image (*.tif, *.tiff)\n"
368  "Postscript (*.ps)\nEncapsulated Postscript (*.eps)\nPortable Document Format (*.pdf)\n"
369  "Scalable Vector Graphics (*.svg)\nLATEX text strings (*.tex)\nPortable LaTeX Graphics (*.pgf)\n"
370  "All Files (*)");
371  if (gCurrentFolder.length() != 0) {
372  opendialog.setDirectory(gCurrentFolder);
373  }
374  if (!opendialog.execute() || !MFXUtils::userPermitsOverwritingWhenFileExists(this, opendialog.getFilename())) {
375  return 1;
376  }
377  gCurrentFolder = opendialog.getDirectory();
378  std::string file = opendialog.getFilename().text();
379  std::string error = myView->makeSnapshot(file);
380  if (error != "") {
381  // write warning if netedit is running in testing mode
382  WRITE_DEBUG("Opening FXMessageBox 'error saving snapshot'");
383  // open message box
384  FXMessageBox::error(this, MBOX_OK, "Saving failed.", "%s", error.c_str());
385  // write warning if netedit is running in testing mode
386  WRITE_DEBUG("Closed FXMessageBox 'error saving snapshot' with 'OK'");
387  }
388  return 1;
389 }
390 
391 
392 long
393 GNEViewParent::onCmdClose(FXObject*, FXSelector /* sel */, void*) {
394  myParent->handle(this, FXSEL(SEL_COMMAND, MID_HOTKEY_CTRL_W_CLOSESIMULATION), nullptr);
395  return 1;
396 }
397 
398 
399 long
400 GNEViewParent::onCmdLocate(FXObject*, FXSelector sel, void*) {
401  GNEViewNet* viewNet = dynamic_cast<GNEViewNet*>(myView);
402  // check that viewNet exist
403  if (viewNet) {
404  // declare a vector in which save attribute carriers to locate
405  std::vector<GNEAttributeCarrier*> ACsToLocate;
406  switch (FXSELID(sel)) {
407  case MID_LOCATEJUNCTION: {
409  // set focus in the existent chooser dialog
410  myACChoosers.ACChooserJunction->setFocus();
411  } else {
412  // fill ACsToLocate with junctions
413  std::vector<GNEJunction*> junctions = viewNet->getNet()->retrieveJunctions();
414  ACsToLocate.reserve(junctions.size());
415  for (auto i : junctions) {
416  ACsToLocate.push_back(i);
417  }
418  myACChoosers.ACChooserJunction = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEJUNCTION), "Junction Chooser", ACsToLocate);
419  }
420  break;
421  }
422  case MID_LOCATEEDGE: {
424  // set focus in the existent chooser dialog
425  myACChoosers.ACChooserEdges->setFocus();
426  } else {
427  // fill ACsToLocate with edges
428  std::vector<GNEEdge*> edges = viewNet->getNet()->retrieveEdges();
429  ACsToLocate.reserve(edges.size());
430  for (auto i : edges) {
431  ACsToLocate.push_back(i);
432  }
433  myACChoosers.ACChooserEdges = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEEDGE), "Edge Chooser", ACsToLocate);
434  }
435  break;
436  }
437  case MID_LOCATEVEHICLE: {
439  // set focus in the existent chooser dialog
440  myACChoosers.ACChooserVehicles->setFocus();
441  } else {
442  // reserve memory
443  ACsToLocate.reserve(viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_VEHICLE).size() +
444  viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_TRIP).size() +
446  viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_FLOW).size());
447  // fill ACsToLocate with vehicles
448  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_VEHICLE)) {
449  ACsToLocate.push_back(i.second);
450  }
451  // fill ACsToLocate with vehicles
452  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_TRIP)) {
453  ACsToLocate.push_back(i.second);
454  }
455  // fill ACsToLocate with routeFlows
456  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_ROUTEFLOW)) {
457  ACsToLocate.push_back(i.second);
458  }
459  // fill ACsToLocate with routeFlowsFromTo
460  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_FLOW)) {
461  ACsToLocate.push_back(i.second);
462  }
463  myACChoosers.ACChooserVehicles = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEVEHICLE), "Vehicle Chooser", ACsToLocate);
464  }
465  break;
466  }
467  case MID_LOCATEPERSON: {
469  // set focus in the existent chooser dialog
470  myACChoosers.ACChooserPersons->setFocus();
471  } else {
472  // reserve memory
473  ACsToLocate.reserve(viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_PERSON).size() +
475  // fill ACsToLocate with persons
476  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_PERSON)) {
477  ACsToLocate.push_back(i.second);
478  }
479  // fill ACsToLocate with personFlows
480  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_PERSONFLOW)) {
481  ACsToLocate.push_back(i.second);
482  }
483  myACChoosers.ACChooserPersons = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEPERSON), "Person Chooser", ACsToLocate);
484  }
485  break;
486  }
487  case MID_LOCATEROUTE: {
489  // set focus in the existent chooser dialog
490  myACChoosers.ACChooserRoutes->setFocus();
491  } else {
492  // reserve memory
493  ACsToLocate.reserve(viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_ROUTE).size());
494  // fill ACsToLocate with routes
495  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_ROUTE)) {
496  ACsToLocate.push_back(i.second);
497  }
498  myACChoosers.ACChooserRoutes = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEROUTE), "Route Chooser", ACsToLocate);
499  }
500  break;
501  }
502  case MID_LOCATESTOP: {
504  // set focus in the existent chooser dialog
505  myACChoosers.ACChooserStops->setFocus();
506  } else {
507  // reserve memory
508  ACsToLocate.reserve(viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_STOP_LANE).size() +
513  // fill ACsToLocate with stop over lanes
514  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_STOP_LANE)) {
515  ACsToLocate.push_back(i.second);
516  }
517  // fill ACsToLocate with stop over busstops
518  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_STOP_BUSSTOP)) {
519  ACsToLocate.push_back(i.second);
520  }
521  // fill ACsToLocate with stop over container stops
522  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_STOP_CONTAINERSTOP)) {
523  ACsToLocate.push_back(i.second);
524  }
525  // fill ACsToLocate with stop over charging stations
526  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_STOP_CHARGINGSTATION)) {
527  ACsToLocate.push_back(i.second);
528  }
529  // fill ACsToLocate with stop over parking areas
530  for (const auto& i : viewNet->getNet()->getAttributeCarriers().demandElements.at(SUMO_TAG_STOP_PARKINGAREA)) {
531  ACsToLocate.push_back(i.second);
532  }
533  myACChoosers.ACChooserStops = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATESTOP), "Stop Chooser", ACsToLocate);
534  }
535  break;
536  }
537  case MID_LOCATETLS: {
539  // set focus in the existent chooser dialog
540  myACChoosers.ACChooserTLS->setFocus();
541  } else {
542  // fill ACsToLocate with junctions that haven TLS
543  std::vector<GNEJunction*> junctions = viewNet->getNet()->retrieveJunctions();
544  ACsToLocate.reserve(junctions.size());
545  for (auto i : junctions) {
546  if (i->getNBNode()->getControllingTLS().size() > 0) {
547  ACsToLocate.push_back(i);
548  }
549  }
550  myACChoosers.ACChooserTLS = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATETLS), "TLS Chooser", ACsToLocate);
551  }
552  break;
553  }
554  case MID_LOCATEADD: {
556  // set focus in the existent chooser dialog
557  myACChoosers.ACChooserAdditional->setFocus();
558  } else {
559  // fill ACsToLocate with additionals
560  std::vector<GNEAdditional*> additionals = viewNet->getNet()->retrieveAdditionals();
561  ACsToLocate.reserve(additionals.size());
562  for (auto i : additionals) {
563  ACsToLocate.push_back(i);
564  }
565  myACChoosers.ACChooserAdditional = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEADD), "Additional Chooser", ACsToLocate);
566  }
567  break;
568  }
569  case MID_LOCATEPOI: {
571  // set focus in the existent chooser dialog
572  myACChoosers.ACChooserPOI->setFocus();
573  } else {
574  // fill ACsToLocate with POIs
575  for (auto i : viewNet->getNet()->getPOIs()) {
576  ACsToLocate.push_back(dynamic_cast<GNEAttributeCarrier*>(i.second));
577  }
578  myACChoosers.ACChooserPOI = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEPOI), "POI Chooser", ACsToLocate);
579  }
580  break;
581  }
582  case MID_LOCATEPOLY: {
584  // set focus in the existent chooser dialog
585  myACChoosers.ACChooserPolygon->setFocus();
586  } else {
587  // fill ACsToLocate with polys
588  for (auto i : viewNet->getNet()->getPolygons()) {
589  ACsToLocate.push_back(dynamic_cast<GNEAttributeCarrier*>(i.second));
590  }
592  }
593  break;
594  }
595  default:
596  throw ProcessError("Unknown Message ID in onCmdLocate");
597  }
598  // update locator popup
599  myLocatorPopup->popdown();
600  myLocatorButton->killFocus();
601  myLocatorPopup->update();
602  }
603  return 1;
604 }
605 
606 
607 long
608 GNEViewParent::onKeyPress(FXObject* o, FXSelector sel, void* eventData) {
609  myView->onKeyPress(o, sel, eventData);
610  return 0;
611 }
612 
613 
614 long
615 GNEViewParent::onKeyRelease(FXObject* o, FXSelector sel, void* eventData) {
616  myView->onKeyRelease(o, sel, eventData);
617  return 0;
618 }
619 
620 
621 long
622 GNEViewParent::onCmdUpdateFrameAreaWidth(FXObject*, FXSelector, void*) {
623  // set width of FramesArea in all frames
624  myFrames.setWidth(myFramesArea->getWidth());
625  return 0;
626 }
627 
628 // ---------------------------------------------------------------------------
629 // GNEViewParent::Frames - methods
630 // ---------------------------------------------------------------------------
631 
633  inspectorFrame(nullptr),
634  selectorFrame(nullptr),
635  connectorFrame(nullptr),
636  TLSEditorFrame(nullptr),
637  additionalFrame(nullptr),
638  crossingFrame(nullptr),
639  TAZFrame(nullptr),
640  deleteFrame(nullptr),
641  polygonFrame(nullptr),
642  prohibitionFrame(nullptr),
643  createEdgeFrame(nullptr),
644  routeFrame(nullptr),
645  vehicleFrame(nullptr),
646  vehicleTypeFrame(nullptr),
647  stopFrame(nullptr),
648  personFrame(nullptr),
649  personTypeFrame(nullptr),
650  personPlanFrame(nullptr) {
651 }
652 
653 
654 void
656  inspectorFrame->hide();
657  selectorFrame->hide();
658  connectorFrame->hide();
659  TLSEditorFrame->hide();
660  additionalFrame->hide();
661  crossingFrame->hide();
662  TAZFrame->hide();
663  deleteFrame->hide();
664  polygonFrame->hide();
665  prohibitionFrame->hide();
669  routeFrame->hide();
670  vehicleFrame->hide();
671  vehicleTypeFrame->hide();
672  stopFrame->hide();
673  personTypeFrame->hide();
674  personFrame->hide();
675  personPlanFrame->hide();
676 }
677 
678 
679 void
681  // set width in all frames
682  inspectorFrame->setFrameWidth(frameWidth);
683  selectorFrame->setFrameWidth(frameWidth);
684  connectorFrame->setFrameWidth(frameWidth);
685  TLSEditorFrame->setFrameWidth(frameWidth);
686  additionalFrame->setFrameWidth(frameWidth);
687  crossingFrame->setFrameWidth(frameWidth);
688  TAZFrame->setFrameWidth(frameWidth);
689  deleteFrame->setFrameWidth(frameWidth);
690  polygonFrame->setFrameWidth(frameWidth);
691  prohibitionFrame->setFrameWidth(frameWidth);
695  routeFrame->setFrameWidth(frameWidth);
696  vehicleFrame->setFrameWidth(frameWidth);
697  vehicleTypeFrame->setFrameWidth(frameWidth);
698  stopFrame->setFrameWidth(frameWidth);
699  personTypeFrame->setFrameWidth(frameWidth);
700  personFrame->setFrameWidth(frameWidth);
701  personPlanFrame->setFrameWidth(frameWidth);
702 }
703 
704 
705 bool
707  // check all frames
708  if (inspectorFrame->shown()) {
709  return true;
710  } else if (selectorFrame->shown()) {
711  return true;
712  } else if (connectorFrame->shown()) {
713  return true;
714  } else if (TLSEditorFrame->shown()) {
715  return true;
716  } else if (additionalFrame->shown()) {
717  return true;
718  } else if (crossingFrame->shown()) {
719  return true;
720  } else if (TAZFrame->shown()) {
721  return true;
722  } else if (deleteFrame->shown()) {
723  return true;
724  } else if (polygonFrame->shown()) {
725  return true;
726  } else if (prohibitionFrame->shown()) {
727  return true;
732  } else if (routeFrame->shown()) {
733  return true;
734  } else if (vehicleFrame->shown()) {
735  return true;
736  } else if (vehicleTypeFrame->shown()) {
737  return true;
738  } else if (stopFrame->shown()) {
739  return true;
740  } else if (personTypeFrame->shown()) {
741  return true;
742  } else if (personFrame->shown()) {
743  return true;
744  } else if (personPlanFrame->shown()) {
745  return true;
746  } else {
747  return false;
748  }
749 }
750 
751 
752 GNEFrame*
754  // check all frames
755  if (inspectorFrame->shown()) {
756  return inspectorFrame;
757  } else if (selectorFrame->shown()) {
758  return selectorFrame;
759  } else if (connectorFrame->shown()) {
760  return connectorFrame;
761  } else if (TLSEditorFrame->shown()) {
762  return TLSEditorFrame;
763  } else if (additionalFrame->shown()) {
764  return additionalFrame;
765  } else if (crossingFrame->shown()) {
766  return crossingFrame;
767  } else if (TAZFrame->shown()) {
768  return TAZFrame;
769  } else if (deleteFrame->shown()) {
770  return deleteFrame;
771  } else if (polygonFrame->shown()) {
772  return polygonFrame;
773  } else if (prohibitionFrame->shown()) {
774  return prohibitionFrame;
779  } else if (routeFrame->shown()) {
780  return routeFrame;
781  } else if (vehicleFrame->shown()) {
782  return vehicleFrame;
783  } else if (vehicleTypeFrame->shown()) {
784  return vehicleTypeFrame;
785  } else if (personTypeFrame->shown()) {
786  return personTypeFrame;
787  } else if (stopFrame->shown()) {
788  return stopFrame;
789  } else if (personFrame->shown()) {
790  return personFrame;
791  } else if (personPlanFrame->shown()) {
792  return personPlanFrame;
793  } else {
794  return nullptr;
795  }
796 }
797 
798 // ---------------------------------------------------------------------------
799 // GNEViewParent::ACChoosers - methods
800 // ---------------------------------------------------------------------------
801 
803  ACChooserJunction(nullptr),
804  ACChooserEdges(nullptr),
805  ACChooserVehicles(nullptr),
806  ACChooserPersons(nullptr),
807  ACChooserRoutes(nullptr),
808  ACChooserStops(nullptr),
809  ACChooserTLS(nullptr),
810  ACChooserAdditional(nullptr),
811  ACChooserPOI(nullptr),
812  ACChooserPolygon(nullptr),
813  ACChooserProhibition(nullptr) {
814 }
815 
816 
818  // remove all dialogs if are active
819  if (ACChooserJunction) {
820  delete ACChooserJunction;
821  }
822  if (ACChooserEdges) {
823  delete ACChooserEdges;
824  }
825  if (ACChooserRoutes) {
826  delete ACChooserRoutes;
827  }
828  if (ACChooserStops) {
829  delete ACChooserStops;
830  }
831  if (ACChooserVehicles) {
832  delete ACChooserVehicles;
833  }
834  if (ACChooserPersons) {
835  delete ACChooserPersons;
836  }
837  if (ACChooserTLS) {
838  delete ACChooserTLS;
839  }
840  if (ACChooserAdditional) {
841  delete ACChooserAdditional;
842  }
843  if (ACChooserPOI) {
844  delete ACChooserPOI;
845  }
846  if (ACChooserPolygon) {
847  delete ACChooserPolygon;
848  }
849  if (ACChooserProhibition) {
850  delete ACChooserProhibition;
851  }
852 }
853 
854 /****************************************************************************/
855 
GNEViewParent::getVehicleTypeFrame
GNEVehicleTypeFrame * getVehicleTypeFrame() const
get frame for GNE_DMODE_VEHICLETYPE
Definition: GNEViewParent.cpp:258
GNEViewParent::getStopFrame
GNEStopFrame * getStopFrame() const
get frame for GNE_DMODE_STOP
Definition: GNEViewParent.cpp:264
GNEViewParent::ACChoosers::ACChooserStops
GNEDialogACChooser * ACChooserStops
pointer to ACChooser dialog used for locate stops
Definition: GNEViewParent.h:301
MID_LOCATEPOI
Locate poi - button.
Definition: GUIAppEnum.h:338
ICON_REDO
Definition: GUIIcons.h:179
GNEViewParent::Frames::vehicleFrame
GNEVehicleFrame * vehicleFrame
frame for GNE_DMODE_VEHICLE
Definition: GNEViewParent.h:259
GNEViewParent::getSelectorFrame
GNESelectorFrame * getSelectorFrame() const
get frame for GNE_NMODE_SELECT
Definition: GNEViewParent.cpp:186
MID_LOCATETLS
Locate TLS - button.
Definition: GUIAppEnum.h:334
GNEAdditionalFrame
Definition: GNEAdditionalFrame.h:34
GNEViewParent::Frames::selectorFrame
GNESelectorFrame * selectorFrame
frame for GNE_NMODE_SELECT
Definition: GNEViewParent.h:226
GNENet::getAttributeCarriers
const AttributeCarriers & getAttributeCarriers() const
retrieve all attribute carriers of Net
Definition: GNENet.cpp:1063
MID_LOCATEROUTE
Locate route - button.
Definition: GUIAppEnum.h:328
GNEViewParent::Frames::isFrameShown
bool isFrameShown() const
return true if at least there is a frame shown
Definition: GNEViewParent.cpp:706
GNEViewParent::eraseACChooserDialog
void eraseACChooserDialog(GNEDialogACChooser *chooserDialog)
remove created chooser dialog
Definition: GNEViewParent.cpp:320
GNEConnectorFrame.h
SUMO_TAG_STOP_PARKINGAREA
stop placed over a parking area (used in netedit)
Definition: SUMOXMLDefinitions.h:188
GNEAdditional.h
MID_LOCATEEDGE
Locate edge - button.
Definition: GUIAppEnum.h:324
GNEProhibitionFrame
Definition: GNEProhibitionFrame.h:38
GNECreateEdgeFrame.h
GNEDeleteFrame
Definition: GNEDeleteFrame.h:31
GNEViewParent::getCreateEdgeFrame
GNECreateEdgeFrame * getCreateEdgeFrame() const
get frame for GNE_NMODE_CREATEEDGE
Definition: GNEViewParent.cpp:240
GNEViewParent::updateUndoRedoButtons
void updateUndoRedoButtons()
update toolbar undo/redo buttons (called when user press Ctrl+Z/Y)
Definition: GNEViewParent.cpp:352
SUMO_TAG_STOP_LANE
stop placed over a lane (used in netedit)
Definition: SUMOXMLDefinitions.h:180
GNEViewParent::Frames::connectorFrame
GNEConnectorFrame * connectorFrame
frame for GNE_NMODE_CONNECT
Definition: GNEViewParent.h:229
GNEViewParent::getPolygonFrame
GNEPolygonFrame * getPolygonFrame() const
get frame for GNE_NMODE_POLYGON
Definition: GNEViewParent.cpp:228
GNEViewParent::getProhibitionFrame
GNEProhibitionFrame * getProhibitionFrame() const
get frame for GNE_NMODE_PROHIBITION
Definition: GNEViewParent.cpp:234
GUIGlChildWindow::myView
GUISUMOAbstractView * myView
The view.
Definition: GUIGlChildWindow.h:105
GNECrossingFrame
Definition: GNECrossingFrame.h:32
GNEViewParent::getGUIMainWindow
GUIMainWindow * getGUIMainWindow() const
get GUIMainWindow App
Definition: GNEViewParent.cpp:308
GNEViewParent::onCmdMakeSnapshot
long onCmdMakeSnapshot(FXObject *sender, FXSelector, void *)
Definition: GNEViewParent.cpp:359
GNENet
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:77
ICON_EMPTY
Definition: GUIIcons.h:41
GNEViewParent::ACChoosers::ACChooserAdditional
GNEDialogACChooser * ACChooserAdditional
pointer to ACChooser dialog used for locate additional
Definition: GNEViewParent.h:307
GNEViewParent::ACChoosers::ACChooserPOI
GNEDialogACChooser * ACChooserPOI
pointer to ACChooser dialog used for locate POIs
Definition: GNEViewParent.h:310
GNEViewParent::Frames::vehicleTypeFrame
GNEVehicleTypeFrame * vehicleTypeFrame
frame for GNE_DMODE_VEHICLETYPE
Definition: GNEViewParent.h:262
GNEPersonTypeFrame.h
GUIGlChildWindow::create
virtual void create()
create GUIGlChildWindow
Definition: GUIGlChildWindow.cpp:85
GNEViewParent::Frames::getCurrentShownFrame
GNEFrame * getCurrentShownFrame() const
get current frame show
Definition: GNEViewParent.cpp:753
GNEViewParent::myFramesArea
FXHorizontalFrame * myFramesArea
frame to hold GNEFrames
Definition: GNEViewParent.h:326
GNEViewParent::onCmdClose
long onCmdClose(FXObject *, FXSelector, void *)
Called when the user hits the close button (x)
Definition: GNEViewParent.cpp:393
GNEPersonPlanFrame.h
SUMO_TAG_PERSON
Definition: SUMOXMLDefinitions.h:295
GNEViewParent::ACChoosers::ACChoosers
ACChoosers()
constructor
Definition: GNEViewParent.cpp:802
GNEViewParent::Frames::TLSEditorFrame
GNETLSEditorFrame * TLSEditorFrame
frame for GNE_NMODE_TLS
Definition: GNEViewParent.h:232
GNEViewParent::myACChoosers
ACChoosers myACChoosers
struct for ACChoosers
Definition: GNEViewParent.h:341
GNETAZFrame
Definition: GNETAZFrame.h:40
GNEVehicleTypeFrame
Definition: GNEVehicleTypeFrame.h:37
GNEFrame
Definition: GNEFrame.h:34
GNEViewParent::getConnectorFrame
GNEConnectorFrame * getConnectorFrame() const
get frame for GNE_NMODE_CONNECT
Definition: GNEViewParent.cpp:192
GNEViewParent::getTAZFrame
GNETAZFrame * getTAZFrame() const
get frame for GNE_NMODE_TAZ
Definition: GNEViewParent.cpp:216
GNEViewParent::Frames::inspectorFrame
GNEInspectorFrame * inspectorFrame
frame for GNE_NMODE_INSPECT
Definition: GNEViewParent.h:223
GNEViewNet
Definition: GNEViewNet.h:42
GNEApplicationWindow
The main window of the Netedit.
Definition: GNEApplicationWindow.h:58
ICON_LOCATEEDGE
Definition: GUIIcons.h:76
GNEViewParent::getDeleteFrame
GNEDeleteFrame * getDeleteFrame() const
get frame for GNE_NMODE_DELETE
Definition: GNEViewParent.cpp:222
GNEViewParent::myGNEAppWindows
GNEApplicationWindow * myGNEAppWindows
pointer to GNEApplicationWindow
Definition: GNEViewParent.h:320
GNEViewParent::Frames::routeFrame
GNERouteFrame * routeFrame
frame for GNE_DMODE_ROUTE
Definition: GNEViewParent.h:256
GNEViewParent::onKeyPress
long onKeyPress(FXObject *o, FXSelector sel, void *data)
Called when user press a key.
Definition: GNEViewParent.cpp:608
MID_LOCATEPERSON
Locate person - button.
Definition: GUIAppEnum.h:332
MID_LOCATESTOP
Locate stop - button.
Definition: GUIAppEnum.h:330
GNEViewParent::hideFramesArea
void hideFramesArea()
hide frames area if all GNEFrames are hidden
Definition: GNEViewParent.cpp:298
GNEViewParent::Frames::additionalFrame
GNEAdditionalFrame * additionalFrame
frame for GNE_NMODE_ADDITIONAL
Definition: GNEViewParent.h:235
GUIDesignSplitter
#define GUIDesignSplitter
Definition: GUIDesigns.h:331
GNEViewParent::Frames::deleteFrame
GNEDeleteFrame * deleteFrame
frame for GNE_NMODE_DELETE
Definition: GNEViewParent.h:244
GUIDesigns.h
GNEViewParent::ACChoosers::~ACChoosers
~ACChoosers()
destructor
Definition: GNEViewParent.cpp:817
GNEViewParent::Frames::prohibitionFrame
GNEProhibitionFrame * prohibitionFrame
frame for GNE_NMODE_PROHIBITION
Definition: GNEViewParent.h:250
GNEPolygonFrame.h
GUIGlChildWindow::myLocatorPopup
FXPopup * myLocatorPopup
The locator menu.
Definition: GUIGlChildWindow.h:108
ICON_LOCATETLS
Definition: GUIIcons.h:81
GNEViewParent::ACChoosers::ACChooserVehicles
GNEDialogACChooser * ACChooserVehicles
pointer to ACChooser dialog used for locate vehicles
Definition: GNEViewParent.h:292
GUIIconSubSys::getIcon
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
Definition: GUIIconSubSys.cpp:609
GNEViewParent::myFrames
Frames myFrames
struct for frames
Definition: GNEViewParent.h:338
GNEViewParent::myUndoButton
FXButton * myUndoButton
toolbar undo button
Definition: GNEViewParent.h:329
GNEViewParent::ACChoosers::ACChooserTLS
GNEDialogACChooser * ACChooserTLS
pointer to ACChooser dialog used for locate TLSs
Definition: GNEViewParent.h:304
GNEViewParent::onCmdUpdateFrameAreaWidth
long onCmdUpdateFrameAreaWidth(FXObject *, FXSelector, void *)
Called when user change the splitter between FrameArea and ViewNet.
Definition: GNEViewParent.cpp:622
GUIDesignButtonToolbar
#define GUIDesignButtonToolbar
little button with icon placed in navigation toolbar
Definition: GUIDesigns.h:79
GNEViewParent
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:71
GNEConnectorFrame
Definition: GNEConnectorFrame.h:34
GNEViewParent::myRedoButton
FXButton * myRedoButton
toolbar redo button
Definition: GNEViewParent.h:332
GNESelectorFrame
Definition: GNESelectorFrame.h:32
GNERouteFrame.h
GNEViewParent::Frames::polygonFrame
GNEPolygonFrame * polygonFrame
frame for GNE_NMODE_POLYGON
Definition: GNEViewParent.h:247
GNEViewParent::ACChoosers::ACChooserEdges
GNEDialogACChooser * ACChooserEdges
pointer to ACChooser dialog used for locate edges
Definition: GNEViewParent.h:289
GUIAppEnum.h
GNEJunction.h
GNEViewParent::showFramesArea
void showFramesArea()
show frames area if at least a GNEFrame is showed
Definition: GNEViewParent.cpp:288
ICON_LOCATEADD
Definition: GUIIcons.h:82
GNEDeleteFrame.h
GNEPersonTypeFrame
Definition: GNEPersonTypeFrame.h:37
GNEViewNet::getNet
GNENet * getNet() const
get the net object
Definition: GNEViewNet.cpp:1014
GNEViewParent::Frames::crossingFrame
GNECrossingFrame * crossingFrame
frame for GNE_NMODE_CROSSING
Definition: GNEViewParent.h:238
GNEViewParent::ACChoosers::ACChooserProhibition
GNEDialogACChooser * ACChooserProhibition
pointer to ACChooser dialog used for locate Prohibitions
Definition: GNEViewParent.h:316
GNEViewParent::onKeyRelease
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Called when user releases a key.
Definition: GNEViewParent.cpp:615
SUMO_TAG_ROUTEFLOW
a flow definition nusing a route instead of a from-to edges route (used in NETEDIT)
Definition: SUMOXMLDefinitions.h:151
GNEProhibitionFrame.h
GNEPersonFrame
Definition: GNEPersonFrame.h:32
SUMO_TAG_FLOW
a flow definitio nusing a from-to edges instead of a route (used by router)
Definition: SUMOXMLDefinitions.h:149
SUMO_TAG_STOP_CHARGINGSTATION
stop placed over a charging station (used in netedit)
Definition: SUMOXMLDefinitions.h:186
GNEViewParent::Frames::personPlanFrame
GNEPersonPlanFrame * personPlanFrame
frame for GNE_DMODE_PERSONPLAN
Definition: GNEViewParent.h:274
ICON_LOCATEJUNCTION
Definition: GUIIcons.h:75
GNEViewParent::getPersonPlanFrame
GNEPersonPlanFrame * getPersonPlanFrame() const
get frame for GNE_DMODE_PERSONFRAME
Definition: GNEViewParent.cpp:282
GNEViewParent::ACChoosers::ACChooserPolygon
GNEDialogACChooser * ACChooserPolygon
pointer to ACChooser dialog used for locate Polygons
Definition: GNEViewParent.h:313
GNEVehicleFrame.h
GNEViewParent::Frames::createEdgeFrame
GNECreateEdgeFrame * createEdgeFrame
frame for GNE_NMODE_CREATEDGE
Definition: GNEViewParent.h:253
GNEDemandElement.h
GNERouteFrame
Definition: GNERouteFrame.h:31
GNEViewNet.h
ICON_LOCATEPOI
Definition: GUIIcons.h:83
GUIGlChildWindow::myLocatorButton
FXMenuButton * myLocatorButton
The locator button.
Definition: GUIGlChildWindow.h:111
GNETLSEditorFrame.h
ICON_UNDO
Definition: GUIIcons.h:178
ProcessError
Definition: UtilExceptions.h:39
ICON_LOCATEPOLY
Definition: GUIIcons.h:84
GNEViewParent::getInspectorFrame
GNEInspectorFrame * getInspectorFrame() const
get frame for GNE_NMODE_INSPECT
Definition: GNEViewParent.cpp:180
ICON_LOCATEROUTE
Definition: GUIIcons.h:78
GNEApplicationWindow.h
GNEEdge.h
GUIDesignFrameArea
#define GUIDesignFrameArea
Definition: GUIDesigns.h:261
GUIDesignViewnArea
#define GUIDesignViewnArea
design for viewn area
Definition: GUIDesigns.h:264
GNEViewParent::getAdditionalFrame
GNEAdditionalFrame * getAdditionalFrame() const
get frame for GNE_NMODE_ADDITIONAL
Definition: GNEViewParent.cpp:204
GNEApplicationWindow::ToolbarsGrip::destroyParentToolbarsGrips
void destroyParentToolbarsGrips()
build toolbars grips
Definition: GNEApplicationWindow.cpp:322
GNEVehicleFrame
Definition: GNEVehicleFrame.h:32
GNETAZFrame.h
GNEDialogACChooser.h
GNEPersonFrame.h
GNEViewParent::~GNEViewParent
~GNEViewParent()
Destructor.
Definition: GNEViewParent.cpp:159
gCurrentFolder
FXString gCurrentFolder
The folder used as last.
Definition: GUIIOGlobals.cpp:32
GNENet::AttributeCarriers::demandElements
std::map< SumoXMLTag, std::map< std::string, GNEDemandElement * > > demandElements
map with the name and pointer to demand elements of net
Definition: GNENet.h:104
SUMO_TAG_VEHICLE
description of a vehicle
Definition: SUMOXMLDefinitions.h:119
GUISUMOAbstractView::onKeyRelease
virtual long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Definition: GUISUMOAbstractView.cpp:1085
MID_HOTKEY_CTRL_Z_UNDO
Redo.
Definition: GUIAppEnum.h:115
GNENet::retrieveAdditionals
std::vector< GNEAdditional * > retrieveAdditionals(bool onlySelected=false) const
return all additionals
Definition: GNENet.cpp:2195
GNEUndoList::p_onUpdRedo
long p_onUpdRedo(FXObject *, FXSelector, void *)
event after Redo
Definition: GNEUndoList.cpp:191
ICON_LOCATEPERSON
Definition: GUIIcons.h:80
ShapeContainer::getPOIs
const POIs & getPOIs() const
Returns all pois.
Definition: ShapeContainer.h:154
GNEViewParent::ACChoosers::ACChooserJunction
GNEDialogACChooser * ACChooserJunction
pointer to ACChooser dialog used for locate junctions
Definition: GNEViewParent.h:286
GNEViewParent.h
GNENet::retrieveJunctions
std::vector< GNEJunction * > retrieveJunctions(bool onlySelected=false)
return all junctions
Definition: GNENet.cpp:1261
ICON_LOCATEVEHICLE
Definition: GUIIcons.h:77
GNEStopFrame
Definition: GNEStopFrame.h:33
GNEViewParent::Frames::personFrame
GNEPersonFrame * personFrame
frame for GNE_DMODE_PERSON
Definition: GNEViewParent.h:268
GNEViewParent::ACChoosers::ACChooserRoutes
GNEDialogACChooser * ACChooserRoutes
pointer to ACChooser dialog used for locate routes
Definition: GNEViewParent.h:298
GNEViewParent::Frames::hideFrames
void hideFrames()
hide frames
Definition: GNEViewParent.cpp:655
GNESelectorFrame.h
SUMO_TAG_STOP_CONTAINERSTOP
stop placed over a containerStop (used in netedit)
Definition: SUMOXMLDefinitions.h:184
GNEViewParent::getCurrentShownFrame
GNEFrame * getCurrentShownFrame() const
get current frame (note: it can be null)
Definition: GNEViewParent.cpp:174
GUISUMOAbstractView::makeSnapshot
std::string makeSnapshot(const std::string &destFile, const int w=-1, const int h=-1)
Takes a snapshots and writes it into the given file.
Definition: GUISUMOAbstractView.cpp:1107
GNEViewParent::getGNEAppWindows
GNEApplicationWindow * getGNEAppWindows() const
get GNE Application Windows
Definition: GNEViewParent.cpp:314
MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
Definition: GUIAppEnum.h:109
FXDEFMAP
FXDEFMAP(GNEViewParent) GNEViewParentMap[]
GUIMainWindow
Definition: GUIMainWindow.h:46
GNEViewParent::hideAllFrames
void hideAllFrames()
hide all frames
Definition: GNEViewParent.cpp:168
MID_LOCATEJUNCTION
Locate junction - button.
Definition: GUIAppEnum.h:322
GNEPolygonFrame
Definition: GNEPolygonFrame.h:33
GNEViewParent::getRouteFrame
GNERouteFrame * getRouteFrame() const
get frame for GNE_DMODE_ROUTE
Definition: GNEViewParent.cpp:246
GNEViewParent::Frames::stopFrame
GNEStopFrame * stopFrame
frame for GNE_DMODE_STOP
Definition: GNEViewParent.h:265
GNEViewParent::getPersonFrame
GNEPersonFrame * getPersonFrame() const
get frame for GNE_DMODE_PERSON
Definition: GNEViewParent.cpp:276
GNEViewParent::ACChoosers::ACChooserPersons
GNEDialogACChooser * ACChooserPersons
pointer to ACChooser dialog used for locate persons
Definition: GNEViewParent.h:295
GNEApplicationWindow::getUndoList
GNEUndoList * getUndoList()
get pointer to undoList
Definition: GNEApplicationWindow.cpp:1722
GUIDesignVerticalSeparator
#define GUIDesignVerticalSeparator
vertical separator
Definition: GUIDesigns.h:324
GNENet::retrieveEdges
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
Definition: GNENet.cpp:1200
GNEViewParent::Frames::personTypeFrame
GNEPersonTypeFrame * personTypeFrame
frame for GNE_DMODE_PERSONTYPE
Definition: GNEViewParent.h:271
GUIMainWindow::removeGLChild
void removeGLChild(GUIGlChildWindow *child)
removes the given child window from the list
Definition: GUIMainWindow.cpp:98
GUIGlChildWindow::myParent
GUIMainWindow * myParent
The parent window.
Definition: GUIGlChildWindow.h:96
GNEViewParent::getTLSEditorFrame
GNETLSEditorFrame * getTLSEditorFrame() const
get frame for GNE_NMODE_TLS
Definition: GNEViewParent.cpp:198
GNEVehicleTypeFrame.h
MID_LOCATEVEHICLE
Locate vehicle - button.
Definition: GUIAppEnum.h:326
GNEViewParent::onCmdLocate
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
Definition: GNEViewParent.cpp:400
GUISUMOAbstractView::onKeyPress
virtual long onKeyPress(FXObject *o, FXSelector sel, void *data)
keyboard functions
Definition: GUISUMOAbstractView.cpp:1074
SUMO_TAG_ROUTE
begin/end of the description of a route
Definition: SUMOXMLDefinitions.h:125
GNEViewParent::getPersonTypeFrame
GNEPersonTypeFrame * getPersonTypeFrame() const
get frame for GNE_DMODE_PERSONTYPE
Definition: GNEViewParent.cpp:270
MID_HOTKEY_CTRL_Y_REDO
Undo.
Definition: GUIAppEnum.h:113
SUMO_TAG_PERSONFLOW
Definition: SUMOXMLDefinitions.h:299
GNEAdditionalFrame.h
GNEApplicationWindow::getToolbarsGrip
ToolbarsGrip & getToolbarsGrip()
get ToolbarsGrip
Definition: GNEApplicationWindow.cpp:1728
MID_GNE_VIEWPARENT_FRAMEAREAWIDTH
Size of frame area updated.
Definition: GUIAppEnum.h:595
GNEViewParent::Frames::Frames
Frames()
constructor
Definition: GNEViewParent.cpp:632
SUMO_TAG_STOP_BUSSTOP
stop placed over a busStop (used in netedit)
Definition: SUMOXMLDefinitions.h:182
GNETLSEditorFrame
Definition: GNETLSEditorFrame.h:40
GNEViewParent::Frames::setWidth
void setWidth(int frameWidth)
set new width in all frames
Definition: GNEViewParent.cpp:680
GNEUndoList::p_onUpdUndo
long p_onUpdUndo(FXObject *, FXSelector, void *)
Definition: GNEUndoList.cpp:151
GNEInspectorFrame.h
GNEUndoList
Definition: GNEUndoList.h:48
ShapeContainer::getPolygons
const Polygons & getPolygons() const
Returns all polygons.
Definition: ShapeContainer.h:149
GUIGlChildWindow
Definition: GUIGlChildWindow.h:40
MID_LOCATEPOLY
Locate polygons - button.
Definition: GUIAppEnum.h:340
GNECrossingFrame.h
GNEStopFrame.h
MID_LOCATEADD
Locate addtional structure - button.
Definition: GUIAppEnum.h:336
MFXUtils::userPermitsOverwritingWhenFileExists
static FXbool userPermitsOverwritingWhenFileExists(FXWindow *const parent, const FXString &file)
Returns true if either the file given by its name does not exist or the user allows overwriting it.
Definition: MFXUtils.cpp:40
GNEPersonPlanFrame
Definition: GNEPersonPlanFrame.h:32
GNEInspectorFrame
Definition: GNEInspectorFrame.h:33
WRITE_DEBUG
#define WRITE_DEBUG(msg)
Definition: MsgHandler.h:284
MID_MAKESNAPSHOT
Make snapshot - button.
Definition: GUIAppEnum.h:344
GNECreateEdgeFrame
Definition: GNECreateEdgeFrame.h:32
GNENet.h
GNEViewParent::getVehicleFrame
GNEVehicleFrame * getVehicleFrame() const
get frame for GNE_DMODE_VEHICLE
Definition: GNEViewParent.cpp:252
SUMO_TAG_TRIP
a single trip definition (used by router)
Definition: SUMOXMLDefinitions.h:145
GNEDialogACChooser
Definition: GNEDialogACChooser.h:49
GNEViewParent::Frames::TAZFrame
GNETAZFrame * TAZFrame
frame for GNE_NMODE_TAZ
Definition: GNEViewParent.h:241
GNEUndoList.h
ICON_LOCATESTOP
Definition: GUIIcons.h:79
GNEViewParent::getCrossingFrame
GNECrossingFrame * getCrossingFrame() const
get frame for GNE_NMODE_CROSSING
Definition: GNEViewParent.cpp:210