VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
locationEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
19 #endif
20 #include <boost/signals2.hpp>
21 
23 #include <matrix/vlVector.h>
24 
26 #include <QtWidgets/QWidget>
27 #include <QtGui/QPixmap>
28 
29 class QGroupBox;
30 class QToolButton;
31 class QValidator;
32 class QVBoxLayout;
33 
34 namespace makVrf
35 {
36  class DtAltitudeSelectionWidget;
37  class DtLocationEntryWidgetLogic;
38  class DtLocationCSEntryInterface;
39  class DtLocationCSEntryCreatorInterface;
40 
46  {
47  Q_OBJECT
48 
49  public:
52  QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
53 
54  //DTOR
55  virtual ~DtLocationEntryWidget();
56 
58  virtual DtVector location() const;
59 
61  virtual DtVector geocentricLocation() const;
62 
64  virtual void setUseInputValidation(bool);
65  virtual bool useInputValidation() const;
66 
67  virtual void setUseHighestLOD(bool);
68  virtual bool useHighestLOD() const;
69 
71  virtual void blockSignals(bool);
72  bool signalsBlocked() const;
73 
75  virtual void setLocation(DtVector, bool resetAltitude = true);
76  virtual void setGeocentricLocation(DtVector, bool resetAltitude = true);
77  virtual void setAltitude(const DtVector& localLocation, bool resetAltitude = true);
78 
80  virtual void setCoordinateSystem(makVrv::DtCoordinateDisplay*);
81 
83  virtual void setHideAltitude(bool b);
84 
86  virtual void setHideLocationZ(bool b);
87 
89  virtual void setXYValidatorsEnabled(bool enabled);
90  virtual bool xyValidatorsEnabled() const;
91 
92  virtual void setAdvancedKeyboardHandling(bool);
93  virtual bool advancedKeyboardHandling() const;
94 
96  virtual void setXLabel(const QString&);
97  QString xLabel() const;
98 
99  virtual void setYLabel(const QString&);
100  QString yLabel() const;
101 
102  virtual void setZLabel(const QString&);
103  QString zLabel() const;
104 
106  virtual void setXValue(const QString&);
107  virtual void setYValue(const QString&);
108  virtual void setZValue(const QString&);
109 
110  virtual QString xValue() const;
111  virtual QString yValue() const;
112  virtual QString zValue() const;
113 
115  {
116  return myAltitude;
117  }
118 
119  virtual void setAltitudeAboveSeaLevelVisible(bool b);
120  virtual void setAltitudeAboveGroundLevelVisible(bool b);
121 
122  virtual void setCreator(int, DtLocationCSEntryCreatorInterface*);
123 
124  virtual DtGeodeticCoord geodeticLocation() const;
125 
127  virtual void setCoordinateSystem(
130  coordinateSystem() const;
131 
133  virtual void setCoordinateSystemDecimals(int decimals);
134 
140  virtual void setAltitudeSelectionEnabled(bool);
141  virtual bool altitudeSelectionEnabled() const;
142  virtual void setZEnabled(bool);
143  virtual void changeAltitudeEnabledSettings(bool);
144 
146  virtual void setCurrentAltitudeTypeSelection(const DtAltitudeClampType& type);
147 
149  virtual DtAltitudeClampType currentAltitudeTypeSelection() const;
150 
152  virtual double altitudeAboveSeaLevel() const;
153 
155  virtual double altitudeAboveGroundLevel() const;
156 
158  virtual void setAltitudeAboveSeaLevel(double altitude);
159 
161  virtual void setAltitudeAboveGroundLevel(double altitude);
162 
164  virtual void setProcessMouseEvents(bool flag);
165 
167  virtual bool processMouseEvents();
168 
169  virtual void setAltitudeAboveGroundLevelSelected(bool b);
170 
171  virtual void setAltitudeAboveSeaLevelSelected(bool b);
172 
175  virtual void setClampToNearestPolygon(bool);
176 
178  virtual void setIgnoreList(const std::vector<makVrv::DtElementID>&);
179  virtual const std::vector<makVrv::DtElementID>& ignoreList() const;
180 
182  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
183 
185  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
186 
188  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
189 
191  {
192  return makVrv::DtUnicode::tr("Location3D");
193  }
194 
198  virtual void setHasMapFocus(bool);
199  virtual void setCanTakeMapFocus(bool);
200  virtual bool canTakeMapFocus() const;
201  virtual bool hasMapFocus() const;
203 
205  virtual void setMaintainCurrentAltitude(bool);
206  virtual bool maintainCurrentAltitude() const;
207 
209  virtual void setupBasedOnEntityType(const DtEntityType&);
210 
211  virtual void setProcessAltitudeMouseClicks(bool b);
212 
215  virtual void setSignalLocationSetOnly(bool);
216  virtual bool signalLocationSetOnly() const;
217 
218  boost::signals2::signal<void ()> signal_invalidLocation;
219  boost::signals2::signal<void ()> signal_validLocation;
220 
222  virtual bool validateLocation(bool warn = false);
223 
224  virtual void setInvalid(bool);
225  virtual bool invalid() const;
226 
229  virtual void setUseLabelForLocationEntry(bool);
230  virtual bool useLabelForLocationEntry() const;
231 
232  static std::string designerGroup()
233  {
234  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
235  }
236 
237  static std::string headerFile()
238  {
239  return tr("<vrfGuiDataEntryWidgets/locationEntryWidget.h>").toUtf8().constData();
240  }
241 
242  static std::string variableName()
243  {
244  return tr("location").toUtf8().constData();
245  }
246 
247  protected:
249  virtual bool validateDMS(const std::string&) const;
250 
252  virtual bool validateDDM(const std::string&) const;
253 
256  virtual void slot_receivedFocus();
257 
259  virtual void setRange(double top, double bottom);
260 
262  virtual void setDefaultValue(const std::string&);
263 
264  protected slots:
265 
267  virtual void canTakeMapFocusChanged();
268 
270  virtual void slot_onPositionChanged();
271 
273  virtual void slot_onPositionEdited(bool complete);
274 
276  virtual void slot_onAltitudeAboveGroundLevelEdited(double);
277 
279  virtual void slot_onAltitudeAboveSeaLevelEdited(double);
280 
282  virtual void slot_onAltitudeSelectionTypeChanged(const DtAltitudeClampType& );
283 
284  protected:
285 
287  virtual void slot_onClampSelectionChanged(int index);
288  virtual void dataEntryWidgetChanged();
289 
290  virtual void selectionChanged(const std::set<makVrv::DtUniqueID>&);
291 
292  public:
295  QVBoxLayout* myMainLayout;
297  QWidget* myWidget;
298 
299  protected:
308 
311  bool myInvalid;
316 
318  std::map<int, DtLocationCSEntryCreatorInterface*> myCreators;
319  };
320 
326  {
327  Q_OBJECT
328 
329  public:
332  QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
333 
334  //DTOR
336 
337  static std::string designerGroup()
338  {
339  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
340  }
341 
342  static std::string headerFile()
343  {
344  return tr("<vrfGuiDataEntryWidgets/locationEntryWidget.h>").toUtf8().constData();
345  }
346 
347  static std::string variableName()
348  {
349  return tr("locationWithoutAltitude").toUtf8().constData();
350  }
351  };
352 
355 }
static std::string variableName()
Definition: locationEntryWidget.h:242
bool myAltitudeSelectionEnabled
Definition: locationEntryWidget.h:303
Definition: locationEntryWidgetInterface.h:33
A unicode string.
Definition: DtUnicode.h:33
boost::signals2::signal< void()> signal_invalidLocation
Definition: locationEntryWidget.h:218
static std::string headerFile()
Definition: locationEntryWidget.h:342
QVBoxLayout * myMainLayout
Definition: locationEntryWidget.h:295
CreationFlags
Definition: taskSetVariableWidget.h:118
Definition: locationCSEntryInterface.h:93
Abstract interface class for all coordinate system displays.
Definition: DtCoordinateDisplay.h:24
bool myUseInputValidation
Definition: locationEntryWidget.h:310
bool myUseLabelForLocationEntry
Definition: locationEntryWidget.h:315
static std::string variableName()
Definition: locationEntryWidget.h:347
static makVrv::DtUnicode codeVariableType()
Definition: locationEntryWidget.h:190
Definition: locationCSEntryInterface.h:24
bool myAdvancedKeyboardHandling
Definition: locationEntryWidget.h:306
QWidget * myWidget
Definition: locationEntryWidget.h:297
Definition: readerWriter.h:85
Definition: altitudeSelectionWidget.h:44
bool myInvalid
Definition: locationEntryWidget.h:311
DtLocationEntryWidgetLogic * myLogic
Definition: locationEntryWidget.h:300
DtAltitudeSelectionWidget * myAltitude
Definition: locationEntryWidget.h:293
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
QToolButton * myCanTakeMapFocus
Definition: locationEntryWidget.h:294
boost::signals2::signal< void()> signal_validLocation
Definition: locationEntryWidget.h:219
bool myHideZLocation
Definition: locationEntryWidget.h:307
bool myBoundIsZero
Definition: locationEntryWidget.h:305
Definition: asyncJobServer.h:37
bool myLockAltitude
Definition: locationEntryWidget.h:302
DtLocationCSEntryInterface * myDataEntryWidget
Definition: locationEntryWidget.h:296
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:228
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools.
Definition: DtUnicode.h:92
Definition: taskSetVariableWidget.h:419
static std::string designerGroup()
Definition: locationEntryWidget.h:232
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Private to this class.
Definition: locationEntryWidgetLogic.h:30
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:23
DtTaskSetVariableWidgetCreator< DtLocationEntryWithoutAltitudeWidget > DtLocationEntryWithoutAltitudeWidgetCreator
Definition: locationEntryWidget.h:354
DtTaskSetVariableWidgetCreator< DtLocationEntryWidget > DtLocationEntryWidgetCreator
Definition: locationEntryWidget.h:353
DtAltitudeSelectionWidget * altitudeWidget()
Definition: locationEntryWidget.h:114
Base class to provide boost signal/slot management.
static std::string headerFile()
Definition: locationEntryWidget.h:237
bool myTakeMapFocusEnabled
Definition: locationEntryWidget.h:314
std::map< int, DtLocationCSEntryCreatorInterface * > myCreators
Override factory creators with these. If the one being set is currently displayed, replace.
Definition: locationEntryWidget.h:318
Base class that must be implemented by items that wish to be part of a map focus handler chain...
Definition: mapFocusHandlerManager.h:28
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: locationEntryWidget.h:44
makVrv::DtCoordinateDisplay * myCoordinateSystem
Definition: locationEntryWidget.h:309
static std::string designerGroup()
Definition: locationEntryWidget.h:337
Specialized version of location entry widget used for scripted tasks that will create a location entr...
Definition: locationEntryWidget.h:325
DtVector myOriginalLocation
Definition: locationEntryWidget.h:304
bool myBlockSignals
Definition: locationEntryWidget.h:312
bool myProcessMouseEvents
Definition: locationEntryWidget.h:301
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:38
makVrv::DtSignalConnectionManager myConnections
Definition: locationEntryWidget.h:313

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)