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 /****************************************************************************/
15 // A dialog to change the viewport
16 /****************************************************************************/
17 #ifndef GUIDialog_EditViewport_h
18 #define GUIDialog_EditViewport_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <fx.h>
27 
28 // ===========================================================================
29 // class declarations
30 // ===========================================================================
32 class Position;
33 
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
42 class GUIDialog_EditViewport : public FXDialogBox {
43  // FOX-declarations
44  FXDECLARE(GUIDialog_EditViewport)
45 public:
47  enum {
48  MID_CHANGED = FXDialogBox::ID_LAST,
53  };
54 
55 
62  GUIDialog_EditViewport(GUISUMOAbstractView* parent, const char* name, int x, int y);
63 
66 
68  void show();
69 
72 
74  long onCmdChanged(FXObject*, FXSelector, void*);
75 
77  long onCmdOk(FXObject*, FXSelector, void*);
78 
80  long onCmdCancel(FXObject*, FXSelector, void*);
81 
83  long onCmdLoad(FXObject*, FXSelector, void*);
84 
86  long onCmdSave(FXObject*, FXSelector, void*);
88 
90  void writeXML(OutputDevice& dev);
91 
97  void setValues(double zoom, double xoff, double yoff, double rotation);
98 
103  void setValues(const Position& lookFrom, const Position& lookAt, double rotation);
104 
109  void setOldValues(const Position& lookFrom, const Position& lookAt, double rotation);
110 
114  bool haveGrabbed() const;
115 
116 protected:
118 
119 
120  void saveWindowPos();
121 
122 private:
125 
129 
131  FXButton* myLoadButton;
132 
134  FXButton* mySaveButton;
135 
137  FXRealSpinner* myZoom, *myXOff, *myYOff, *myZOff, *myRotation;
138 
140  FXRealSpinner* myLookAtX, *myLookAtY, *myLookAtZ;
141 
143  FXButton* myOKButton;
144 
146  FXButton* myCancelButton;
147 };
148 
149 
150 #endif
151 
152 /****************************************************************************/
153 
GUIDialog_EditViewport::onCmdCancel
long onCmdCancel(FXObject *, FXSelector, void *)
Called when the user wants to restore the viewport.
Definition: GUIDialog_EditViewport.cpp:176
GUIDialog_EditViewport::onCmdOk
long onCmdOk(FXObject *, FXSelector, void *)
Called when the user wants to keep the viewport.
Definition: GUIDialog_EditViewport.cpp:157
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:63
GUIDialog_EditViewport::writeXML
void writeXML(OutputDevice &dev)
write the settings to the given device
Definition: GUIDialog_EditViewport.cpp:242
GUIDialog_EditViewport::myOldRotation
double myOldRotation
Definition: GUIDialog_EditViewport.h:128
GUIDialog_EditViewport::mySaveButton
FXButton * mySaveButton
save button
Definition: GUIDialog_EditViewport.h:134
GUIDialog_EditViewport::myZoom
FXRealSpinner * myZoom
The spin dialers used to change the view.
Definition: GUIDialog_EditViewport.h:137
GUIDialog_EditViewport::myZOff
FXRealSpinner * myZOff
Definition: GUIDialog_EditViewport.h:137
GUIDialog_EditViewport::MID_CHANGED
Definition: GUIDialog_EditViewport.h:48
GUIDialog_EditViewport::setOldValues
void setOldValues(const Position &lookFrom, const Position &lookAt, double rotation)
Resets old values.
Definition: GUIDialog_EditViewport.cpp:285
GUIDialog_EditViewport::myLoadButton
FXButton * myLoadButton
load button
Definition: GUIDialog_EditViewport.h:131
GUIDialog_EditViewport
A dialog to change the viewport.
Definition: GUIDialog_EditViewport.h:42
GUIDialog_EditViewport::myOldLookAt
Position myOldLookAt
Definition: GUIDialog_EditViewport.h:127
GUIDialog_EditViewport::myXOff
FXRealSpinner * myXOff
Definition: GUIDialog_EditViewport.h:137
GUIDialog_EditViewport::MID_CANCEL
Definition: GUIDialog_EditViewport.h:50
GUIDialog_EditViewport::myLookAtX
FXRealSpinner * myLookAtX
The spin dialers used to change the view at (osg only)
Definition: GUIDialog_EditViewport.h:140
GUIDialog_EditViewport::myParent
GUISUMOAbstractView * myParent
The calling view.
Definition: GUIDialog_EditViewport.h:124
GUIDialog_EditViewport::onCmdLoad
long onCmdLoad(FXObject *, FXSelector, void *)
Called when the user wants to load a viewport.
Definition: GUIDialog_EditViewport.cpp:204
GUIDialog_EditViewport::MID_SAVE
Definition: GUIDialog_EditViewport.h:52
GUIDialog_EditViewport::saveWindowPos
void saveWindowPos()
save window position to the registry
Definition: GUIDialog_EditViewport.cpp:300
GUIDialog_EditViewport::~GUIDialog_EditViewport
~GUIDialog_EditViewport()
Destructor.
Definition: GUIDialog_EditViewport.cpp:141
FOX_CONSTRUCTOR
#define FOX_CONSTRUCTOR(classname)
Definition: config.h:13
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:38
GUIDialog_EditViewport::myOldLookFrom
Position myOldLookFrom
The old viewport.
Definition: GUIDialog_EditViewport.h:127
GUIDialog_EditViewport::GUIDialog_EditViewport
GUIDialog_EditViewport(GUISUMOAbstractView *parent, const char *name, int x, int y)
Constructor.
Definition: GUIDialog_EditViewport.cpp:58
GUIDialog_EditViewport::MID_OK
Definition: GUIDialog_EditViewport.h:49
GUIDialog_EditViewport::onCmdSave
long onCmdSave(FXObject *, FXSelector, void *)
Called when the user wants to save a viewport.
Definition: GUIDialog_EditViewport.cpp:223
GUIDialog_EditViewport::show
void show()
overload show function to focus always in OK Button
Definition: GUIDialog_EditViewport.cpp:145
GUIDialog_EditViewport::myOKButton
FXButton * myOKButton
OK button.
Definition: GUIDialog_EditViewport.h:143
GUIDialog_EditViewport::myYOff
FXRealSpinner * myYOff
Definition: GUIDialog_EditViewport.h:137
GUIDialog_EditViewport::MID_LOAD
Definition: GUIDialog_EditViewport.h:51
GUIDialog_EditViewport::setValues
void setValues(double zoom, double xoff, double yoff, double rotation)
Sets the given values into the dialog.
Definition: GUIDialog_EditViewport.cpp:258
config.h
GUIDialog_EditViewport::myRotation
FXRealSpinner * myRotation
Definition: GUIDialog_EditViewport.h:137
GUIDialog_EditViewport::haveGrabbed
bool haveGrabbed() const
Returns the information whether one of the spin dialers is grabbed.
Definition: GUIDialog_EditViewport.cpp:294
GUIDialog_EditViewport::myLookAtZ
FXRealSpinner * myLookAtZ
Definition: GUIDialog_EditViewport.h:140
GUIDialog_EditViewport::myLookAtY
FXRealSpinner * myLookAtY
Definition: GUIDialog_EditViewport.h:140
GUIDialog_EditViewport::myCancelButton
FXButton * myCancelButton
Cancel button.
Definition: GUIDialog_EditViewport.h:146
GUIDialog_EditViewport::onCmdChanged
long onCmdChanged(FXObject *, FXSelector, void *)
Called when the user changes the viewport.
Definition: GUIDialog_EditViewport.cpp:185