12 #if !defined(Q_MOC_RUN)
17 #include "shapeObjectDefinitionWidgetUi.hpp"
22 #include <boost/signals2.hpp>
24 #include <QtWidgets/QItemDelegate>
25 #include <QtWidgets/QTableWidget>
27 class DtReferenceEllipsoid;
29 class QDoubleValidator;
35 class DtOverlayParentEntryWidget;
36 class DtEmbarkationWidget;
37 class DtShapeObjectDefinitionDialog;
38 class DtVrfObjectManipulationHandlerBaseClass;
39 class DtHeadingEntryWidget;
40 class DtExtendedLabelsEntryWidget;
41 class DtForceSelectionEntryWidget;
42 class DtShapeValidatingTableWidget;
43 class DtAltitudeEntryWidget;
60 virtual void createConnections();
63 virtual void terminateConnections();
66 virtual void processLocationEdited(
int currentRow=-1);
69 virtual void processSelectLocation(
int);
72 virtual void processAddNewPoint();
75 virtual void processRemovePoint(
int index);
78 virtual void processObjectCreation();
81 virtual void processObjectUpdate();
84 virtual void processDoneRequest();
87 virtual void processCloseRequest();
90 virtual void processCellEdited(
int,
int);
92 virtual void onAltitudeSet(
int,
int);
95 virtual void processCellEntered(
int,
int);
98 virtual void processNamePrefixEdited();
101 virtual void processLabelEdited(
const std::string& name);
104 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
107 virtual void processItemSelectionChanged();
114 virtual void headingChanged();
116 virtual bool inGeocentric()
const;
119 virtual void setupGui();
122 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
125 virtual bool isLine()
const;
131 virtual void populateOverlays();
133 virtual void setForce(
int);
136 virtual void processAltitudeTypeChanged();
138 virtual void attachToMouseChanged(
bool b);
140 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
141 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
143 virtual void adjustAltitudesBy(
double);
147 virtual void processItemAdded(
int);
151 virtual void showTerrainProfile();
154 virtual void slot_pointSamplingRateChanged(
int);
157 virtual void slot_lineWidthChanged(
int);
160 virtual void slot_penStyleChanged(
int);
163 virtual void slot_arrowDataChanged(
const std::string& s);
166 virtual void slot_fillDataChanged(
int);
168 virtual int fillStyle()
const;
170 virtual void slot_onFloorChanged(
double);
171 virtual void slot_onCeilingChanged(
double);
172 virtual void slot_onFloorSet(
double);
173 virtual void slot_onCeilingSet(
double);
176 virtual void reversePoints();
177 virtual void updateButtons();
179 virtual void setActivationTime();
184 virtual void setupLabels();
189 virtual void closeDialog();
191 virtual void slot_headingChangedByMouse(
double headingInDeg);
194 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
197 virtual void slot_onMouseAltitudeChanged(
double heading);
203 virtual void slot_onPlacement(
const DtVector& loc);
206 virtual void slot_onColorChanged(
int);
209 virtual void slot_onLocationAdded(
const DtVector& loc);
212 virtual void slot_onOverlayNameChanged(
const std::string& name);
215 virtual void slot_onForceChanged(
int);
217 virtual void objectCreated();
219 virtual void slot_onCoordinateSystemChanged(
221 virtual void slot_onDisplayUnitDecimalsChanged(
int);
223 virtual void slot_onUnitChanged(
int attribute,
int from);
225 virtual void restoreLocations();
226 virtual void backupLocations();
233 virtual void slot_onPublishObjectChanged(
bool);
263 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
267 virtual void closeDialog();
270 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
275 virtual bool validateDMS(
const std::string& str)
const;
278 virtual void addLocation(
const DtVector& loc,
int index = -1);
281 virtual void setEmbarkationAllowed(
bool flag );
283 virtual void clear();
286 virtual void removePoint(
int);
289 virtual void setUseInputValidation(
bool b);
292 virtual void insertLocation(
int index,
const DtVector& loc);
295 virtual void selectLocation(
int index);
298 virtual DtGeodeticCoord getLocation(
int index);
301 virtual QString getName();
304 virtual void hideDialog();
307 virtual int selectedPointIndex()
const;
310 virtual int rowCount()
const;
313 virtual void setAltitudeAboveTerrain(
bool);
316 virtual bool altitudeAboveTerrain()
const;
319 virtual void setAttachedToMouseVisible(
bool);
322 virtual void setName(
const QString& name);
325 virtual void setLabel(
const QString& name);
328 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
331 virtual void setLabelEntryVisible(
bool);
334 virtual void setNameVisible(
bool flag);
337 virtual void setSetActivationTimeVisible(
bool flag);
340 virtual void setTitle(
const QString& title);
343 virtual void setCreateButtonEnabled(
bool flag);
345 virtual void setAdjustStyleEnabled(
bool);
348 virtual void setCreateButtonText(
const QString& text);
351 virtual void setCreateButtonVisible(
bool flag);
354 virtual void setUpdateButtonEnabled(
bool flag);
357 virtual void setUpdateButtonVisible(
bool flag);
360 virtual void setAllowOverlaySelection(
bool flag);
363 virtual void setUpdateButtonText(
const QString& text);
366 virtual void setDoneButtonEnabled(
bool flag);
369 virtual void setDoneButtonVisible(
bool flag);
372 virtual void setShowFloorCeiling(
bool);
375 virtual void setFloor(
double);
376 virtual double floor()
const;
377 virtual void setFloorLabel(
const QString&);
380 virtual void setCeiling(
double);
381 virtual double ceiling()
const;
382 virtual void setCeilingLabel(
const QString&);
385 virtual void hideForces();
388 virtual void setUpButtonVisible(
bool flag);
391 virtual void setDownButtonVisible(
bool flag);
394 virtual void setAddPointButtonVisible(
bool flag);
397 virtual void setAddPointButtonEnabled(
bool flag);
400 virtual void setAdjustAltitudeButtonVisible(
bool flag);
403 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
406 virtual void setRemovePointButtonVisible(
bool flag);
409 virtual void setRemovePointButtonEnabled(
bool flag);
412 virtual void setShowStyleButton(
bool flag);
415 virtual void setShowColorButton(
bool flag);
418 virtual void setControlButtonsVisible(
bool flag);
421 virtual void setAttachObjectToMouse(
bool);
433 virtual bool blockSignals(
bool);
436 virtual void addOverlay(
const QString& name,
bool translate =
true);
439 virtual void removeOverlay(
const QString& name);
442 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
445 virtual void setOverlay(
const QString& name);
448 virtual void setPublishObjectVisible(
bool);
451 virtual void setPublishObject(
bool);
452 virtual bool publishObject()
const;
455 virtual void clearOverlays();
458 virtual void populateOverlays();
461 virtual void setAltitudeAboveTerrain(
int row,
double alt);
463 bool attachedToMouse()
const;
467 virtual double altitude(
int)
const;
470 virtual void setAltitude(
int,
double,
bool blocked =
false);
473 virtual void setAltitudeAllowed(
bool);
474 virtual bool disallowsAltitudeAdjustmentBasedOnObjectCharacteristics()
const;
477 return myAltitudeAllowed;
482 return myAltitudeShown;
486 virtual void setShowForces(
bool);
489 virtual void setReadOnly(
bool);
492 virtual void setReadOnly(
int,
bool);
494 virtual void setColor(
unsigned int color);
496 virtual void setXLabel(
const QString&);
497 virtual void setYLabel(
const QString&);
498 virtual void setZLabel(
const QString&);
499 virtual void adjustAltitudeAdjustmentDialogLabels();
505 virtual void setAllowHeadingChange(
bool);
508 virtual void setHeading(
double);
511 virtual double heading()
const;
514 virtual void refreshLocs();
515 virtual void refreshAltitudes();
516 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
518 virtual void clearSelection();
521 virtual void setForce(
int force);
524 virtual void addExtension(QWidget*);
527 virtual void removeExtension(QWidget*);
530 virtual void showPropertiesDialog(
bool);
533 virtual void setTerrainProfileButtonEnabled(
bool);
534 virtual void setTerrainProfileButtonVisible(
bool);
537 virtual void includeSpacer(
bool);
538 virtual bool extendedLabelsValid()
const;
541 virtual void setEmbarkationWidgetVisible(
bool flag );
545 return myEmbarkationWidget;
548 virtual QSize minimumSizeHint()
const;
555 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
560 virtual void setupGui();
563 virtual void setupConnections();
566 virtual void closeEvent(QCloseEvent *event);
572 virtual QDialog* createAltitudeAdjustmentDialog();
576 virtual bool showAlpha()
const;
578 virtual void showEvent(QShowEvent*);
580 virtual void getDistanceAndAltitudeDecimals(
int& decimals,
int& altDecimals);
585 virtual void slot_onShapeLocationsCellChanged(
int,
int);
588 virtual void slot_altitudeTypeChanged();
591 virtual void slot_onFloorChanged();
592 virtual void slot_onCeilingChanged();
593 virtual void slot_onReversePoints();
594 virtual void slot_onSetActivationTime();
595 virtual void slot_onLabelEdited();
596 virtual void slot_onExtendedLabelsEdited();
597 virtual void slot_itemSelectionChanged();
598 virtual void slot_onCreateButtonClicked();
599 virtual void slot_onUpdateButtonClicked();
600 virtual void slot_onDoneButtonClicked();
601 virtual void slot_onNamePrefixEdited();
602 virtual void slot_closePressed();
603 virtual void slot_onBtnMoveDownClicked();
604 virtual void slot_onBtnMoveUpClicked();
605 virtual void slot_onBtnAddPointClicked();
606 virtual void slot_onBtnRemovePointClicked();
607 virtual void slot_onShapeLocationsCellEntered(
int,
int);
608 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
609 virtual void slot_onForceComboCurrentIndexChanged(
int index);
610 virtual void slot_attachedToMouseChanged();
611 virtual void slot_onAdjustAltitudeClicked();
612 virtual void slot_onShowTerrainProfile();
613 virtual void slot_onPublishObjectChanged();
614 virtual void slot_onBtnColorClicked();
615 virtual void slot_onBtnStyleClicked();
660 virtual QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
661 const QModelIndex &index)
const;
679 virtual void commitData(QWidget *editor);
680 virtual bool validateDMS(
const std::string&)
const;
DtEntityType myEditingType
Definition: shapeObjectDefinitionDialog.h:639
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:57
Definition: createAndEditObjectDialogInterface.h:121
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: shapeObjectDefinitionDialog.h:383
bool myActivationTimeVisible
Definition: shapeObjectDefinitionDialog.h:630
Represents a new kind of dock widget: it has a "pin" button that allows the widget to pin/unpin from ...
Definition: autoHideDock.h:34
makVrv::DtSharedDisplayUnitsSettings::CoordSys myCoordSys
Definition: shapeObjectDefinitionDialog.h:241
Simple line text entry widget that will allow the user to enter an altitude value.
Definition: altitudeEntryWidget.h:25
DtShapeObjectDefinitionDialog * myInterface
Definition: shapeObjectDefinitionDialog.h:238
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
unsigned int myBackgroundColor
Definition: shapeObjectDefinitionDialog.h:638
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:240
DtSimCommand subclass for creating a new VrfObjects.
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:44
This class implements the logic behind the DtShapeObjectDefinitionDialog.
Definition: shapeObjectDefinitionDialog.h:48
Definition: createAndEditObjectDialogInterface.h:29
QDialog * myAltitudeAdjustmentDialog
Definition: shapeObjectDefinitionDialog.h:636
bool altitudeShown() const
Definition: shapeObjectDefinitionDialog.h:480
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
DtDialogInteractionMode myInteractionMode
Definition: shapeObjectDefinitionDialog.h:632
QDoubleValidator * myLatValidator
Definition: shapeObjectDefinitionDialog.h:667
bool myAltitudeShown
Definition: shapeObjectDefinitionDialog.h:635
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:664
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:53
Contains the DtSharedDisplayUnitsSettings class declaration.
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:237
DtEmbarkationWidget * embarkationWidget()
Definition: shapeObjectDefinitionDialog.h:543
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
DtShapeValidatingTableWidget * myShapeLocations
Definition: shapeObjectDefinitionDialog.h:622
Widget that allows the selection of an overlay.
Definition: overlayParentEntryWidget.h:35
std::vector< DtGeodeticCoord > myBackupLocations
Definition: shapeObjectDefinitionDialog.h:242
DtAltitudeEntryWidget * myFloor
Definition: shapeObjectDefinitionDialog.h:624
Definition: vrfObjectManipulationHandlerBaseClass.h:88
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: shapeObjectDefinitionDialog.h:627
bool myBlockSignals
Definition: shapeObjectDefinitionDialog.h:633
Simple line text entry widget that will allow the user to enter a heading value.
Definition: headingEntryWidget.h:26
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Ui_ShapeObjectDefinitionWidgetUi myUiImpl
Definition: shapeObjectDefinitionDialog.h:619
makVrv::DtSignalConnectionManager myConnectionManager
Definition: shapeObjectDefinitionDialog.h:243
DtAltitudeEntryWidget * myCeiling
Definition: shapeObjectDefinitionDialog.h:625
boost::signals2::signal< void(double)> signal_floorChanged
Definition: shapeObjectDefinitionDialog.h:378
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Definition: DtDisplayUnitsSettingsRecord.h:40
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:634
DtHeadingEntryWidget * myHeading
Definition: shapeObjectDefinitionDialog.h:620
QDoubleValidator * myLonValidator
Definition: shapeObjectDefinitionDialog.h:668
Definition: shapeObjectDefinitionDialog.h:642
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: shapeObjectDefinitionDialog.h:621
DtShapeObjectDefinitionDialogLogic * myLogic
Definition: shapeObjectDefinitionDialog.h:631
DtEmbarkationWidget * myEmbarkationWidget
Definition: shapeObjectDefinitionDialog.h:626
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
QRegExpValidator * myRegValidator
Definition: shapeObjectDefinitionDialog.h:665
Widget that will allow for entry of label and any extended labels.
Definition: extendedLabelsEntryWidget.h:30
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: shapeObjectDefinitionDialog.h:623
Contains the DtDisplayUnitsSettingsRecord class declaration.
This class defines the dialog that allows the creation/update of point objects in the scenario (entit...
Definition: shapeObjectDefinitionDialog.h:250
QDoubleValidator * myDoubleValidator
Definition: shapeObjectDefinitionDialog.h:666
DtReferenceEllipsoid * myReferenceForConversion
Definition: shapeObjectDefinitionDialog.h:239
Definition: shapeObjectDefinitionDialog.h:653
Definition: DtDisplayUnitsSettingsRecord.h:60
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
bool altitudeAllowed() const
Definition: shapeObjectDefinitionDialog.h:475
QWidget * myParent
Definition: shapeObjectDefinitionDialog.h:637
DtShapeObjectDefinitionDialog * myParent
Definition: shapeObjectDefinitionDialog.h:669
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:38