Eclipse SUMO - Simulation of Urban MObility
GUISUMOViewParent.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2020 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
21 // A single child window which contains a view of the simulation area
22 /****************************************************************************/
23 #pragma once
24 #include <config.h>
25 
26 #include <string>
27 #include <vector>
28 #include <fx.h>
29 #include <utils/geom/Position.h>
30 #include <utils/geom/Boundary.h>
33 
34 
35 // ===========================================================================
36 // class declarations
37 // ===========================================================================
38 class GUINet;
41 
42 
43 // ===========================================================================
44 // class declarations
45 // ===========================================================================
57  // FOX-declarations
58  FXDECLARE(GUISUMOViewParent)
59 
60 public:
62  enum ViewType {
67  };
68 
81  GUISUMOViewParent(FXMDIClient* p, FXMDIMenu* mdimenu,
82  const FXString& name, GUIMainWindow* parentWindow,
83  FXIcon* ic = NULL, FXuint opts = 0, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0);
84 
85 
92  virtual GUISUMOAbstractView* init(FXGLCanvas* share, GUINet& net, ViewType type);
93 
96 
98  long onCmdMakeSnapshot(FXObject* sender, FXSelector, void*);
99 
101  long onSimStep(FXObject* sender, FXSelector, void*);
102 
104  long onCmdLocate(FXObject*, FXSelector, void*);
105 
107  long onCmdSpeedFactor(FXObject*, FXSelector, void*);
108  long onUpdSpeedFactor(FXObject*, FXSelector, void*);
109 
111  long onKeyPress(FXObject* o, FXSelector sel, void* data);
112  long onKeyRelease(FXObject* o, FXSelector sel, void* data);
113 
115  bool isSelected(GUIGlObject* o) const;
116 
118  void setToolBarVisibility(const bool value);
119 
121  void eraseGLObjChooser(GUIDialog_GLObjChooser* GLObjChooser);
122 
123 protected:
125  FOX_CONSTRUCTOR(GUISUMOViewParent)
126 
127 
129 
131  FXToolBarShell* myToolBarDragSpeed = nullptr;
132 
134  FXToolBar* myToolBarSpeed = nullptr;
135 
137  FXSlider* mySpeedFactorSlider = nullptr;
138 
139 private:
141  class GLObjChooser {
142 
143  public:
145  GLObjChooser();
146 
148  ~GLObjChooser();
149 
152 
155 
158 
161 
164 
167 
170 
173 
176 
179 
182 
185  };
186 
189 };
A MSNet extended by some values for usage within the gui.
Definition: GUINet.h:81
struct for GLObjChooser dialog
GUIDialog_GLObjChooser * ACChooserVehicles
pointer to ACChooser dialog used for locate vehicles
GUIDialog_GLObjChooser * ACChooserPolygon
pointer to ACChooser dialog used for locate Polygons
GUIDialog_GLObjChooser * ACChooserPOI
pointer to ACChooser dialog used for locate POIs
GUIDialog_GLObjChooser * ACChooserEdges
pointer to ACChooser dialog used for locate edges
GUIDialog_GLObjChooser * ACChooserProhibition
pointer to ACChooser dialog used for locate Prohibitions
GUIDialog_GLObjChooser * ACChooserJunction
pointer to ACChooser dialog used for locate junctions
GUIDialog_GLObjChooser * ACChooserTLS
pointer to ACChooser dialog used for locate TLSs
GUIDialog_GLObjChooser * ACChooserAdditional
pointer to ACChooser dialog used for locate additional
GUIDialog_GLObjChooser * ACChooserContainer
pointer to ACChooser dialog used for locate Containers
GUIDialog_GLObjChooser * ACChooserStops
pointer to ACChooser dialog used for locate stops
GUIDialog_GLObjChooser * ACChooserPersons
pointer to ACChooser dialog used for locate persons
GUIDialog_GLObjChooser * ACChooserRoutes
pointer to ACChooser dialog used for locate routes
A single child window which contains a view of the simulation area.
bool isSelected(GUIGlObject *o) const
true if the object is selected (may include extra logic besides calling gSelected)
ViewType
Available view types.
@ VIEW_3D_OSG
plain 3D OSG view (
@ VIEW_2D_OPENGL
plain 2D openGL view (
long onCmdSpeedFactor(FXObject *, FXSelector, void *)
speedFactor-callback
void eraseGLObjChooser(GUIDialog_GLObjChooser *GLObjChooser)
erase GLObjChooser
FXToolBar * myToolBarSpeed
toolbar for speed
virtual GUISUMOAbstractView * init(FXGLCanvas *share, GUINet &net, ViewType type)
"Initialises" this window by building the contents
GUISUMOViewParent(FXMDIClient *p, FXMDIMenu *mdimenu, const FXString &name, GUIMainWindow *parentWindow, FXIcon *ic=NULL, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
Constructor.
FXToolBarShell * myToolBarDragSpeed
toolbar shell for speed
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
void buildSpeedControlToolbar()
fox need this
long onUpdSpeedFactor(FXObject *, FXSelector, void *)
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
long onCmdMakeSnapshot(FXObject *sender, FXSelector, void *)
Called if the user wants to make a snapshot (screenshot)
long onSimStep(FXObject *sender, FXSelector, void *)
Called on a simulation step.
FXSlider * mySpeedFactorSlider
slider for speedfactor
void setToolBarVisibility(const bool value)
about toggled gaming status
long onKeyPress(FXObject *o, FXSelector sel, void *data)
handle keys
~GUISUMOViewParent()
Destructor.
GLObjChooser myGLObjChooser
GLObjChooser.