VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pointObjectDefinitionDialog.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
16 #include "pointObjectDefinitionWidgetUi.hpp"
19 #endif
20 
21 class DtSetDataRequest;
23 class QComboBox;
24 
25 namespace makVrf
26 {
27  class DtExtendedLabelsEntryWidget;
28  class DtForceSelectionEntryWidget;
29  class DtVrfObjectManipulationHandlerBaseClass;
30  class DtEmbarkationWidget;
31  class DtOverlayParentEntryWidget;
32  class DtVisualMetaDataSelectionWidget;
33  class DtPointObjectDefinitionDialogLogic;
34  class DtAerodromeListView;
35  class DtSetCurrentAirSpeedDialog;
36 
41  {
42 
43  Q_OBJECT
44 
45  public:
46 
48  DtPointObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode,
49  const std::string& className="DtPointObjectDefinitionDialog");
50 
52  virtual ~DtPointObjectDefinitionDialog() override;
53 
56 
58  virtual void closeDialog() override;
59 
61  virtual QString getName() override;
62 
64  virtual double getHeading();
65 
67  virtual double getPitch();
68 
70  virtual DtVector getLocation();
71 
73  virtual double getAltitudeAboveSeaLevel() const;
74 
76  virtual void setEmbarkationAllowed( bool flag );
77 
79  virtual void setEmbarkationWidgetVisible( bool flag );
80 
82  virtual double getAltitudeAboveGroundLevel() const;
83 
85  virtual void setHeading(double heading);
86 
88  virtual void setPitch(double heading);
89 
90  virtual QSize minimumSizeHint() const override;
91 
93  virtual void setAltitudeAboveTerrain(double altitude);
94 
96  virtual void setAltitudeAboveSeaLevel( double altitude );
97 
99  virtual void setLocation(const DtVector& pt, bool resetAltitude=true);
100 
102  virtual void setName(const QString& name) override;
103 
105  virtual void setLabel(const QString& name);
106 
108  virtual void setExtendedLabels(const std::map<int, DtString>& lab);
109 
111  virtual void addOverlay(const QString& name, bool translate = true);
112 
114  virtual void removeOverlay(const QString& name);
115 
117  virtual void renameOverlay(const QString& oldName, const QString& newName);
118 
120  virtual void setOverlay(const QString& name);
121 
123  virtual void setPublishObjectVisible(bool);
124 
126  virtual void setPublishObject(bool);
127  virtual bool publishObject() const;
128 
130  virtual void refreshLabels();
131 
133  virtual void clearOverlays();
134 
136  virtual void setNameVisible(bool flag) override;
137 
139  virtual void setSetActivationTimeVisible(bool flag);
140 
142  virtual void setHeadingVisible(bool flag);
143 
145  virtual void setPitchVisible(bool flag);
146 
149  virtual void setHeadingDecimalPlaces(int decimalPlaces);
150 
152  virtual void setHeadingStep(double);
153 
155  virtual void setAllowOverlaySelection(bool flag) override;
156 
158  virtual void setAllowVisualMetaDataSelection(bool flag);
159 
161  virtual void setTitle(const QString& title) override;
162 
164  virtual void setCreateButtonEnabled(bool flag);
165 
167  virtual void setCreateButtonText(const QString& text);
168 
170  virtual void setCreateButtonVisible(bool flag);
171 
173  virtual void setUpdateButtonEnabled(bool flag);
174 
176  virtual void setUpdateButtonText(const QString& text);
177 
179  virtual void setUpdateButtonVisible(bool flag);
180 
182  virtual void setCancelButtonEnabled(bool flag);
183 
185  virtual void setCancelButtonVisible(bool flag);
186 
188  virtual void setNameLabel(const QString& text);
189 
191  virtual void setCancelButtonText( const QString& text );
192 
193  virtual void setupAdditionalEntries();
194 
196  virtual void setAttachObjectToMouseVisible(bool flag);
197 
199  virtual void setAttachObjectToMouseChecked(bool flag);
200 
202  virtual bool attachObjectToMouseEnabled();
203 
205  virtual void setLabelEntryVisible(bool);
206 
208  virtual void setAttachObjectToMouseEnabled( bool flag );
209 
211  virtual DtDialogInteractionMode interactionMode();
212 
214  virtual void populate(const makVrv::DtUniqueID&) override;
215 
217  virtual void hideDialog() override;
218 
220  DtAltitudeClampType currentAltitudeTypeSelection() const;
221 
223  virtual void setCurrentAltitudeTypeSelection(const DtAltitudeClampType &);
224 
226  virtual void setAltitudeAllowed(bool);
227 
229  virtual void setAltitudeSelectionEnabled(bool);
230 
232  virtual void populate(const DtCreateObjectCommand* cmd) override;
233 
235  virtual bool blockSignals(bool) override;
236 
238  virtual void populateOverlays();
239 
241  virtual void populateVisualMetaData(const DtEntityType&);
242  virtual void populateVisualMetaData(makVrv::DtUniqueID);
243  virtual void populateVisualMetaData(const DtEntityType& type, const DtRwStringAttributeList* atrList);
244 
245  virtual void setAllowHeadingChange(bool b);
246  bool allowHeadingChange() const
247  {
248  return myAllowHeadingChange;
249  }
250 
252  virtual void setForce(int) override;
253 
255  virtual void hideForces();
256 
258  virtual void showForces();
259 
261  virtual void setReadOnly(bool);
262 
264  virtual void addExtension(QWidget*);
265 
267  virtual void removeExtension(QWidget*);
268 
269  virtual void updateEmbarkationWidget(const DtVector& pt);
270 
272  virtual void showPropertiesDialog(bool, bool showAttachObjectToMouse = true);
273 
275  {
276  return myLocationWidget;
277  }
278 
280  {
281  return myEmbarkationWidget;
282  }
283 
284  virtual void setShowStyleButton(bool);
285 
286  virtual void includeSpacer(bool flag);
287 
288  virtual void setVisualMarking(const std::string& linkageName, const std::string& value);
289  virtual void setCacheMarkingSelections(bool);
290 
291  virtual void addContentMessages();
292 
293  virtual void setupVariants(const std::map<std::string, std::string>&);
294 
295  virtual void showSetAirbaseFor(makVrv::DtUniqueID);
296 
297  virtual bool canSetAirbase() const
298  {
299  return myCanSetAirbase;
300  }
301 
302  virtual bool airbaseSelectionChanged() const;
303  virtual DtString airbase() const;
304 
305  protected:
306 
308  virtual void setupGui() override;
309 
311  virtual void setupConnections();
312 
314  virtual void closeEvent(QCloseEvent* event) override;
315 
317  virtual DtPointObjectDefinitionDialogLogic* createLogic();
318 
319  virtual void showEvent(QShowEvent*) override;
320 
321  virtual bool needsNameCheck() const;
322  virtual DtAerodromeListView* createSetAirbaseWidget();
323  virtual void addSetRequest(const DtSetDataRequest&);
324 
325  using WidgetMap = std::map<int, std::map<int, std::vector<QWidget*>>>;
326 
327  virtual void autoSetTabOrder(WidgetMap&, QWidget*);
328  virtual void autoSetTabOrder();
329 
330  virtual bool focusNextPrevChild(bool next) override;
331  virtual bool checkAndAdd(WidgetMap& map, QWidget* widget);
332 
333  protected slots:
334  virtual void markingChanged(QComboBox*, const QString&, const QString&);
335  virtual void slot_onBtnStyleClicked();
336  virtual void slot_attachObjectToMouseClicked(bool flag);
337  virtual void slot_onCreateButtonClicked();
338  virtual void slot_onUpdateButtonClicked();
339  virtual void slot_onDoneButtonClicked();
340  virtual void slot_onNamePrefixEdited();
341  virtual void slot_onSetActivationTime();
342  virtual void slot_onLabelEdited();
343  virtual void slot_onExtendedLabelsEdited();
344  virtual void slot_onObjectSpecificLabelsEdited(int, QString marker, QString value);
345  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
346  virtual void slot_onForceComboCurrentIndexChanged(int index);
347  virtual void slot_onHeadingChanged(double value);
348  virtual void slot_onPitchChanged(double value);
349  virtual void slot_closePressed() override;
350  virtual void slot_onAltitudeSelectionTypeChanged(const DtAltitudeClampType&);
351  virtual void slot_onLocationChanged();
352  virtual void slot_onAltitudeAboveSeaLevelEdited(double value);
353  virtual void slot_onAltitudeAboveGroundLevelEdited(double value);
354  virtual void slot_onPublishObjectChanged();
355 
356  public:
357 
358  Ui_PointObjectDefinitionWidgetUi myUiImpl;
360  QWidget* myParent;
366  QWidget* myAdditionalSetCanvas = nullptr;
367  DtSetCurrentAirSpeedDialog* myCurrentAirSpeed = nullptr;
368 
369  protected:
373  QString myDefaultName;
376  DtEntityType myEditingType;
378  bool myCreated;
385  bool myCanSetAirbase = false;
386  bool myNeedsTabOrderSetup = true;
388  bool myAllowHeadingChange = true;
389  };
390 
392  {
393  public:
394  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent,
396 
397  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*,
398  const DtEntityType& entityType, DtCreationSignalType signalCreate,
400  };
401 }
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:62
Definition: createAndEditObjectDialogInterface.h:122
Definition: pointObjectDefinitionDialogLogic.h:34
DtEmbarkationWidget * embarkationWidget()
Definition: pointObjectDefinitionDialog.h:279
This class defines the dialog that allows the creation/update of point objects in the scenario (entit...
Definition: pointObjectDefinitionDialog.h:40
DtLocationEntryWidget * myLocationWidget
Definition: pointObjectDefinitionDialog.h:362
QWidget * myParent
Definition: pointObjectDefinitionDialog.h:360
QList< QWidget * > myFocusList
Definition: pointObjectDefinitionDialog.h:387
Definition: setCurrentAirSpeedDialog.h:21
Represents a new kind of dock widget: it has a &quot;pin&quot; button that allows the widget to pin/unpin from ...
Definition: autoHideDock.h:35
bool allowHeadingChange() const
Definition: pointObjectDefinitionDialog.h:246
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtVisualMetaDataSelectionWidget * myVisualMetaDataSelectionWidget
Definition: pointObjectDefinitionDialog.h:365
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
bool myBlockSignals
Definition: pointObjectDefinitionDialog.h:375
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
Definition: createAndEditObjectDialogInterface.h:27
bool mySettingGuiUp
Definition: pointObjectDefinitionDialog.h:374
Definition: aerodromeListView.h:28
std::map< int, std::map< int, std::vector< QWidget * >>> WidgetMap
Definition: pointObjectDefinitionDialog.h:325
Widget for selecting radar emitter.
Definition: visualMetaDataSelectionWidget.h:30
bool myActivationTimeVisible
Definition: pointObjectDefinitionDialog.h:370
bool myAltitudeAllowed
Definition: pointObjectDefinitionDialog.h:380
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
Widget that allows the selection of an overlay.
Definition: overlayParentEntryWidget.h:35
makVrv::DtSignalConnectionManager myConnectionManager
Definition: pointObjectDefinitionDialog.h:382
Simple widget that, if a location is set, will see if there is an entity under that location...
Definition: embarkationWidget.h:36
DtEmbarkationWidget * myEmbarkationWidget
Definition: pointObjectDefinitionDialog.h:363
QString myDefaultName
Definition: pointObjectDefinitionDialog.h:373
DtCreateAndEditObjectDialogInterface::DtDialogInteractionMode myCreationMode
Definition: pointObjectDefinitionDialog.h:383
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:32
DtString myCurrentAirbase
Definition: pointObjectDefinitionDialog.h:384
DtDialogInteractionMode myInteractionMode
Definition: pointObjectDefinitionDialog.h:372
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtForceSelectionEntryWidget * myForces
Definition: pointObjectDefinitionDialog.h:359
Base class to provide boost signal/slot management.
virtual bool canSetAirbase() const
Definition: pointObjectDefinitionDialog.h:297
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: pointObjectDefinitionDialog.h:361
bool myAllowVisualMetaDataSelection
Definition: pointObjectDefinitionDialog.h:379
Widget that will allow for entry of label and any extended labels.
Definition: extendedLabelsEntryWidget.h:30
DtPointObjectDefinitionDialogLogic * myLogic
Definition: pointObjectDefinitionDialog.h:371
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
Definition: locationEntryWidget.h:47
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: pointObjectDefinitionDialog.h:364
bool myEditingLocation
Definition: pointObjectDefinitionDialog.h:377
Definition: pointObjectDefinitionDialog.h:391
bool myCreated
Definition: pointObjectDefinitionDialog.h:378
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Ui_PointObjectDefinitionWidgetUi myUiImpl
Definition: pointObjectDefinitionDialog.h:358
DtEntityType myEditingType
Definition: pointObjectDefinitionDialog.h:376
DtLocationEntryWidget * locationEntryWidget()
Definition: pointObjectDefinitionDialog.h:274
class DtRwStringAttributeList:
Definition: rwStringAttributeList.h:29
bool myEmbarkationAllowed
Definition: pointObjectDefinitionDialog.h:381
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:43

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)