12 #if !defined(Q_MOC_RUN)
17 #include "shapeObjectDefinitionWidgetUi.hpp"
23 #include <boost/signals2.hpp>
25 #include <QtWidgets/QItemDelegate>
26 #include <QtWidgets/QTableWidget>
28 class DtReferenceEllipsoid;
30 class QDoubleValidator;
36 class DtOverlayParentEntryWidget;
37 class DtEmbarkationWidget;
38 class DtShapeObjectDefinitionDialog;
39 class DtVrfObjectManipulationHandlerBaseClass;
40 class DtAngleEntryWidget;
41 class DtExtendedLabelsEntryWidget;
42 class DtForceSelectionEntryWidget;
43 class DtShapeValidatingTableWidget;
44 class DtAltitudeEntryWidget;
45 class DtSmallRangeEntryWidget;
46 class DtSimpleDoubleVariableWidget;
63 virtual void createConnections();
66 virtual void terminateConnections();
69 virtual void processLocationEdited(
int currentRow=-1);
72 virtual void processSelectLocation(
int);
75 virtual void processAddNewPoint();
78 virtual void processRemovePoint(
int index);
81 virtual void processObjectCreation();
84 virtual void processObjectUpdate();
87 virtual void processDoneRequest();
90 virtual void processCloseRequest();
93 virtual void processCellEdited(
int,
int);
95 virtual void onAltitudeSet(
int,
int);
98 virtual void processCellEntered(
int,
int);
101 virtual void processNamePrefixEdited();
104 virtual void processLabelEdited(
const std::string& name);
107 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
110 virtual void processItemSelectionChanged();
117 virtual void headingChanged();
119 virtual bool inGeocentric()
const;
122 virtual void setupGui();
125 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
128 virtual bool isLine()
const;
134 virtual void populateOverlays();
136 virtual void setForce(
int);
139 virtual void processAltitudeTypeChanged();
141 virtual void attachToMouseChanged(
bool b);
143 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
144 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
146 virtual void adjustAltitudesBy(
double);
150 virtual void processItemAdded(
int);
154 virtual void showTerrainProfile();
157 virtual void slot_pointSamplingRateChanged(
int);
160 virtual void slot_lineWidthChanged(
int);
163 virtual void slot_penStyleChanged(
int);
166 virtual void slot_arrowDataChanged(
const std::string& s);
169 virtual void slot_fillDataChanged(
int);
171 virtual int fillStyle()
const;
173 virtual void slot_onFloorChanged(
double);
174 virtual void slot_onCeilingChanged(
double);
175 virtual void slot_onFloorSet(
double);
176 virtual void slot_onCeilingSet(
double);
179 virtual void reversePoints();
180 virtual void updateButtons();
182 virtual void setActivationTime();
187 virtual void setupLabels();
192 virtual void closeDialog();
194 virtual void slot_headingChangedByMouse(
double headingInDeg);
197 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
200 virtual void slot_onMouseAltitudeChanged(
double heading);
206 virtual void slot_onPlacement(
const DtVector& loc);
209 virtual void slot_onColorChanged(
int);
212 virtual void slot_onLocationAdded(
const DtVector& loc);
215 virtual void slot_onOverlayNameChanged(
const std::string& name);
218 virtual void slot_onForceChanged(
int);
220 virtual void objectCreated();
222 virtual void slot_onCoordinateSystemChanged(
228 virtual void restoreLocations();
229 virtual void backupLocations();
236 virtual void slot_onPublishObjectChanged(
bool);
266 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
270 virtual void closeDialog();
273 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
278 virtual bool validateDMS(
const std::string& str)
const;
281 virtual void addLocation(
const DtVector& loc,
int index = -1);
284 virtual void setEmbarkationAllowed(
bool flag );
286 virtual void clear();
289 virtual void removePoint(
int);
292 virtual void setUseInputValidation(
bool b);
295 virtual void insertLocation(
int index,
const DtVector& loc);
298 virtual void selectLocation(
int index);
301 virtual DtGeodeticCoord getLocation(
int index);
304 virtual QString getName();
307 virtual void hideDialog();
310 virtual int selectedPointIndex()
const;
313 virtual int rowCount()
const;
316 virtual void setAltitudeAboveTerrain(
bool);
319 virtual bool altitudeAboveTerrain()
const;
322 virtual void setAttachedToMouseVisible(
bool);
325 virtual void setName(
const QString& name);
328 virtual void setLabel(
const QString& name);
331 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
334 virtual void setLabelEntryVisible(
bool);
337 virtual void setNameVisible(
bool flag);
340 virtual void setSetActivationTimeVisible(
bool flag);
343 virtual void setTitle(
const QString& title);
346 virtual void setCreateButtonEnabled(
bool flag);
348 virtual void setAdjustStyleEnabled(
bool);
351 virtual void setCreateButtonText(
const QString& text);
354 virtual void setCreateButtonVisible(
bool flag);
357 virtual void setUpdateButtonEnabled(
bool flag);
360 virtual void setUpdateButtonVisible(
bool flag);
363 virtual void setAllowOverlaySelection(
bool flag);
366 virtual void setUpdateButtonText(
const QString& text);
369 virtual void setDoneButtonEnabled(
bool flag);
372 virtual void setDoneButtonVisible(
bool flag);
375 virtual void setShowFloorCeiling(
bool);
378 virtual void setFloor(
double);
379 virtual double floor()
const;
380 virtual void setFloorLabel(
const QString&);
383 virtual void setFloorIsDistance(
bool);
387 virtual void setCeiling(
double);
388 virtual double ceiling()
const;
389 virtual void setCeilingLabel(
const QString&);
392 virtual void hideForces();
395 virtual void setUpButtonVisible(
bool flag);
398 virtual void setDownButtonVisible(
bool flag);
401 virtual void setAddPointButtonVisible(
bool flag);
404 virtual void setAddPointButtonEnabled(
bool flag);
407 virtual void setAdjustAltitudeButtonVisible(
bool flag);
410 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
413 virtual void setRemovePointButtonVisible(
bool flag);
416 virtual void setRemovePointButtonEnabled(
bool flag);
419 virtual void setShowStyleButton(
bool flag);
422 virtual void setShowColorButton(
bool flag);
425 virtual void setControlButtonsVisible(
bool flag);
428 virtual void setAttachObjectToMouse(
bool);
440 virtual bool blockSignals(
bool);
443 virtual void addOverlay(
const QString& name,
bool translate =
true);
446 virtual void removeOverlay(
const QString& name);
449 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
452 virtual void setOverlay(
const QString& name);
455 virtual void setPublishObjectVisible(
bool);
458 virtual void setPublishObject(
bool);
459 virtual bool publishObject()
const;
462 virtual void clearOverlays();
465 virtual void populateOverlays();
468 virtual void setAltitudeAboveTerrain(
int row,
double alt);
470 bool attachedToMouse()
const;
474 virtual double altitude(
int)
const;
477 virtual void setAltitude(
int,
double,
bool blocked =
false);
480 virtual void setAltitudeAllowed(
bool);
481 virtual bool disallowsAltitudeAdjustmentBasedOnObjectCharacteristics()
const;
484 return myAltitudeAllowed;
489 return myAltitudeShown;
493 virtual void setShowForces(
bool);
496 virtual void setReadOnly(
bool);
499 virtual void setReadOnly(
int,
bool);
501 virtual void setColor(
unsigned int color);
503 virtual void setXLabel(
const QString&);
504 virtual void setYLabel(
const QString&);
505 virtual void setZLabel(
const QString&);
506 virtual void adjustAltitudeAdjustmentDialogLabels();
512 virtual void setAllowHeadingChange(
bool);
515 virtual void setHeading(
double);
518 virtual double heading()
const;
521 virtual void refreshLocs();
522 virtual void refreshAltitudes();
523 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
525 virtual void clearSelection();
528 virtual void setForce(
int force);
531 virtual void addExtension(QWidget*);
534 virtual void removeExtension(QWidget*);
537 virtual void showPropertiesDialog(
bool,
bool showAttachObjectToMouse =
true);
540 virtual void setTerrainProfileButtonEnabled(
bool);
541 virtual void setTerrainProfileButtonVisible(
bool);
544 virtual void includeSpacer(
bool);
545 virtual bool extendedLabelsValid()
const;
548 virtual void setEmbarkationWidgetVisible(
bool flag );
552 return myEmbarkationWidget;
555 virtual QSize minimumSizeHint()
const;
562 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
567 virtual void setupGui();
570 virtual void setupConnections();
573 virtual void closeEvent(QCloseEvent *event);
579 virtual QDialog* createAltitudeAdjustmentDialog();
583 virtual bool showAlpha()
const;
585 virtual void showEvent(QShowEvent*);
587 virtual void getDistanceAndAltitudeDecimals(
int& decimals,
int& altDecimals);
595 virtual void slot_onShapeLocationsCellChanged(
int,
int);
598 virtual void slot_altitudeTypeChanged();
601 virtual void slot_onFloorChanged();
602 virtual void slot_onCeilingChanged();
603 virtual void slot_onReversePoints();
604 virtual void slot_onSetActivationTime();
605 virtual void slot_onLabelEdited();
606 virtual void slot_onExtendedLabelsEdited();
607 virtual void slot_itemSelectionChanged();
608 virtual void slot_onCreateButtonClicked();
609 virtual void slot_onUpdateButtonClicked();
610 virtual void slot_onDoneButtonClicked();
611 virtual void slot_onNamePrefixEdited();
612 virtual void slot_closePressed();
613 virtual void slot_onBtnMoveDownClicked();
614 virtual void slot_onBtnMoveUpClicked();
615 virtual void slot_onBtnAddPointClicked();
616 virtual void slot_onBtnRemovePointClicked();
617 virtual void slot_onShapeLocationsCellEntered(
int,
int);
618 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
619 virtual void slot_onForceComboCurrentIndexChanged(
int index);
620 virtual void slot_attachedToMouseChanged();
621 virtual void slot_onAdjustAltitudeClicked();
622 virtual void slot_onShowTerrainProfile();
623 virtual void slot_onPublishObjectChanged();
624 virtual void slot_onBtnColorClicked();
625 virtual void slot_onBtnStyleClicked();
672 virtual QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
673 const QModelIndex &index)
const;
691 virtual void commitData(QWidget *editor);
692 virtual bool validateDMS(
const std::string&)
const;
DtEntityType myEditingType
Definition: shapeObjectDefinitionDialog.h:650
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
bool myShowCeilingFloor
Definition: shapeObjectDefinitionDialog.h:651
Definition: createAndEditObjectDialogInterface.h:121
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: shapeObjectDefinitionDialog.h:390
bool myActivationTimeVisible
Definition: shapeObjectDefinitionDialog.h:641
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:244
Simple line text entry widget that will allow the user to enter an altitude value.
Definition: altitudeEntryWidget.h:26
DtShapeObjectDefinitionDialog * myInterface
Definition: shapeObjectDefinitionDialog.h:241
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
unsigned int myBackgroundColor
Definition: shapeObjectDefinitionDialog.h:649
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:243
Simple line text entry widget that will allow the user to enter a small range value.
Definition: smallRangeEntryWidget.h:27
DtAngleEntryWidget * myHeading
Definition: shapeObjectDefinitionDialog.h:630
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
This class implements the logic behind the DtShapeObjectDefinitionDialog.
Definition: shapeObjectDefinitionDialog.h:51
Definition: createAndEditObjectDialogInterface.h:29
QDialog * myAltitudeAdjustmentDialog
Definition: shapeObjectDefinitionDialog.h:647
bool altitudeShown() const
Definition: shapeObjectDefinitionDialog.h:487
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
DtDialogInteractionMode myInteractionMode
Definition: shapeObjectDefinitionDialog.h:643
QDoubleValidator * myLatValidator
Definition: shapeObjectDefinitionDialog.h:679
bool myAltitudeShown
Definition: shapeObjectDefinitionDialog.h:646
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:676
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
Contains the DtSharedDisplayUnitsSettings class declaration.
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:240
DtEmbarkationWidget * embarkationWidget()
Definition: shapeObjectDefinitionDialog.h:550
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
DtShapeValidatingTableWidget * myShapeLocations
Definition: shapeObjectDefinitionDialog.h:632
Widget that allows the selection of an overlay.
Definition: overlayParentEntryWidget.h:35
Simple line text entry widget that will allow the user to enter a heading value.
Definition: angleEntryWidget.h:26
std::vector< DtGeodeticCoord > myBackupLocations
Definition: shapeObjectDefinitionDialog.h:245
Definition: vrfObjectManipulationHandlerBaseClass.h:90
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: shapeObjectDefinitionDialog.h:638
bool myBlockSignals
Definition: shapeObjectDefinitionDialog.h:644
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Ui_ShapeObjectDefinitionWidgetUi myUiImpl
Definition: shapeObjectDefinitionDialog.h:629
makVrv::DtSignalConnectionManager myConnectionManager
Definition: shapeObjectDefinitionDialog.h:246
DtAltitudeEntryWidget * myCeiling
Definition: shapeObjectDefinitionDialog.h:636
boost::signals2::signal< void(double)> signal_floorChanged
Definition: shapeObjectDefinitionDialog.h:385
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
Definition: DtDisplayUnitsSettingsRecord.h:41
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:645
QDoubleValidator * myLonValidator
Definition: shapeObjectDefinitionDialog.h:680
Definition: shapeObjectDefinitionDialog.h:654
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: shapeObjectDefinitionDialog.h:631
DtSmallRangeEntryWidget * myFloorAsWidth
Definition: shapeObjectDefinitionDialog.h:635
DtShapeObjectDefinitionDialogLogic * myLogic
Definition: shapeObjectDefinitionDialog.h:642
DtEmbarkationWidget * myEmbarkationWidget
Definition: shapeObjectDefinitionDialog.h:637
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:677
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. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: shapeObjectDefinitionDialog.h:633
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:253
QDoubleValidator * myDoubleValidator
Definition: shapeObjectDefinitionDialog.h:678
DtReferenceEllipsoid * myReferenceForConversion
Definition: shapeObjectDefinitionDialog.h:242
DtAltitudeEntryWidget * myFloorAsAltitude
Definition: shapeObjectDefinitionDialog.h:634
Definition: shapeObjectDefinitionDialog.h:665
Definition: DtDisplayUnitsSettingsRecord.h:68
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
bool altitudeAllowed() const
Definition: shapeObjectDefinitionDialog.h:482
QWidget * myParent
Definition: shapeObjectDefinitionDialog.h:648
DtShapeObjectDefinitionDialog * myParent
Definition: shapeObjectDefinitionDialog.h:681
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:43