VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
altitudeSelectionWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
18 #include <vrvCore/DtUniqueID.h>
21 #endif
22 
23 #include <matrix/vlVector.h>
24 
25 #include <QtWidgets/QWidget>
26 
27 class QGridLayout;
28 class QLineEdit;
29 class QLabel;
30 class QDoubleValidator;
31 class QRadioButton;
32 class QHBoxLayout;
33 class QFrame;
34 
35 namespace makVrv
36 {
37  class DtChannel;
38 }
39 
40 namespace makVrf
41 {
42  class DtAltitudeSelectionWidgetLogic;
43 
46  {
47  Q_OBJECT
48 
49  public:
50 
51  //CTOR
52  DtAltitudeSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const DtTaskSetVariableWidget::CreationFlags& cflags = DtTaskSetVariableWidget::NormalMode);
53 
54  //DTOR
55  virtual ~DtAltitudeSelectionWidget() override;
56 
58  virtual DtAltitudeClampType currentAltitudeTypeSelection() const override;
59 
61  virtual void setCurrentAltitudeTypeSelection(const DtAltitudeClampType& type) override;
62 
64  virtual double altitude() const override;
65 
67  virtual QString zValue() const override;
68 
69  virtual void setUseHighestLOD(bool);
70  virtual bool useHighestLOD() const;
71 
73  virtual void setZLabel(const QString&) override;
74 
76  virtual bool eventFilter(QObject*, QEvent*) override;
77 
79  virtual void setLocation(DtVector, bool resetAltitude = false) override;
80 
81  virtual DtGeodeticCoord geodeticLocation() const;
82 
83  virtual double altitudeAboveSeaLevel() const override;
84  virtual void setAltitudeAboveSeaLevel(double) override;
85  virtual void setAltitudeAboveSeaLevel(const QString&) override;
86  virtual void setAltitudeAboveSeaLevelLabel(const QString&) override;
87 
88  virtual double altitudeAboveGroundLevel() const override;
89  virtual void setAltitudeAboveGroundLevel(double) override;
90  virtual void setAltitudeAboveGroundLevel(const QString&) override;
91  virtual void setAltitudeAboveGroundLevelLabel(const QString&) override;
92 
93  virtual void setClampFlag(DtGuiLocalObjectManager::ClampFlag);
94  virtual DtGuiLocalObjectManager::ClampFlag clampFlag() const;
95 
97  virtual void setMouseClickSupportEnabled(bool);
98 
100  virtual void setDisplayOnlyMode(bool);
101  virtual bool displayOnlyMode() const override;
102 
104  virtual void setLabel(const QString&);
105  QString label() const;
106 
108  virtual void setCoordinateSystem(const makArchives::DtDisplayUnitsSettingsRecord::CoordSys&) override;
110  coordinateSystem() const;
111 
113  virtual void setIgnoreList(const std::vector<makVrv::DtElementID>&);
114  virtual const std::vector<makVrv::DtElementID>& ignoreList() const;
115 
116  virtual void setAltitudeAboveSeaLevelSelected(bool b) override;
117  virtual void setAltitudeAboveSeaLevelEnabled(bool b) override;
118  virtual void setAltitudeAboveSeaLevelVisible(bool b) override;
119 
120  virtual void setAltitudeAboveGroundLevelSelected(bool b) override;
121  virtual void setAltitudeAboveGroundLevelEnabled(bool b) override;
122  virtual void setAltitudeAboveGroundLevelVisible(bool b) override;
123 
124  virtual void refreshLabels() override;
125 
126  virtual void updateAltAboveSLevelDecimalsDisplay() override;
127  virtual void updateAltAboveGLevelDecimalsDisplay() override;
128 
130  virtual void setClampToNearestPolygon(bool);
131 
133  virtual void setMaintainCurrentAltitude(bool);
134  virtual bool maintainCurrentAltitude() const;
135 
136  virtual void setSelection(const std::set<makVrv::DtUniqueID>&);
137 
138  virtual const std::set<makVrv::DtUniqueID>& selection() const override {
139  return mySelection;
140  }
141 
142  protected:
143 
144  virtual void slot_onUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int from, int old);
145  virtual void selectionChanged(const std::set<makVrv::DtUniqueID>&);
146 
147  protected slots:
148 
149  virtual void slot_onAltitudeSelectionTypeChanged();
150  virtual void slot_onAltitudeAboveSeaLevelEdited();
151  virtual void slot_onAltitudeAboveGroundLevelEdited();
152  virtual void altitudeAboveSeaLevelEditingFinished();
153  virtual void altitudeAboveGroundLevelEditingFinished();
154 
155  protected:
158  std::set<makVrv::DtUniqueID> mySelection;
159 
160  public:
161  QWidget* myCanvas;
164  QHBoxLayout* myTitleLine;
165  QGridLayout* myGridLayout;
170  QDoubleValidator* myValidator;
173 
175  QHBoxLayout* myDisplayOnlyLayout;
177 
179  };
180 
182  {
183  public:
185  virtual ~DtAltitudeSelectionWidgetCreator() override;
186 
189 
191  static void registerInstance(makVrv::DtDe& de, DtAltitudeSelectionWidgetCreator* instance);
192 
193  virtual DtAltitudeSelectionWidget* create(QWidget* parent,
194  const Qt::WindowFlags& flags = 0, const DtTaskSetVariableWidget::CreationFlags& cflags = DtTaskSetVariableWidget::NormalMode);
195 
196  protected:
198  };
199 }
bool myJustSetup
Definition: altitudeSelectionWidget.h:171
QLabel * myDisplayOnlyLabel
Definition: altitudeSelectionWidget.h:176
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
CreationFlags
Definition: taskSetVariableWidget.h:118
QLabel * myAltitudeLabel
Definition: altitudeSelectionWidget.h:162
QLineEdit * myAltitudeGLevelLineEdit
Definition: altitudeSelectionWidget.h:169
QDoubleValidator * myValidator
Definition: altitudeSelectionWidget.h:170
Local to class – not exposed.
Definition: altitudeSelectionWidgetLogic.h:41
Definition: taskSetVariableWidget.h:120
QHBoxLayout * myTitleLine
Definition: altitudeSelectionWidget.h:164
std::set< makVrv::DtUniqueID > mySelection
Definition: altitudeSelectionWidget.h:158
Definition: altitudeSelectionWidget.h:44
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
bool myDisplayOnlyMode
Definition: altitudeSelectionWidget.h:172
ClampFlag
Definition: guiLocalObjectManager.h:396
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: altitudeSelectionWidget.h:197
QRadioButton * myAltitudeSLevelRadioButton
Definition: altitudeSelectionWidget.h:166
DtAltitudeSelectionWidgetLogic * myLogic
Definition: altitudeSelectionWidget.h:178
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: altitudeSelectionWidget.h:181
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
Definition: altitudeSelectionWidgetInterface.h:27
makVrv::DtSignalConnectionManager myConnectionManager
Definition: altitudeSelectionWidget.h:157
makVrv::DtDe & myDe
Definition: altitudeSelectionWidget.h:156
QLineEdit * myAltitudeSLevelLineEdit
Definition: altitudeSelectionWidget.h:168
QGridLayout * myGridLayout
Definition: altitudeSelectionWidget.h:165
Base class to provide boost signal/slot management.
QFrame * mySeparator
Definition: altitudeSelectionWidget.h:163
Contains makVrv::DtUniqueID type.
QHBoxLayout * myDisplayOnlyLayout
Only valid in display only mode.
Definition: altitudeSelectionWidget.h:175
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
QRadioButton * myAltitudeGLevelRadioButton
Definition: altitudeSelectionWidget.h:167
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:43
virtual const std::set< makVrv::DtUniqueID > & selection() const override
Definition: altitudeSelectionWidget.h:138
QWidget * myCanvas
Definition: altitudeSelectionWidget.h:161

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)