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-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 /****************************************************************************/
17 // A single child window which contains a view of the simulation area
18 /****************************************************************************/
19 #ifndef GUISUMOViewParent_h
20 #define GUISUMOViewParent_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <string>
29 #include <vector>
30 #include <fx.h>
31 #include <utils/geom/Position.h>
32 #include <utils/geom/Boundary.h>
35 
36 
37 // ===========================================================================
38 // class declarations
39 // ===========================================================================
40 class GUINet;
43 
44 
45 // ===========================================================================
46 // class declarations
47 // ===========================================================================
59  // FOX-declarations
60  FXDECLARE(GUISUMOViewParent)
61 
62 public:
64  enum ViewType {
69  };
70 
71 
84  GUISUMOViewParent(FXMDIClient* p, FXMDIMenu* mdimenu,
85  const FXString& name, GUIMainWindow* parentWindow,
86  FXIcon* ic = NULL, FXuint opts = 0, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0);
87 
88 
95  virtual GUISUMOAbstractView* init(FXGLCanvas* share, GUINet& net, ViewType type);
96 
97 
100 
101 
103  long onCmdMakeSnapshot(FXObject* sender, FXSelector, void*);
104 
106  long onSimStep(FXObject* sender, FXSelector, void*);
107 
109  long onCmdLocate(FXObject*, FXSelector, void*);
110 
112  long onCmdSpeedFactor(FXObject*, FXSelector, void*);
113  long onUpdSpeedFactor(FXObject*, FXSelector, void*);
114 
116  long onKeyPress(FXObject* o, FXSelector sel, void* data);
117  long onKeyRelease(FXObject* o, FXSelector sel, void* data);
118 
120  bool isSelected(GUIGlObject* o) const;
121 
123  void setToolBarVisibility(const bool value);
124 
125 protected:
127 
128  FXToolBarShell* myToolBarDragSpeed = nullptr;
129  FXToolBar* myToolBarSpeed = nullptr;
130  FXSlider* mySpeedFactorSlider = nullptr;
131 
132 
133 protected:
135 
136 };
137 
138 
139 #endif
140 
141 /****************************************************************************/
142 
GUISUMOViewParent::setToolBarVisibility
void setToolBarVisibility(const bool value)
@notify about toggled gaming status
Definition: GUISUMOViewParent.cpp:133
Boundary.h
GUIGlObjectTypes.h
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
GUISUMOViewParent
A single child window which contains a view of the simulation area.
Definition: GUISUMOViewParent.h:58
GUISUMOViewParent::onSimStep
long onSimStep(FXObject *sender, FXSelector, void *)
Called on a simulation step.
Definition: GUISUMOViewParent.cpp:250
GUISUMOViewParent::VIEW_3D_OSG
plain 3D OSG view (
Definition: GUISUMOViewParent.h:68
GUISUMOViewParent::onUpdSpeedFactor
long onUpdSpeedFactor(FXObject *, FXSelector, void *)
Definition: GUISUMOViewParent.cpp:335
GUISUMOViewParent::GUISUMOViewParent
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.
Definition: GUISUMOViewParent.cpp:95
GUISUMOViewParent::mySpeedFactorSlider
FXSlider * mySpeedFactorSlider
Definition: GUISUMOViewParent.h:130
GUISUMOViewParent::onKeyPress
long onKeyPress(FXObject *o, FXSelector sel, void *data)
handle keys
Definition: GUISUMOViewParent.cpp:283
GUISUMOViewParent::ViewType
ViewType
Available view types.
Definition: GUISUMOViewParent.h:64
FOX_CONSTRUCTOR
#define FOX_CONSTRUCTOR(classname)
Definition: config.h:13
GUIGlObject
Definition: GUIGlObject.h:65
GUISUMOViewParent::myToolBarSpeed
FXToolBar * myToolBarSpeed
Definition: GUISUMOViewParent.h:129
GUISUMOViewParent::onCmdMakeSnapshot
long onCmdMakeSnapshot(FXObject *sender, FXSelector, void *)
Called if the user wants to make a snapshot (screenshot)
Definition: GUISUMOViewParent.cpp:143
Position.h
GUISUMOViewParent::myToolBarDragSpeed
FXToolBarShell * myToolBarDragSpeed
Definition: GUISUMOViewParent.h:128
GUIMainWindow
Definition: GUIMainWindow.h:46
GUISUMOViewParent::onCmdLocate
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
Definition: GUISUMOViewParent.cpp:188
GUISUMOViewParent::isSelected
bool isSelected(GUIGlObject *o) const
true if the object is selected (may include extra logic besides calling gSelected)
Definition: GUISUMOViewParent.cpp:258
GUISUMOViewParent::onKeyRelease
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Definition: GUISUMOViewParent.cpp:290
GUIGlChildWindow.h
GUISUMOViewParent::buildSpeedControlToolbar
void buildSpeedControlToolbar()
Definition: GUISUMOViewParent.cpp:297
config.h
GUIGlChildWindow
Definition: GUIGlChildWindow.h:40
GUINet
A MSNet extended by some values for usage within the gui.
Definition: GUINet.h:82
GUISUMOViewParent::VIEW_2D_OPENGL
plain 2D openGL view (
Definition: GUISUMOViewParent.h:66
GUISUMOViewParent::init
virtual GUISUMOAbstractView * init(FXGLCanvas *share, GUINet &net, ViewType type)
"Initialises" this window by building the contents
Definition: GUISUMOViewParent.cpp:107
GUIDialog_GLObjChooser
Definition: GUIDialog_GLObjChooser.h:51
GUISUMOViewParent::onCmdSpeedFactor
long onCmdSpeedFactor(FXObject *, FXSelector, void *)
speedFactor-callback
Definition: GUISUMOViewParent.cpp:315
GUISUMOViewParent::~GUISUMOViewParent
~GUISUMOViewParent()
Destructor.
Definition: GUISUMOViewParent.cpp:127