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 
53 
56 
58  virtual void closeDialog();
59 
61  virtual QString getName();
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;
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);
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);
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);
156 
158  virtual void setAllowVisualMetaDataSelection(bool flag);
159 
161  virtual void setTitle(const QString& title);
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&);
215 
217  virtual void hideDialog();
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);
233 
235  virtual bool blockSignals(bool);
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 
246  virtual void setForce(int);
247 
249  virtual void hideForces();
250 
252  virtual void showForces();
253 
255  virtual void setReadOnly(bool);
256 
258  virtual void addExtension(QWidget*);
259 
261  virtual void removeExtension(QWidget*);
262 
263  virtual void updateEmbarkationWidget(const DtVector& pt);
264 
266  virtual void showPropertiesDialog(bool, bool showAttachObjectToMouse = true);
267 
269  {
270  return myLocationWidget;
271  }
272 
274  {
275  return myEmbarkationWidget;
276  }
277 
278  virtual void setShowStyleButton(bool);
279 
280  virtual void includeSpacer(bool flag);
281 
282  virtual void setVisualMarking(const std::string& linkageName, const std::string& value);
283  virtual void setCacheMarkingSelections(bool);
284 
285  virtual void addContentMessages();
286 
287  virtual void setupVariants(const std::map<std::string, std::string>&);
288 
289  virtual void showSetAirbaseFor(makVrv::DtUniqueID);
290 
291  virtual bool canSetAirbase() const
292  {
293  return myCanSetAirbase;
294  }
295 
296  virtual bool airbaseSelectionChanged() const;
297  virtual DtString airbase() const;
298 
299  protected:
300 
302  virtual void setupGui();
303 
305  virtual void setupConnections();
306 
308  virtual void closeEvent(QCloseEvent *event);
309 
311  virtual DtPointObjectDefinitionDialogLogic* createLogic();
312 
313  virtual void showEvent(QShowEvent*);
314 
315  virtual bool needsNameCheck() const;
316  virtual DtAerodromeListView* createSetAirbaseWidget();
317  virtual void addSetRequest(const DtSetDataRequest&);
318 
319  protected slots:
320  virtual void markingChanged(QComboBox*, const QString&, const QString&);
321  virtual void slot_onBtnStyleClicked();
322  virtual void slot_attachObjectToMouseClicked(bool flag);
323  virtual void slot_onCreateButtonClicked();
324  virtual void slot_onUpdateButtonClicked();
325  virtual void slot_onDoneButtonClicked();
326  virtual void slot_onNamePrefixEdited();
327  virtual void slot_onSetActivationTime();
328  virtual void slot_onLabelEdited();
329  virtual void slot_onExtendedLabelsEdited();
330  virtual void slot_onObjectSpecificLabelsEdited(int, QString marker, QString value);
331  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
332  virtual void slot_onForceComboCurrentIndexChanged(int index);
333  virtual void slot_onHeadingChanged(double value);
334  virtual void slot_onPitchChanged(double value);
335  virtual void slot_closePressed();
336  virtual void slot_onAltitudeSelectionTypeChanged(const DtAltitudeClampType&);
337  virtual void slot_onLocationChanged();
338  virtual void slot_onAltitudeAboveSeaLevelEdited(double value);
339  virtual void slot_onAltitudeAboveGroundLevelEdited(double value);
340  virtual void slot_onPublishObjectChanged();
341 
342  public:
343 
344  Ui_PointObjectDefinitionWidgetUi myUiImpl;
346  QWidget* myParent;
352  QWidget* myAdditionalSetCanvas = nullptr;
353  DtSetCurrentAirSpeedDialog* myCurrentAirSpeed = nullptr;
354 
355  protected:
359  QString myDefaultName;
362  DtEntityType myEditingType;
364  bool myCreated;
371  bool myCanSetAirbase = false;
372  };
373 
375  {
376  public:
377  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
379 
380  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
382  const DtEditingType& editType);
383  };
384 }
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
Definition: createAndEditObjectDialogInterface.h:124
Definition: pointObjectDefinitionDialogLogic.h:34
DtEmbarkationWidget * embarkationWidget()
Definition: pointObjectDefinitionDialog.h:273
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:348
QWidget * myParent
Definition: pointObjectDefinitionDialog.h:346
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
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtVisualMetaDataSelectionWidget * myVisualMetaDataSelectionWidget
Definition: pointObjectDefinitionDialog.h:351
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
bool myBlockSignals
Definition: pointObjectDefinitionDialog.h:361
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
Definition: createAndEditObjectDialogInterface.h:29
bool mySettingGuiUp
Definition: pointObjectDefinitionDialog.h:360
Definition: aerodromeListView.h:28
Widget for selecting radar emitter.
Definition: visualMetaDataSelectionWidget.h:30
bool myActivationTimeVisible
Definition: pointObjectDefinitionDialog.h:356
bool myAltitudeAllowed
Definition: pointObjectDefinitionDialog.h:366
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:368
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:349
QString myDefaultName
Definition: pointObjectDefinitionDialog.h:359
DtCreateAndEditObjectDialogInterface::DtDialogInteractionMode myCreationMode
Definition: pointObjectDefinitionDialog.h:369
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
DtString myCurrentAirbase
Definition: pointObjectDefinitionDialog.h:370
DtDialogInteractionMode myInteractionMode
Definition: pointObjectDefinitionDialog.h:358
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtForceSelectionEntryWidget * myForces
Definition: pointObjectDefinitionDialog.h:345
Base class to provide boost signal/slot management.
virtual bool canSetAirbase() const
Definition: pointObjectDefinitionDialog.h:291
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:347
bool myAllowVisualMetaDataSelection
Definition: pointObjectDefinitionDialog.h:365
Widget that will allow for entry of label and any extended labels.
Definition: extendedLabelsEntryWidget.h:30
DtPointObjectDefinitionDialogLogic * myLogic
Definition: pointObjectDefinitionDialog.h:357
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:72
Definition: locationEntryWidget.h:47
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: pointObjectDefinitionDialog.h:350
bool myEditingLocation
Definition: pointObjectDefinitionDialog.h:363
Definition: pointObjectDefinitionDialog.h:374
bool myCreated
Definition: pointObjectDefinitionDialog.h:364
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Ui_PointObjectDefinitionWidgetUi myUiImpl
Definition: pointObjectDefinitionDialog.h:344
DtEntityType myEditingType
Definition: pointObjectDefinitionDialog.h:362
DtLocationEntryWidget * locationEntryWidget()
Definition: pointObjectDefinitionDialog.h:268
class DtRwStringAttributeList:
Definition: rwStringAttributeList.h:29
bool myEmbarkationAllowed
Definition: pointObjectDefinitionDialog.h:367
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:44

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)