Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEMoveFrame.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2023 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/****************************************************************************/
18// The Widget for move elements
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
24
25
26// ===========================================================================
27// class definitions
28// ===========================================================================
33class GNEMoveFrame : public GNEFrame {
34
35public:
36 // ===========================================================================
37 // class CommonModeOptions
38 // ===========================================================================
39
41
42 public:
44 CommonModeOptions(GNEMoveFrame* moveFrameParent);
45
48
50 bool getAllowChangeLane() const;
51
53 bool getMergeGeometryPoints() const;
54
55 private:
57 FXCheckButton* myAllowChangeLanes;
58
60 FXCheckButton* myMergeGeometryPoints;
61 };
62
63 // ===========================================================================
64 // class NetworkModeOptions
65 // ===========================================================================
66
68
69 public:
71 NetworkModeOptions(GNEMoveFrame* moveFrameParent);
72
75
78
81
83 bool getMoveWholePolygons() const;
84
85 private:
88
90 FXCheckButton* myMoveWholePolygons;
91 };
92
93 // ===========================================================================
94 // class DemandMoveOptions
95 // ===========================================================================
96
98
99 public:
101 DemandModeOptions(GNEMoveFrame* moveFrameParent);
102
105
108
111
113 bool getLeaveStopPersonsConnected() const;
114
115 private:
118
121 };
122
123 // ===========================================================================
124 // class ShiftEdgeSelectedGeometry
125 // ===========================================================================
126
130
131 public:
133 ShiftEdgeSelectedGeometry(GNEMoveFrame* moveFrameParent);
134
137
140
143
147 long onCmdChangeShiftValue(FXObject*, FXSelector, void*);
148
150 long onCmdShiftEdgeGeometry(FXObject*, FXSelector, void*);
151
153
154 protected:
156 FOX_CONSTRUCTOR(ShiftEdgeSelectedGeometry)
157
158 private:
161
163 FXTextField* myShiftValueTextField = nullptr;
164
166 FXButton* myApplyZValue = nullptr;
167 };
168
169 // ===========================================================================
170 // class ChangeZInSelection
171 // ===========================================================================
172
176
177 public:
179 ChangeZInSelection(GNEMoveFrame* moveFrameParent);
180
183
186
189
193 long onCmdChangeZValue(FXObject*, FXSelector, void*);
194
196 long onCmdChangeZMode(FXObject*, FXSelector, void*);
197
199 long onCmdApplyZ(FXObject*, FXSelector, void*);
200
202
203 protected:
205 FOX_CONSTRUCTOR(ChangeZInSelection)
206
207
208 void updateInfoLabel();
209
210 private:
213
215 FXTextField* myZValueTextField = nullptr;
216
218 FXRadioButton* myAbsoluteValue = nullptr;
219
221 FXButton* myApplyButton = nullptr;
222
224 FXRadioButton* myRelativeValue = nullptr;
225
227 FXLabel* myInfoLabel = nullptr;
228 };
229
230 // ===========================================================================
231 // class ShiftShapeGeometry
232 // ===========================================================================
233
237
238 public:
240 ShiftShapeGeometry(GNEMoveFrame* moveFrameParent);
241
244
247
250
254 long onCmdChangeShiftValue(FXObject*, FXSelector, void*);
255
257 long onCmdShiftShapeGeometry(FXObject*, FXSelector, void*);
258
260
261 protected:
263 FOX_CONSTRUCTOR(ShiftShapeGeometry)
264
265 private:
268
270 FXTextField* myShiftValueXTextField = nullptr;
271
273 FXTextField* myShiftValueYTextField = nullptr;
274 };
275
276 // ===========================================================================
277 // class Information
278 // ===========================================================================
279
281
282 public:
284 Information(GNEMoveFrame* moveFrameParent);
285
287 ~Information();
288 };
289
294 GNEMoveFrame(GNEViewParent* viewParent, GNEViewNet* viewNet);
295
298
304 void processClick(const Position& clickedPosition,
305 const GNEViewNetHelper::ObjectsUnderCursor& objectsUnderCursor,
306 const GNEViewNetHelper::ObjectsUnderCursor& objectsUnderGrippedCursor);
307
309 void show();
310
312 void hide();
313
316
319
322
323private:
326
329
332
335
338
341
344};
void updateInfoLabel()
FOX need this.
GNEMoveFrame * myMoveFrameParent
pointer to move frame parent
void disableChangeZInSelection()
disable change Z in selection
FXRadioButton * myRelativeValue
radio button for relative value
FXRadioButton * myAbsoluteValue
radio button for absolute value
long onCmdChangeZValue(FXObject *, FXSelector, void *)
FXButton * myApplyButton
apply button
void enableChangeZInSelection()
enabale change Z in selection
FXLabel * myInfoLabel
info label
long onCmdChangeZMode(FXObject *, FXSelector, void *)
Called when user changes Z mode.
FXTextField * myZValueTextField
textField for Z value
long onCmdApplyZ(FXObject *, FXSelector, void *)
Called when user press the apply Z value button.
FXCheckButton * myAllowChangeLanes
checkbox for enable/disable change lanes
bool getMergeGeometryPoints() const
check if merge geometry points
bool getAllowChangeLane() const
allow change lane
FXCheckButton * myMergeGeometryPoints
checkbox for enable/disable merge geometry points
GNEMoveFrame * myMoveFrameParent
pointer to move frame parent
FXCheckButton * myLeaveStopPersonsConnected
checkbox for enable/disable leave stopPersons connected
bool getLeaveStopPersonsConnected() const
check if leave stopPersonConnected is enabled
void hideDemandModeOptions()
hide DemandModeOptions
void showDemandModeOptions()
show DemandModeOptions
void hideNetworkModeOptions()
hide NetworkModeOptions
FXCheckButton * myMoveWholePolygons
checkbox for enable/disable move whole polygons
void showNetworkModeOptions()
show NetworkModeOptions
GNEMoveFrame * myMoveFrameParent
pointer to move frame parent
bool getMoveWholePolygons() const
move whole polygons
long onCmdChangeShiftValue(FXObject *, FXSelector, void *)
FXButton * myApplyZValue
button for apply Z value
void enableShiftEdgeGeometry()
enable shift edge geometry
GNEMoveFrame * myMoveFrameParent
FOX need this.
void disableShiftEdgeGeometry()
disable change Z in selection
FXTextField * myShiftValueTextField
textField for shift value
long onCmdShiftEdgeGeometry(FXObject *, FXSelector, void *)
Called when user press the apply Z value button.
void hideShiftShapeGeometry()
hide change Z in selection
FXTextField * myShiftValueYTextField
textField for shiftY value
long onCmdChangeShiftValue(FXObject *, FXSelector, void *)
FXTextField * myShiftValueXTextField
textField for shiftX value
long onCmdShiftShapeGeometry(FXObject *, FXSelector, void *)
Called when user press the apply Z value button.
GNEMoveFrame * myMoveFrameParent
FOX need this.
void showShiftShapeGeometry()
show shift shape geometry
void show()
show prohibition frame
ChangeZInSelection * myChangeZInSelection
modul for change Z in selection
void processClick(const Position &clickedPosition, const GNEViewNetHelper::ObjectsUnderCursor &objectsUnderCursor, const GNEViewNetHelper::ObjectsUnderCursor &objectsUnderGrippedCursor)
handle processClick and set the relative colouring
DemandModeOptions * myDemandModeOptions
modul for DemandMode Options
NetworkModeOptions * getNetworkModeOptions() const
get network mode options
void hide()
hide prohibition frame
~GNEMoveFrame()
Destructor.
ShiftEdgeSelectedGeometry * myShiftEdgeSelectedGeometry
modul for shift edge selected geometry
DemandModeOptions * getDemandModeOptions() const
get demand mode options
NetworkModeOptions * myNetworkModeOptions
modul for NetworkMode Options
Information * myInformation
modul for show information
CommonModeOptions * myCommonModeOptions
modul for CommonMode Options
ShiftShapeGeometry * myShiftShapeGeometry
modul for shift shape geometry
CommonModeOptions * getCommonModeOptions() const
get common mode options
class used to group all variables related with objects under cursor after a click over view
A single child window which contains a view of the simulation area.
MFXGroupBoxModule (based on FXGroupBox)
A point in 2D or 3D with translation and scaling methods.
Definition Position.h:37