SUMO - Simulation of Urban MObility
GNEViewNet.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // A view on the network being edited (adapted from GUIViewTraffic)
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
10 // Copyright (C) 2001-2017 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
19 /****************************************************************************/
20 #ifndef GNEViewNet_h
21 #define GNEViewNet_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
33 #include <string>
35 #include <utils/geom/Boundary.h>
36 #include <utils/geom/Position.h>
37 #include <utils/common/RGBColor.h>
42 
43 
44 // ===========================================================================
45 // enum
46 // ===========================================================================
47 enum EditMode {
70 };
71 
72 // ===========================================================================
73 // class declarations
74 // ===========================================================================
75 class GNENet;
76 class GNEJunction;
77 class GNEEdge;
78 class GNELane;
79 class GNEViewParent;
80 class GNEUndoList;
81 class GNEAdditional;
82 class GNEPoly;
83 class GNEPOI;
84 class GNEFrame;
85 
86 // ===========================================================================
87 // class definitions
88 // ===========================================================================
95  FXDECLARE(GNEViewNet)
96 
97 public:
98  /* @brief constructor
99  * @param[in] tmpParent temporal FXFrame parent so that we can add items to view area in the desired order
100  * @param[in] actualParent FXFrame parent of GNEViewNet
101  * @param[in] app main windows
102  * @param[in] viewParent viewParent of this viewNet
103  * @param[in] net traffic net
104  * @param[in] undoList pointer to UndoList modul
105  * @param[in] glVis a reference to GLVisuals
106  * @param[in] share a reference to FXCanvas
107  * @param[in] toolbar A reference to the parents toolbar
108  */
109  GNEViewNet(FXComposite* tmpParent, FXComposite* actualParent, GUIMainWindow& app,
110  GNEViewParent* viewParent, GNENet* net, GNEUndoList* undoList,
111  FXGLVisual* glVis, FXGLCanvas* share, FXToolBar* toolBar);
112 
114  virtual ~GNEViewNet();
115 
117  virtual void buildViewToolBars(GUIGlChildWindow&);
118 
120  bool setColorScheme(const std::string& name);
121 
123  void buildColorRainbow(GUIColorScheme& scheme, int active, GUIGlObjectType objectType);
124 
128  long onLeftBtnPress(FXObject*, FXSelector, void*);
129 
131  long onLeftBtnRelease(FXObject*, FXSelector, void*);
132 
134  long onRightBtnPress(FXObject*, FXSelector, void*);
135 
137  long onRightBtnRelease(FXObject*, FXSelector, void*);
138 
140  long onDoubleClicked(FXObject*, FXSelector, void*);
141 
143  long onMouseMove(FXObject*, FXSelector, void*);
144 
146  long onKeyPress(FXObject* o, FXSelector sel, void* data);
147 
149  long onKeyRelease(FXObject* o, FXSelector sel, void* data);
151 
155  long onCmdSetModeCreateEdge(FXObject*, FXSelector, void*);
156 
158  long onCmdSetModeMove(FXObject*, FXSelector, void*);
159 
161  long onCmdSetModeDelete(FXObject*, FXSelector, void*);
162 
164  long onCmdSetModeInspect(FXObject*, FXSelector, void*);
165 
167  long onCmdSetModeSelect(FXObject*, FXSelector, void*);
168 
170  long onCmdSetModeConnect(FXObject*, FXSelector, void*);
171 
173  long onCmdSetModeTLS(FXObject*, FXSelector, void*);
174 
176  long onCmdSetModeAdditional(FXObject*, FXSelector, void*);
177 
179  long onCmdSetModeCrossing(FXObject*, FXSelector, void*);
180 
182  long onCmdSetModePolygon(FXObject*, FXSelector, void*);
184 
186  long onCmdSplitEdge(FXObject*, FXSelector, void*);
187 
189  long onCmdSplitEdgeBidi(FXObject*, FXSelector, void*);
190 
192  long onCmdReverseEdge(FXObject*, FXSelector, void*);
193 
195  long onCmdAddReversedEdge(FXObject*, FXSelector, void*);
196 
198  long onCmdSetEdgeEndpoint(FXObject*, FXSelector, void*);
199 
201  long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
202 
204  long onCmdStraightenEdges(FXObject*, FXSelector, void*);
205 
207  long onCmdSimplifyShape(FXObject*, FXSelector, void*);
208 
210  long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
211 
213  long onCmdClosePolygon(FXObject*, FXSelector, void*);
214 
216  long onCmdOpenPolygon(FXObject*, FXSelector, void*);
217 
219  long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
220 
222  long onCmdDuplicateLane(FXObject*, FXSelector, void*);
223 
225  long onCmdRestrictLaneSidewalk(FXObject*, FXSelector typeOfTransformation, void*);
226 
228  long onCmdRestrictLaneBikelane(FXObject*, FXSelector typeOfTransformation, void*);
229 
231  long onCmdRestrictLaneBuslane(FXObject*, FXSelector typeOfTransformation, void*);
232 
234  long onCmdRevertRestriction(FXObject*, FXSelector, void*);
235 
237  long onCmdAddRestrictedLaneSidewalk(FXObject*, FXSelector typeOfTransformation, void*);
238 
240  long onCmdAddRestrictedLaneBikelane(FXObject*, FXSelector typeOfTransformation, void*);
241 
243  long onCmdAddRestrictedLaneBuslane(FXObject*, FXSelector typeOfTransformation, void*);
244 
246  long onCmdRemoveRestrictedLaneSidewalk(FXObject*, FXSelector typeOfTransformation, void*);
247 
249  long onCmdRemoveRestrictedLaneBikelane(FXObject*, FXSelector typeOfTransformation, void*);
250 
252  long onCmdRemoveRestrictedLaneBuslane(FXObject*, FXSelector typeOfTransformation, void*);
253 
255  long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
256 
258  long onCmdReplaceJunction(FXObject*, FXSelector, void*);
259 
261  long onCmdToogleShowConnection(FXObject*, FXSelector, void*);
262 
264  long onCmdToogleSelectEdges(FXObject*, FXSelector, void*);
265 
267  long onCmdToogleShowBubbles(FXObject*, FXSelector, void*);
268 
270  long onCmdShowGrid(FXObject*, FXSelector, void*);
271 
275  void setEditModeFromHotkey(FXushort selid);
276 
278  void abortOperation(bool clearSelection = true);
279 
281  void hotkeyDel();
282 
284  void hotkeyEnter();
285 
287  void hotkeyFocusFrame();
288 
290  void markPopupPosition();
291 
293  GNEViewParent* getViewParent() const;
294 
296  GNENet* getNet() const;
297 
299  GNEUndoList* getUndoList() const;
300 
303 
305  bool showLockIcon() const;
306 
308  void setStatusBarText(const std::string& text);
309 
311  bool selectEdges();
312 
314  bool showConnections();
315 
317  bool autoSelectNodes();
318 
320  void setSelectionScaling(double selectionScale);
321 
323  void updateControls();
324 
326  bool changeAllPhases() const;
327 
329  bool showJunctionAsBubbles() const;
330 
332  void startEditShapeJunction(GNEJunction* junction);
333 
335  void stopEditShapeJunction();
336 
337 protected:
340 
342  int doPaintGL(int mode, const Boundary& bound);
343 
345  void doInit();
346 
347 private:
350 
353 
356 
359 
362 
365 
368 
371 
373  FXMenuCheck* myMenuCheckShowGrid;
374 
377 
380 
382  // @{
385 
387  FXMenuCheck* myChainCreateEdge;
389  // @}
390 
392  // @{
395 
398  // @}
399 
401  // @{
404 
407 
410 
413 
416 
419 
422 
425 
428 
431 
433 
434  std::map<GNEJunction*, Position> myOriginPostionOfMovedJunctions;
435  // @}
436 
438  // @{
441 
444 
447  // @}
448 
450  FXToolBar* myToolbar;
451 
456 
459 
462 
465 
468 
471 
474 
477 
480 
484 
489 
493 
496 
499 
504 
508 
513 
516 
520 
522  void setEditMode(EditMode mode);
523 
525  void buildEditModeControls();
526 
529 
532 
534  void deleteSelectedLanes();
535 
537  void deleteSelectedEdges();
538 
541 
544 
547 
549  void deleteSelectedPOIs();
550 
552  void deleteSelectedPolygons();
553 
555  bool mergeJunctions(GNEJunction* moved);
556 
559 
562 
565 
567  std::set<GNEEdge*> getEdgesAtCursorPosition(Position& pos);
568 
571 
573  bool restrictLane(SUMOVehicleClass vclass);
574 
576  bool addRestrictedLane(SUMOVehicleClass vclass);
577 
580 
582  void processClick(FXEvent* e, void* data);
583 
585  GNEViewNet(const GNEViewNet&) = delete;
586 
588  GNEViewNet& operator=(const GNEViewNet&) = delete;
589 };
590 
591 
592 #endif
593 
594 /****************************************************************************/
595 
long onCmdAddRestrictedLaneSidewalk(FXObject *, FXSelector typeOfTransformation, void *)
Add restricted lane for pedestrians.
void buildColorRainbow(GUIColorScheme &scheme, int active, GUIGlObjectType objectType)
recalibrate color scheme according to the current value range
Definition: GNEViewNet.cpp:267
long onCmdResetEdgeEndpoint(FXObject *, FXSelector, void *)
restore geometry endpoint to node position
GNEViewParent * myViewParent
view parent
Definition: GNEViewNet.h:349
EditMode getCurrentEditMode() const
get the current edit mode
long onCmdRestrictLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to bikes
bool showLockIcon() const
check if lock icon should be visible
bool selectEdges()
whether inspection, selection and inversion should apply to edges or to lanes
Definition: GNEViewNet.cpp:304
GNEJunction * getJunctionAtCursorPosition(Position &pos)
try to retrieve a junction at the given position
GNEViewNet & operator=(const GNEViewNet &)=delete
Invalidated assignment operator.
Position myPopupSpot
Poput spot.
Definition: GNEViewNet.h:498
void abortOperation(bool clearSelection=true)
abort current edition operation
void deleteSelectedJunctions()
delete all currently selected junctions
bool setColorScheme(const std::string &name)
set color scheme
Definition: GNEViewNet.cpp:251
long onCmdSetModeAdditional(FXObject *, FXSelector, void *)
called when user press the button for additional mode
mode for moving things
Definition: GNEViewNet.h:53
bool changeAllPhases() const
change all phases
Definition: GNEViewNet.cpp:334
bool restrictLane(SUMOVehicleClass vclass)
restrict lane
void stopEditShapeJunction()
edit edit junction shape
Definition: GNEViewNet.cpp:361
void markPopupPosition()
store the position where a popup-menu was requested
Position myMovingReference
variable for calculating moving offset (Used when user doesn&#39;t click exactly over the center of shape...
Definition: GNEViewNet.h:418
GUIGlObjectType
long onCmdDuplicateLane(FXObject *, FXSelector, void *)
duplicate selected lane
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse&#39;s right button
Definition: GNEViewNet.cpp:897
bool myShowConnections
whether show connections has been activated once
Definition: GNEViewNet.h:376
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
StringBijection< EditMode > myEditModeNames
since we cannot switch on strings we map the mode names to an enum
Definition: GNEViewNet.h:488
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
Definition: GNEViewNet.cpp:944
GNEViewNet()
FOX needs this.
Definition: GNEViewNet.h:339
bool mySelectEdges
flag to check if select edges is enabled
Definition: GNEViewNet.h:379
long onCmdSetModeSelect(FXObject *, FXSelector, void *)
called when user press the button for select mode
int myTestingHeight
Height of viewNet in testing mode.
Definition: GNEViewNet.h:518
void hotkeyFocusFrame()
handle focus frame keypress
FXMenuCheck * myMenuCheckShowGrid
show grid button
Definition: GNEViewNet.h:373
FXMenuCheck * myChainCreateEdge
whether the endpoint for a created edge should be set as the new source
Definition: GNEViewNet.h:387
mode for deleting things
Definition: GNEViewNet.h:55
Definition: GNEPOI.h:52
long onCmdSplitEdge(FXObject *, FXSelector, void *)
split edge at cursor position
long onCmdToogleSelectEdges(FXObject *, FXSelector, void *)
toogle selet edges
void setEditMode(EditMode mode)
set edit mode
MFXCheckableButton * myEditModeSelect
chekable button for edit mode select
Definition: GNEViewNet.h:467
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
Position mySelCorner2
second corner of the rectangle-selection
Definition: GNEViewNet.h:446
mode for editing tls
Definition: GNEViewNet.h:63
MFXCheckableButton * myEditModeMove
chekable button for edit mode move
Definition: GNEViewNet.h:458
MFXCheckableButton * myEditModeDelete
chekable button for edit mode delete
Definition: GNEViewNet.h:461
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:92
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:54
GNEPOI * myPoiToMove
the poi which is being moved
Definition: GNEViewNet.h:412
void setEditModeFromHotkey(FXushort selid)
sets edit mode (from hotkey)
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when user press a key
void deleteSelectedPolygons()
delete all currently selected Polygons
long onCmdSetEdgeEndpoint(FXObject *, FXSelector, void *)
set non-default geometry endpoint
PositionVector myMovingOriginalShape
Shape of elements before moving (needed for commmit shape changes)
Definition: GNEViewNet.h:424
GNEViewParent * getViewParent() const
get the net object
int myMovingIndexShape
current index of shape that are being moved
Definition: GNEViewNet.h:427
void updateControls()
update control contents after undo/redo or recompute
EditMode myPreviousEditMode
the previous edit mode before edit junction&#39;s shapes
Definition: GNEViewNet.h:506
FXMenuCheck * myMenuCheckChangeAllPhases
menu check to set change all phases
Definition: GNEViewNet.h:370
GNEEdge * myEdgeToMove
the edge of which geometry is being moved
Definition: GNEViewNet.h:406
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:48
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:73
GNEPoly * myEditJunctionShapePoly
Definition: GNEViewNet.h:503
GNEUndoList * getUndoList() const
get the undoList object
long onCmdSetModeCrossing(FXObject *, FXSelector, void *)
called when user press the button for crossing mode
void buildEditModeControls()
adds controls for setting the edit mode
std::set< GNEEdge * > getEdgesAtCursorPosition(Position &pos)
try to retrieve multiple edges at the given position
long onLeftBtnPress(FXObject *, FXSelector, void *)
Definition: GNEViewNet.cpp:485
long onRightBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse&#39;s right button
Definition: GNEViewNet.cpp:910
long onCmdSimplifyShape(FXObject *, FXSelector, void *)
simply shape of current polygon
long onCmdRemoveRestrictedLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bus
void deleteSelectedConnections()
delete all currently selected connections
mode for inspecting object attributes
Definition: GNEViewNet.h:57
FXMenuCheck * myMenuCheckShowConnections
menu check to show connections
Definition: GNEViewNet.h:364
void deleteSelectedCrossings()
delete all currently selected crossings
GNEAdditional * myAdditionalToMove
the stoppingPlace element which shape is being moved
Definition: GNEViewNet.h:415
std::map< GNEJunction *, Position > myOriginPostionOfMovedJunctions
Junctions that are being moved.
Definition: GNEViewNet.h:434
virtual ~GNEViewNet()
destructor
Definition: GNEViewNet.cpp:198
long onCmdSetModeMove(FXObject *, FXSelector, void *)
called when user press the button for move mode
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
A list of positions.
long onCmdReplaceJunction(FXObject *, FXSelector, void *)
replace node by geometry
FXMenuCheck * myMenuCheckSelectEdges
menu check to select only edges
Definition: GNEViewNet.h:361
FXToolBar * myToolbar
a reference to the toolbar in myParent
Definition: GNEViewNet.h:450
long onCmdToogleShowConnection(FXObject *, FXSelector, void *)
toogle show connections
MFXCheckableButton * myEditModeCreateEdge
Definition: GNEViewNet.h:455
void deleteSelectedPOIs()
delete all currently selected POIs
long onCmdRevertRestriction(FXObject *, FXSelector, void *)
revert transformation
bool removeRestrictedLane(SUMOVehicleClass vclass)
remove restricted lane
long onCmdSplitEdgeBidi(FXObject *, FXSelector, void *)
split edge at cursor position
bool autoSelectNodes()
whether to autoselect nodes or to lanes
Definition: GNEViewNet.cpp:322
MFXCheckableButton * myEditModeTrafficLight
chekable button for edit mode traffic light
Definition: GNEViewNet.h:473
long onCmdRemoveRestrictedLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bikes
mode for selecting objects
Definition: GNEViewNet.h:59
GNEJunction * myJunctionToMove
the Junction to be moved.
Definition: GNEViewNet.h:403
MFXCheckableButton * myEditModeAdditional
chekable button for edit mode additional
Definition: GNEViewNet.h:476
GNELane * getLaneAtCurserPosition(Position &pos)
try to retrieve a lane at the given position
int myTestingWidth
Width of viewNet in testing mode.
Definition: GNEViewNet.h:515
Position mySelCorner1
firstcorner of the rectangle-selection
Definition: GNEViewNet.h:443
long onCmdRestrictLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to buslanes
EditMode
Definition: GNEViewNet.h:47
void doInit()
called after some features are already initialized
Definition: GNEViewNet.cpp:202
placeholder mode
Definition: GNEViewNet.h:49
FXMenuCheck * myAutoCreateOppositeEdge
Definition: GNEViewNet.h:388
void setSelectionScaling(double selectionScale)
set selection scaling
Definition: GNEViewNet.cpp:328
bool mergeJunctions(GNEJunction *moved)
try to merge moved junction with another junction in that spot return true if merging did take place ...
MFXCheckableButton * myEditModeInspect
chekable button for edit mode inspect
Definition: GNEViewNet.h:464
FXMenuCheck * myMenuCheckExtendToEdgeNodes
menu check to extend to edge nodes
Definition: GNEViewNet.h:367
long onCmdClosePolygon(FXObject *, FXSelector, void *)
close opened polygon
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:58
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when user release a key
Mode for editing Polygons.
Definition: GNEViewNet.h:69
FXMenuCheck * myMenuCheckWarnAboutMerge
whether we should warn about merging junctions
Definition: GNEViewNet.h:394
long onCmdDeleteGeometryPoint(FXObject *, FXSelector, void *)
delete the closes geometry point
long onCmdAddRestrictedLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
Add restricted lane for bikes.
FXMenuCheck * myMenuCheckShowBubbleOverJunction
show connection as buuble in "Move" mode.
Definition: GNEViewNet.h:397
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:62
MFXCheckableButton * myEditModeConnection
chekable button for edit mode connection
Definition: GNEViewNet.h:470
bool showConnections()
show connections over junctions
Definition: GNEViewNet.cpp:310
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
long onCmdSetModeTLS(FXObject *, FXSelector, void *)
called when user press the button for traffic lights mode
GNEPoly * getPolygonAtCursorPosition(Position &pos)
try to retrieve a Polygon at the given position
int doPaintGL(int mode, const Boundary &bound)
do paintGL
Definition: GNEViewNet.cpp:377
GNEJunction * myCreateEdgeSource
source junction for new edge 0 if no edge source is selected an existing (or newly created) junction ...
Definition: GNEViewNet.h:384
long onCmdAddRestrictedLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
Add restricted lane for buses.
long onCmdRemoveRestrictedLaneSidewalk(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for pedestrians
void deleteSelectedAdditionals()
delete all currently selected additionals
GNENet * getNet() const
get the net object
void text()
Definition: gl2psTest.c:260
long onCmdRestrictLaneSidewalk(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to pedestrians
void updateModeSpecificControls()
updates mode specific controls
MFXCheckableButton * myEditModeCrossing
chekable button for edit mode crossing
Definition: GNEViewNet.h:479
void setStatusBarText(const std::string &text)
set staturBar text
Definition: GNEViewNet.cpp:298
long onCmdSetModeConnect(FXObject *, FXSelector, void *)
called when user press the button for connect mode
Mode for editing additionals.
Definition: GNEViewNet.h:65
StringBijection< EditMode > myEditAdditionalModeNames
stringBijection for edit additional mode names
Definition: GNEViewNet.h:491
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
Definition: GNEViewNet.cpp:206
long onCmdSetModePolygon(FXObject *, FXSelector, void *)
called when user press the button for polygon mode
Mode for editing crossing.
Definition: GNEViewNet.h:67
long onCmdStraightenEdges(FXObject *, FXSelector, void *)
makes selected edges straight
long onCmdSetModeInspect(FXObject *, FXSelector, void *)
called when user press the button for inspect mode
mode for connecting lanes
Definition: GNEViewNet.h:61
bool myMovingSelection
whether a selection is being moved
Definition: GNEViewNet.h:430
mode for creating new edges
Definition: GNEViewNet.h:51
long onCmdSetFirstGeometryPoint(FXObject *, FXSelector, void *)
set as first geometry point the closes geometry point
long onDoubleClicked(FXObject *, FXSelector, void *)
called when user press mouse&#39;s left button two times
Definition: GNEViewNet.cpp:921
long onCmdToogleShowBubbles(FXObject *, FXSelector, void *)
toogle show bubbles
GNEEdge * getEdgeAtCursorPosition(Position &pos)
try to retrieve an edge at the given position
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
Definition: GNEViewNet.cpp:340
void hotkeyDel()
handle del keypress
void startEditShapeJunction(GNEJunction *junction)
start edit junction shape
Definition: GNEViewNet.cpp:346
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
bool myAmInRectSelect
whether we have started rectangle-selection
Definition: GNEViewNet.h:440
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
Definition: GNEViewNet.h:352
void hotkeyEnter()
handle enter keypress
void deleteSelectedLanes()
delete all currently selected lanes
long onCmdEditJunctionShape(FXObject *, FXSelector, void *)
edit junction shape
long onLeftBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse&#39;s left button
Definition: GNEViewNet.cpp:843
long onCmdShowGrid(FXObject *, FXSelector, void *)
toogle show grid
void processClick(FXEvent *e, void *data)
Auxiliar function used by onLeftBtnPress(...)
long onCmdSetModeCreateEdge(FXObject *, FXSelector, void *)
long onCmdSetModeDelete(FXObject *, FXSelector, void *)
called when user press the button for delete mode
void deleteSelectedEdges()
delete all currently selected edges
GNEUndoList * myUndoList
a reference to the undolist maintained in the application
Definition: GNEViewNet.h:495
EditMode myEditMode
the current edit mode
Definition: GNEViewNet.h:355
bool addRestrictedLane(SUMOVehicleClass vclass)
add restricted lane
MFXCheckableButton * myEditModePolygon
chekable button for edit mode polygon
Definition: GNEViewNet.h:482
bool myTestingMode
Definition: GNEViewNet.h:512
GNEFrame * myCurrentFrame
the current frame
Definition: GNEViewNet.h:358
Position myMovingOriginalPosition
original Position of element before moving (needed for commmit position changes)
Definition: GNEViewNet.h:421
GNEPoly * myPolyToMove
the poly of which geometry is being moved
Definition: GNEViewNet.h:409