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-2018 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 /****************************************************************************/
15 // A single child window which contains a view of the edited network (adapted
16 // from GUISUMOViewParent)
17 // While we don't actually need MDI for netedit it is easier to adapt existing
18 // structures than to write everything from scratch.
19 /****************************************************************************/
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
43 
44 #include "GNEApplicationWindow.h"
45 #include "GNENet.h"
46 #include "GNEUndoList.h"
47 #include "GNEViewParent.h"
48 
49 
50 // ===========================================================================
51 // FOX callback mapping
52 // ===========================================================================
53 
54 FXDEFMAP(GNEViewParent) GNEViewParentMap[] = {
55  FXMAPFUNC(SEL_COMMAND, MID_MAKESNAPSHOT, GNEViewParent::onCmdMakeSnapshot),
56  FXMAPFUNC(SEL_COMMAND, MID_LOCATEJUNCTION, GNEViewParent::onCmdLocate),
57  FXMAPFUNC(SEL_COMMAND, MID_LOCATEEDGE, GNEViewParent::onCmdLocate),
58  FXMAPFUNC(SEL_COMMAND, MID_LOCATETLS, GNEViewParent::onCmdLocate),
59  FXMAPFUNC(SEL_COMMAND, MID_LOCATEADD, GNEViewParent::onCmdLocate),
60  FXMAPFUNC(SEL_COMMAND, MID_LOCATEPOI, GNEViewParent::onCmdLocate),
61  FXMAPFUNC(SEL_COMMAND, MID_LOCATEPOLY, GNEViewParent::onCmdLocate),
62  FXMAPFUNC(SEL_COMMAND, FXMDIChild::ID_MDI_MENUCLOSE, GNEViewParent::onCmdClose),
64 };
65 
66 // Object implementation
67 FXIMPLEMENT(GNEViewParent, GUIGlChildWindow, GNEViewParentMap, ARRAYNUMBER(GNEViewParentMap))
68 
69 
70 // ===========================================================================
71 // member method definitions
72 // ===========================================================================
73 
74 GNEViewParent::GNEViewParent(FXMDIClient* p, FXMDIMenu* mdimenu, const FXString& name, GNEApplicationWindow* parentWindow,
75  FXGLCanvas* share, GNENet* net, GNEUndoList* undoList, FXIcon* ic, FXuint opts, FXint x, FXint y, FXint w, FXint h) :
76  GUIGlChildWindow(p, parentWindow, mdimenu, name, ic, opts, x, y, w, h),
77  myGNEAppWindows(parentWindow) {
78  // Add child to parent
79  myParent->addGLChild(this);
80 
81  // add undo/redo buttons
82  new FXButton(myNavigationToolBar, "\tUndo\tUndo the last Change.", GUIIconSubSys::getIcon(ICON_UNDO), parentWindow->getUndoList(), FXUndoList::ID_UNDO, GUIDesignButtonToolbar);
83  new FXButton(myNavigationToolBar, "\tRedo\tRedo the last Change.", GUIIconSubSys::getIcon(ICON_REDO), parentWindow->getUndoList(), FXUndoList::ID_REDO, GUIDesignButtonToolbar);
84 
85  // Create Vertical separator
86  new FXVerticalSeparator(myNavigationToolBar, GUIDesignVerticalSeparator);
87 
88  // Create Frame Splitter
89  myFramesSplitter = new FXSplitter(myContentFrame, this, MID_GNE_VIEWPARENT_FRAMEAREAWIDTH, GUIDesignSplitter | SPLITTER_HORIZONTAL);
90 
91  // Create frames Area
92  myFramesArea = new FXHorizontalFrame(myFramesSplitter, GUIDesignFrameArea);
93 
94  // Set default width of frames area
95  myFramesArea->setWidth(220);
96 
97  // Create view area
98  myViewArea = new FXHorizontalFrame(myFramesSplitter, GUIDesignViewnArea);
99 
100  // Add the view to a temporary parent so that we can add items to myViewArea in the desired order
101  FXComposite* tmp = new FXComposite(this);
102 
103  // Create view net
104  GNEViewNet* viewNet = new GNEViewNet(tmp, myViewArea, *myParent, this, net, undoList, myParent->getGLVisual(), share, myNavigationToolBar);
105 
106  // Set pointer myView with the created view net
107  myView = viewNet;
108 
109  // Create frames
110  myFrames.inspectorFrame = new GNEInspectorFrame(myFramesArea, viewNet);
111  myFrames.selectorFrame = new GNESelectorFrame(myFramesArea, viewNet);
112  myFrames.connectorFrame = new GNEConnectorFrame(myFramesArea, viewNet);
113  myFrames.prohibitionFrame = new GNEProhibitionFrame(myFramesArea, viewNet);
114  myFrames.TLSEditorFrame = new GNETLSEditorFrame(myFramesArea, viewNet);
115  myFrames.additionalFrame = new GNEAdditionalFrame(myFramesArea, viewNet);
116  myFrames.crossingFrame = new GNECrossingFrame(myFramesArea, viewNet);
117  myFrames.TAZFrame = new GNETAZFrame(myFramesArea, viewNet);
118  myFrames.deleteFrame = new GNEDeleteFrame(myFramesArea, viewNet);
119  myFrames.polygonFrame = new GNEPolygonFrame(myFramesArea, viewNet);
120 
121  // Update frame areas after creation
122  onCmdUpdateFrameAreaWidth(nullptr, 0, nullptr);
123 
124  // Hidde all Frames Area
125  hideFramesArea();
126 
127  // Buld view toolBars
128  myView->buildViewToolBars(*this);
129 
130  // create windows
132 }
133 
134 
136  // Remove child before remove
137  myParent->removeGLChild(this);
138 }
139 
140 
141 void
144 }
145 
148  return myFrames.inspectorFrame;
149 }
150 
151 
154  return myFrames.selectorFrame;
155 }
156 
157 
160  return myFrames.connectorFrame;
161 }
162 
163 
166  return myFrames.TLSEditorFrame;
167 }
168 
169 
172  return myFrames.additionalFrame;
173 }
174 
175 
178  return myFrames.crossingFrame;
179 }
180 
181 
182 GNETAZFrame*
184  return myFrames.TAZFrame;
185 }
186 
187 
190  return myFrames.deleteFrame;
191 }
192 
193 
196  return myFrames.polygonFrame;
197 }
198 
199 
202  return myFrames.prohibitionFrame;
203 }
204 
205 
206 void
208  // show and recalc framesArea if at least there is a frame shown
209  if (myFrames.isFrameShown()) {
210  myFramesArea->recalc();
211  myFramesArea->show();
212  }
213 }
214 
215 
216 void
218  // hide and recalc frames Area if all frames are hidden is enabled
219  if (!myFrames.isFrameShown()) {
220  myFramesArea->hide();
221  myFramesArea->recalc();
222  }
223 }
224 
225 
228  return myParent;
229 }
230 
231 
234  return myGNEAppWindows;
235 }
236 
237 
238 void
240  if (chooserDialog == nullptr) {
241  throw ProcessError("ChooserDialog already deleted");
242  } else if (chooserDialog == myACChoosers.ACChooserJunction) {
244  } else if (chooserDialog == myACChoosers.ACChooserEdges) {
245  myACChoosers.ACChooserEdges = nullptr;
246  } else if (chooserDialog == myACChoosers.ACChooserTLS) {
247  myACChoosers.ACChooserTLS = nullptr;
248  } else if (chooserDialog == myACChoosers.ACChooserAdditional) {
250  } else if (chooserDialog == myACChoosers.ACChooserPOI) {
251  myACChoosers.ACChooserPOI = nullptr;
252  } else if (chooserDialog == myACChoosers.ACChooserPolygon) {
253  myACChoosers.ACChooserPolygon = nullptr;
254  } else if (chooserDialog == myACChoosers.ACChooserProhibition) {
256  } else {
257  throw ProcessError("Unregistered chooserDialog");
258  }
259 }
260 
261 
262 long
263 GNEViewParent::onCmdMakeSnapshot(FXObject*, FXSelector, void*) {
264  // get the new file name
265  FXFileDialog opendialog(this, "Save Snapshot");
266  opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY));
267  opendialog.setSelectMode(SELECTFILE_ANY);
268  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"
269  "GIF Image (*.gif)\nBMP Image (*.bmp)\nXPM Image (*.xpm)\nPCX Image (*.pcx)\nICO Image (*.ico)\n"
270  "RGB Image (*.rgb)\nXBM Image (*.xbm)\nTARGA Image (*.tga)\nPNG Image (*.png)\n"
271  "JPEG Image (*.jpg, *.jpeg)\nTIFF Image (*.tif, *.tiff)\n"
272  "Postscript (*.ps)\nEncapsulated Postscript (*.eps)\nPortable Document Format (*.pdf)\n"
273  "Scalable Vector Graphics (*.svg)\nLATEX text strings (*.tex)\nPortable LaTeX Graphics (*.pgf)\n"
274  "All Files (*)");
275  if (gCurrentFolder.length() != 0) {
276  opendialog.setDirectory(gCurrentFolder);
277  }
278  if (!opendialog.execute() || !MFXUtils::userPermitsOverwritingWhenFileExists(this, opendialog.getFilename())) {
279  return 1;
280  }
281  gCurrentFolder = opendialog.getDirectory();
282  std::string file = opendialog.getFilename().text();
283  std::string error = myView->makeSnapshot(file);
284  if (error != "") {
285  // write warning if netedit is running in testing mode
286  WRITE_DEBUG("Opening FXMessageBox 'error saving snapshot'");
287  // open message box
288  FXMessageBox::error(this, MBOX_OK, "Saving failed.", "%s", error.c_str());
289  // write warning if netedit is running in testing mode
290  WRITE_DEBUG("Closed FXMessageBox 'error saving snapshot' with 'OK'");
291  }
292  return 1;
293 }
294 
295 
296 long
297 GNEViewParent::onCmdClose(FXObject*, FXSelector /* sel */, void*) {
298  myParent->handle(this, FXSEL(SEL_COMMAND, MID_CLOSE), nullptr);
299  return 1;
300 }
301 
302 
303 long
304 GNEViewParent::onCmdLocate(FXObject*, FXSelector sel, void*) {
305  GNEViewNet* view = dynamic_cast<GNEViewNet*>(myView);
306  assert(view);
307  std::vector<GNEAttributeCarrier*> ACsToLocate;
308  switch (FXSELID(sel)) {
309  case MID_LOCATEJUNCTION: {
311  // set focus in the existent chooser dialog
312  myACChoosers.ACChooserJunction->setFocus();
313  } else {
314  // fill ACsToLocate with junctions
315  std::vector<GNEJunction*> junctions = view->getNet()->retrieveJunctions();
316  ACsToLocate.reserve(junctions.size());
317  for (auto i : junctions) {
318  ACsToLocate.push_back(i);
319  }
320  myACChoosers.ACChooserJunction = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEJUNCTION), "Junction Chooser", ACsToLocate);
321  }
322  break;
323  }
324  case MID_LOCATEEDGE: {
326  // set focus in the existent chooser dialog
327  myACChoosers.ACChooserEdges->setFocus();
328  } else {
329  // fill ACsToLocate with edges
330  std::vector<GNEEdge*> edges = view->getNet()->retrieveEdges();
331  ACsToLocate.reserve(edges.size());
332  for (auto i : edges) {
333  ACsToLocate.push_back(i);
334  }
335  myACChoosers.ACChooserEdges = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEEDGE), "Edge Chooser", ACsToLocate);
336  }
337  break;
338  }
339  case MID_LOCATETLS: {
341  // set focus in the existent chooser dialog
342  myACChoosers.ACChooserTLS->setFocus();
343  } else {
344  // fill ACsToLocate with junctions that haven TLS
345  std::vector<GNEJunction*> junctions = view->getNet()->retrieveJunctions();
346  ACsToLocate.reserve(junctions.size());
347  for (auto i : junctions) {
348  if (i->getNBNode()->getControllingTLS().size() > 0) {
349  ACsToLocate.push_back(i);
350  }
351  }
352  myACChoosers.ACChooserTLS = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATETLS), "TLS Chooser", ACsToLocate);
353  }
354  break;
355  }
356  case MID_LOCATEADD: {
358  // set focus in the existent chooser dialog
359  myACChoosers.ACChooserAdditional->setFocus();
360  } else {
361  // fill ACsToLocate with additionals
362  std::vector<GNEAdditional*> additionals = view->getNet()->retrieveAdditionals();
363  ACsToLocate.reserve(additionals.size());
364  for (auto i : additionals) {
365  ACsToLocate.push_back(i);
366  }
367  myACChoosers.ACChooserAdditional = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEADD), "Additional Chooser", ACsToLocate);
368  }
369  break;
370  }
371  case MID_LOCATEPOI: {
373  // set focus in the existent chooser dialog
374  myACChoosers.ACChooserPOI->setFocus();
375  } else {
376  // fill ACsToLocate with POIs
377  for (auto i : view->getNet()->getPOIs()) {
378  ACsToLocate.push_back(dynamic_cast<GNEAttributeCarrier*>(i.second));
379  }
380  myACChoosers.ACChooserPOI = new GNEDialogACChooser(this, GUIIconSubSys::getIcon(ICON_LOCATEPOI), "POI Chooser", ACsToLocate);
381  }
382  break;
383  }
384  case MID_LOCATEPOLY: {
386  // set focus in the existent chooser dialog
387  myACChoosers.ACChooserPolygon->setFocus();
388  } else {
389  // fill ACsToLocate with polys
390  for (auto i : view->getNet()->getPolygons()) {
391  ACsToLocate.push_back(dynamic_cast<GNEAttributeCarrier*>(i.second));
392  }
394  }
395  break;
396  }
397  default:
398  throw ProcessError("Unknown Message ID in onCmdLocate");
399  }
400  // update locator popup
401  myLocatorPopup->popdown();
402  myLocatorButton->killFocus();
403  myLocatorPopup->update();
404  return 1;
405 }
406 
407 
408 long
409 GNEViewParent::onKeyPress(FXObject* o, FXSelector sel, void* eventData) {
410  myView->onKeyPress(o, sel, eventData);
411  return 0;
412 }
413 
414 
415 long
416 GNEViewParent::onKeyRelease(FXObject* o, FXSelector sel, void* eventData) {
417  myView->onKeyRelease(o, sel, eventData);
418  return 0;
419 }
420 
421 
422 long
423 GNEViewParent::onCmdUpdateFrameAreaWidth(FXObject*, FXSelector, void*) {
424  // set width of FramesArea in all frames
425  myFrames.setWidth(myFramesArea->getWidth());
426  return 0;
427 }
428 
429 
430 bool
432  GNEAttributeCarrier* ac = dynamic_cast<GNEAttributeCarrier*>(o);
433  return ac && ac->isAttributeCarrierSelected();
434 }
435 
436 // ---------------------------------------------------------------------------
437 // GNEViewParent::Frames - methods
438 // ---------------------------------------------------------------------------
439 
441  inspectorFrame(nullptr),
442  selectorFrame(nullptr),
443  connectorFrame(nullptr),
444  TLSEditorFrame(nullptr),
445  additionalFrame(nullptr),
446  crossingFrame(nullptr),
447  TAZFrame(nullptr),
448  deleteFrame(nullptr),
449  polygonFrame(nullptr),
450  prohibitionFrame(nullptr) {
451 }
452 
453 
454 void
456  inspectorFrame->hide();
457  selectorFrame->hide();
458  connectorFrame->hide();
459  TLSEditorFrame->hide();
461  crossingFrame->hide();
462  TAZFrame->hide();
463  deleteFrame->hide();
464  polygonFrame->hide();
466 }
467 
468 
469 void
471  // set width in all frames
472  inspectorFrame->setFrameWidth(frameWidth);
473  selectorFrame->setFrameWidth(frameWidth);
474  connectorFrame->setFrameWidth(frameWidth);
475  TLSEditorFrame->setFrameWidth(frameWidth);
476  additionalFrame->setFrameWidth(frameWidth);
477  crossingFrame->setFrameWidth(frameWidth);
478  TAZFrame->setFrameWidth(frameWidth);
479  deleteFrame->setFrameWidth(frameWidth);
480  polygonFrame->setFrameWidth(frameWidth);
481  prohibitionFrame->setFrameWidth(frameWidth);
482 }
483 
484 
485 bool
487  // check all frames
488  if (inspectorFrame->shown()) {
489  return true;
490  } else if (selectorFrame->shown()) {
491  return true;
492  } else if (connectorFrame->shown()) {
493  return true;
494  } else if (TLSEditorFrame->shown()) {
495  return true;
496  } else if (additionalFrame->shown()) {
497  return true;
498  } else if (crossingFrame->shown()) {
499  return true;
500  } else if (TAZFrame->shown()) {
501  return true;
502  } else if (deleteFrame->shown()) {
503  return true;
504  } else if (polygonFrame->shown()) {
505  return true;
506  } else if (prohibitionFrame->shown()) {
507  return true;
508  } else {
509  return false;
510  }
511 }
512 
513 // ---------------------------------------------------------------------------
514 // GNEViewParent::ACChoosers - methods
515 // ---------------------------------------------------------------------------
516 
518  ACChooserJunction(nullptr),
519  ACChooserEdges(nullptr),
520  ACChooserTLS(nullptr),
521  ACChooserAdditional(nullptr),
522  ACChooserPOI(nullptr),
523  ACChooserPolygon(nullptr),
524  ACChooserProhibition(nullptr) {
525 }
526 
527 
529  // remove all dialogs if are active
530  if (ACChooserJunction) {
531  delete ACChooserJunction ;
532  }
533  if (ACChooserEdges) {
534  delete ACChooserEdges ;
535  }
536  if (ACChooserTLS) {
537  delete ACChooserTLS ;
538  }
539  if (ACChooserAdditional) {
540  delete ACChooserAdditional ;
541  }
542  if (ACChooserPOI) {
543  delete ACChooserPOI ;
544  }
545  if (ACChooserPolygon) {
546  delete ACChooserPolygon ;
547  }
548  if (ACChooserProhibition) {
549  delete ACChooserProhibition;
550  }
551 }
552 
553 /****************************************************************************/
554 
Locate junction - button.
Definition: GUIAppEnum.h:172
std::vector< GNEJunction * > retrieveJunctions(bool onlySelected=false)
return all junctions
Definition: GNENet.cpp:1092
GNETAZFrame * getTAZFrame() const
get frame for GNE_MODE_TAZ
GNEConnectorFrame * connectorFrame
frame for GNE_MODE_CONNECT
GNEInspectorFrame * getInspectorFrame() const
get frame for GNE_MODE_INSPECT
GNEApplicationWindow * myGNEAppWindows
pointer to GNEApplicationWindow
long onKeyPress(FXObject *o, FXSelector sel, void *data)
Called when user press a key.
void hideFramesArea()
hide frames area if all GNEFrames are hidden
~GNEViewParent()
Destructor.
Frames myFrames
struct for frames
void hide()
hide delete frame
void hide()
hide TAZ frame
GNETLSEditorFrame * TLSEditorFrame
frame for GNE_MODE_TLS
The main window of the Netedit.
#define GUIDesignVerticalSeparator
vertical separator
Definition: GUIDesigns.h:301
const Polygons & getPolygons() const
Returns all polygons.
Locate addtional structure - button.
Definition: GUIAppEnum.h:182
#define GUIDesignButtonToolbar
little button with icon placed in navigation toolbar
Definition: GUIDesigns.h:80
GNEAdditionalFrame * additionalFrame
frame for GNE_MODE_ADDITIONAL
GNEProhibitionFrame * prohibitionFrame
frame for GNE_MODE_PROHIBITION
bool isFrameShown() const
return true if at least there is a frame shown
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:41
void showFramesArea()
show frames area if at least a GNEFrame is showed
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
#define GUIDesignSplitter
Definition: GUIDesigns.h:308
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Called when user releases a key.
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:77
virtual long onKeyRelease(FXObject *o, FXSelector sel, void *data)
FXString gCurrentFolder
The folder used as last.
GNEProhibitionFrame * getProhibitionFrame() const
get frame for GNE_MODE_PROHIBITION
FXPopup * myLocatorPopup
The locator menu.
#define GUIDesignFrameArea
Definition: GUIDesigns.h:249
#define GUIDesignViewnArea
design for viewn area
Definition: GUIDesigns.h:252
GNEPolygonFrame * getPolygonFrame() const
get frame for GNE_MODE_POLYGON
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:63
GNETLSEditorFrame * getTLSEditorFrame() const
get frame for GNE_MODE_TLS
void hide()
hide crossing frame
ACChoosers myACChoosers
struct for ACChoosers
GNEAdditionalFrame * getAdditionalFrame() const
get frame for GNE_MODE_ADDITIONAL
void hide()
hide inspector frame
GUIMainWindow * myParent
The parent window.
Locate polygons - button.
Definition: GUIAppEnum.h:186
virtual long onKeyPress(FXObject *o, FXSelector sel, void *data)
keyboard functions
long onCmdUpdateFrameAreaWidth(FXObject *, FXSelector, void *)
Called when user change the splitter between FrameArea and ViewNet.
std::string makeSnapshot(const std::string &destFile, const int width=-1, const int height=-1)
Takes a snapshots and writes it into the given file.
virtual bool isAttributeCarrierSelected() const =0
check if attribute carrier is selected
GNEApplicationWindow * getGNEAppWindows() const
get GNE Application Windows
GNEDialogACChooser * ACChooserProhibition
pointer to ACChooser dialog
GNEDialogACChooser * ACChooserEdges
pointer to ACChooser dialog
FXDEFMAP(GNEViewParent) GNEViewParentMap[]
bool isSelected(GUIGlObject *o) const
true if the object is selected (may include extra logic besides calling gSelected) ...
GUIMainWindow * getGUIMainWindow() const
get GUIMainWindow App
GNESelectorFrame * getSelectorFrame() const
get frame for GNE_MODE_SELECT
Locate edge - button.
Definition: GUIAppEnum.h:174
void setFrameWidth(int newWidth)
set width of GNEFrame
Definition: GNEFrame.cpp:1713
Make snapshot - button.
Definition: GUIAppEnum.h:194
#define WRITE_DEBUG(msg)
Definition: MsgHandler.h:248
GNEDialogACChooser * ACChooserPolygon
pointer to ACChooser dialog
GNECrossingFrame * crossingFrame
frame for GNE_MODE_CROSSING
GNEPolygonFrame * polygonFrame
frame for GNE_MODE_POLYGON
FXHorizontalFrame * myFramesArea
frame to hold GNEFrames
long onCmdClose(FXObject *, FXSelector, void *)
Called when the user hits the close button (x)
Locate TLS - button.
Definition: GUIAppEnum.h:180
GNEInspectorFrame * inspectorFrame
frame for GNE_MODE_INSPECT
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
Definition: GNENet.cpp:1031
FXMenuButton * myLocatorButton
std::vector< GNEAdditional * > retrieveAdditionals(bool onlySelected=false) const
return all additionals
Definition: GNENet.cpp:1797
GNEConnectorFrame * getConnectorFrame() const
get frame for GNE_MODE_CONNECT
GNECrossingFrame * getCrossingFrame() const
get frame for GNE_MODE_CROSSING
GUISUMOAbstractView * myView
the view
GNEDialogACChooser * ACChooserJunction
pointer to ACChooser dialog
virtual void hide()
hide Frame
Definition: GNEFrame.cpp:1704
GNEDeleteFrame * getDeleteFrame() const
get frame for GNE_MODE_DELETE
GNENet * getNet() const
get the net object
void hideAllFrames()
hide all frames
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
Definition: GNEViewNet.cpp:540
GNEDialogACChooser * ACChooserTLS
pointer to ACChooser dialog
void hide()
hide Frame
void eraseACChooserDialog(GNEDialogACChooser *chooserDialog)
remove created chooser dialog
Locate poi - button.
Definition: GUIAppEnum.h:184
virtual void create()
GNESelectorFrame * selectorFrame
frame for GNE_MODE_SELECT
GNETAZFrame * TAZFrame
frame for GNE_MODE_TAZ
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
GNEDialogACChooser * ACChooserPOI
pointer to ACChooser dialog
Size of frame area updated.
Definition: GUIAppEnum.h:509
void hide()
hide prohibition frame
GNEDeleteFrame * deleteFrame
frame for GNE_MODE_DELETE
void removeGLChild(GUIGlChildWindow *child)
removes the given child window from the list
void setWidth(int frameWidth)
set new width in all frames
long onCmdMakeSnapshot(FXObject *sender, FXSelector, void *)
void hideFrames()
hide frames
Close simulation - ID.
Definition: GUIAppEnum.h:80
GNEDialogACChooser * ACChooserAdditional
pointer to ACChooser dialog
const POIs & getPOIs() const
Returns all pois.