Eclipse SUMO - Simulation of Urban MObility
GUIDialog_EditViewport.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 /****************************************************************************/
16 // A dialog to change the viewport
17 /****************************************************************************/
18 #ifndef GUIDialog_EditViewport_h
19 #define GUIDialog_EditViewport_h
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include <fx.h>
28 
29 // ===========================================================================
30 // class declarations
31 // ===========================================================================
33 class Position;
34 
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
43 class GUIDialog_EditViewport : public FXDialogBox {
44  // FOX-declarations
45  FXDECLARE(GUIDialog_EditViewport)
46 public:
48  enum {
49  MID_CHANGED = FXDialogBox::ID_LAST,
54  };
55 
56 
63  GUIDialog_EditViewport(GUISUMOAbstractView* parent, const char* name, int x, int y);
64 
67 
69  void show();
70 
73 
75  long onCmdChanged(FXObject*, FXSelector, void*);
76 
78  long onCmdOk(FXObject*, FXSelector, void*);
79 
81  long onCmdCancel(FXObject*, FXSelector, void*);
82 
84  long onCmdLoad(FXObject*, FXSelector, void*);
85 
87  long onCmdSave(FXObject*, FXSelector, void*);
89 
91  void writeXML(OutputDevice& dev);
92 
98  void setValues(double zoom, double xoff, double yoff, double rotation);
99 
104  void setValues(const Position& lookFrom, const Position& lookAt, double rotation);
105 
110  void setOldValues(const Position& lookFrom, const Position& lookAt, double rotation);
111 
115  bool haveGrabbed() const;
116 
117 protected:
120 
122  void saveWindowPos();
123 
124 private:
127 
131 
133  FXButton* myLoadButton;
134 
136  FXButton* mySaveButton;
137 
139  FXRealSpinner* myZoom, *myXOff, *myYOff, *myZOff, *myRotation;
140 
142  FXRealSpinner* myLookAtX, *myLookAtY, *myLookAtZ;
143 
145  FXButton* myOKButton;
146 
148  FXButton* myCancelButton;
149 };
150 
151 
152 #endif
153 
154 /****************************************************************************/
155 
GUIDialog_EditViewport::onCmdCancel
long onCmdCancel(FXObject *, FXSelector, void *)
Called when the user wants to restore the viewport.
Definition: GUIDialog_EditViewport.cpp:177
GUIDialog_EditViewport::onCmdOk
long onCmdOk(FXObject *, FXSelector, void *)
Called when the user wants to keep the viewport.
Definition: GUIDialog_EditViewport.cpp:158
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:73
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:64
GUIDialog_EditViewport::writeXML
void writeXML(OutputDevice &dev)
write the settings to the given device
Definition: GUIDialog_EditViewport.cpp:243
GUIDialog_EditViewport::myOldRotation
double myOldRotation
Definition: GUIDialog_EditViewport.h:130
GUIDialog_EditViewport::mySaveButton
FXButton * mySaveButton
save button
Definition: GUIDialog_EditViewport.h:136
GUIDialog_EditViewport::myZoom
FXRealSpinner * myZoom
The spin dialers used to change the view.
Definition: GUIDialog_EditViewport.h:139
GUIDialog_EditViewport::myZOff
FXRealSpinner * myZOff
Definition: GUIDialog_EditViewport.h:139
GUIDialog_EditViewport::MID_CHANGED
Definition: GUIDialog_EditViewport.h:49
GUIDialog_EditViewport::setOldValues
void setOldValues(const Position &lookFrom, const Position &lookAt, double rotation)
Resets old values.
Definition: GUIDialog_EditViewport.cpp:286
GUIDialog_EditViewport::myLoadButton
FXButton * myLoadButton
load button
Definition: GUIDialog_EditViewport.h:133
GUIDialog_EditViewport
A dialog to change the viewport.
Definition: GUIDialog_EditViewport.h:43
GUIDialog_EditViewport::myOldLookAt
Position myOldLookAt
Definition: GUIDialog_EditViewport.h:129
GUIDialog_EditViewport::myXOff
FXRealSpinner * myXOff
Definition: GUIDialog_EditViewport.h:139
GUIDialog_EditViewport::MID_CANCEL
Definition: GUIDialog_EditViewport.h:51
GUIDialog_EditViewport::myLookAtX
FXRealSpinner * myLookAtX
The spin dialers used to change the view at (osg only)
Definition: GUIDialog_EditViewport.h:142
GUIDialog_EditViewport::myParent
GUISUMOAbstractView * myParent
The calling view.
Definition: GUIDialog_EditViewport.h:126
GUIDialog_EditViewport::onCmdLoad
long onCmdLoad(FXObject *, FXSelector, void *)
Called when the user wants to load a viewport.
Definition: GUIDialog_EditViewport.cpp:205
GUIDialog_EditViewport::GUIDialog_EditViewport
GUIDialog_EditViewport()
FOX needs this.
Definition: GUIDialog_EditViewport.h:119
GUIDialog_EditViewport::MID_SAVE
Definition: GUIDialog_EditViewport.h:53
GUIDialog_EditViewport::saveWindowPos
void saveWindowPos()
save window position to the registry
Definition: GUIDialog_EditViewport.cpp:301
GUIDialog_EditViewport::~GUIDialog_EditViewport
~GUIDialog_EditViewport()
Destructor.
Definition: GUIDialog_EditViewport.cpp:142
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
GUIDialog_EditViewport::myOldLookFrom
Position myOldLookFrom
The old viewport.
Definition: GUIDialog_EditViewport.h:129
GUIDialog_EditViewport::MID_OK
Definition: GUIDialog_EditViewport.h:50
GUIDialog_EditViewport::onCmdSave
long onCmdSave(FXObject *, FXSelector, void *)
Called when the user wants to save a viewport.
Definition: GUIDialog_EditViewport.cpp:224
GUIDialog_EditViewport::show
void show()
overload show function to focus always in OK Button
Definition: GUIDialog_EditViewport.cpp:146
GUIDialog_EditViewport::myOKButton
FXButton * myOKButton
OK button.
Definition: GUIDialog_EditViewport.h:145
GUIDialog_EditViewport::myYOff
FXRealSpinner * myYOff
Definition: GUIDialog_EditViewport.h:139
GUIDialog_EditViewport::MID_LOAD
Definition: GUIDialog_EditViewport.h:52
GUIDialog_EditViewport::setValues
void setValues(double zoom, double xoff, double yoff, double rotation)
Sets the given values into the dialog.
Definition: GUIDialog_EditViewport.cpp:259
config.h
GUIDialog_EditViewport::myRotation
FXRealSpinner * myRotation
Definition: GUIDialog_EditViewport.h:139
GUIDialog_EditViewport::haveGrabbed
bool haveGrabbed() const
Returns the information whether one of the spin dialers is grabbed.
Definition: GUIDialog_EditViewport.cpp:295
GUIDialog_EditViewport::myLookAtZ
FXRealSpinner * myLookAtZ
Definition: GUIDialog_EditViewport.h:142
GUIDialog_EditViewport::myLookAtY
FXRealSpinner * myLookAtY
Definition: GUIDialog_EditViewport.h:142
GUIDialog_EditViewport::myCancelButton
FXButton * myCancelButton
Cancel button.
Definition: GUIDialog_EditViewport.h:148
GUIDialog_EditViewport::onCmdChanged
long onCmdChanged(FXObject *, FXSelector, void *)
Called when the user changes the viewport.
Definition: GUIDialog_EditViewport.cpp:186