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);
108 virtual void processObjectSpecificLabelEdited(
int index, QString marker, QString value);
111 virtual void processItemSelectionChanged();
118 virtual void headingChanged();
120 virtual bool inGeocentric()
const;
123 virtual void setupGui();
126 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
129 virtual bool isLine()
const;
135 virtual void populateOverlays();
137 virtual void setForce(
int);
140 virtual void processAltitudeTypeChanged();
142 virtual void attachToMouseChanged(
bool b);
144 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
145 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
147 virtual void adjustAltitudesBy(
double);
151 virtual void processItemAdded(
int);
155 virtual void showTerrainProfile();
158 virtual void slot_pointSamplingRateChanged(
int);
161 virtual void slot_lineWidthChanged(
int);
164 virtual void slot_penStyleChanged(
int);
167 virtual void slot_arrowDataChanged(
const std::string& s);
170 virtual void slot_arrowSizeChanged(
double);
173 virtual void slot_fillDataChanged(
int);
175 virtual int fillStyle()
const;
177 virtual void slot_onFloorChanged(
double);
178 virtual void slot_onCeilingChanged(
double);
179 virtual void slot_onFloorSet(
double);
180 virtual void slot_onCeilingSet(
double);
183 virtual void reversePoints();
184 virtual void updateButtons();
186 virtual void setActivationTime();
191 virtual void setupLabels();
196 virtual void closeDialog();
198 virtual void slot_headingChangedByMouse(
double headingInDeg);
201 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
204 virtual void slot_onMouseAltitudeChanged(
double heading);
210 virtual void slot_onPlacement(
const DtVector& loc);
213 virtual void slot_onColorChanged(
int);
216 virtual void slot_onLocationAdded(
const DtVector& loc);
219 virtual void slot_onOverlayNameChanged(
const std::string& name);
222 virtual void slot_onForceChanged(
int);
224 virtual void objectCreated();
226 virtual void slot_onCoordinateSystemChanged(
232 virtual void restoreLocations();
233 virtual void backupLocations();
240 virtual void slot_onPublishObjectChanged(
bool);
270 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
274 virtual void closeDialog()
override;
277 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
282 virtual bool validateDMS(
const std::string& str)
const;
285 virtual void addLocation(
const DtVector& loc,
int index = -1);
288 virtual void setEmbarkationAllowed(
bool flag );
290 virtual void clear();
293 virtual void removePoint(
int);
296 virtual void setUseInputValidation(
bool b);
299 virtual void insertLocation(
int index,
const DtVector& loc);
302 virtual void selectLocation(
int index);
305 virtual DtGeodeticCoord getLocation(
int index);
308 virtual QString getName()
override;
311 virtual void hideDialog()
override;
314 virtual int selectedPointIndex()
const;
317 virtual int rowCount()
const;
320 virtual void setAltitudeAboveTerrain(
bool);
323 virtual bool altitudeAboveTerrain()
const;
326 virtual void setAttachedToMouseVisible(
bool);
329 virtual void setName(
const QString& name)
override;
332 virtual void setLabel(
const QString& name);
335 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
338 virtual void setLabelEntryVisible(
bool);
341 virtual void setNameVisible(
bool flag)
override;
344 virtual void setSetActivationTimeVisible(
bool flag);
347 virtual void setTitle(
const QString& title)
override;
350 virtual void setCreateButtonEnabled(
bool flag);
352 virtual void setAdjustStyleEnabled(
bool);
355 virtual void setCreateButtonText(
const QString& text);
358 virtual void setCreateButtonVisible(
bool flag);
361 virtual void setUpdateButtonEnabled(
bool flag);
364 virtual void setUpdateButtonVisible(
bool flag);
367 virtual void setAllowOverlaySelection(
bool flag)
override;
370 virtual void setUpdateButtonText(
const QString& text);
373 virtual void setDoneButtonEnabled(
bool flag);
376 virtual void setDoneButtonVisible(
bool flag);
379 virtual void setShowFloorCeiling(
bool);
382 virtual void setFloor(
double);
383 virtual double floor()
const;
384 virtual void setFloorLabel(
const QString&);
387 virtual void setFloorIsDistance(
bool);
391 virtual void setCeiling(
double);
392 virtual double ceiling()
const;
393 virtual void setCeilingLabel(
const QString&);
396 virtual void hideForces();
399 virtual void setUpButtonVisible(
bool flag);
402 virtual void setDownButtonVisible(
bool flag);
405 virtual void setAddPointButtonVisible(
bool flag);
408 virtual void setAddPointButtonEnabled(
bool flag);
411 virtual void setAdjustAltitudeButtonVisible(
bool flag);
414 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
417 virtual void setRemovePointButtonVisible(
bool flag);
420 virtual void setRemovePointButtonEnabled(
bool flag);
423 virtual void setShowStyleButton(
bool flag);
426 virtual void setShowColorButton(
bool flag);
429 virtual void setControlButtonsVisible(
bool flag);
432 virtual void setAttachObjectToMouse(
bool);
444 virtual bool blockSignals(
bool)
override;
447 return myBlockSignals;
451 virtual void addOverlay(
const QString& name,
bool translate =
true);
454 virtual void removeOverlay(
const QString& name);
457 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
460 virtual void setOverlay(
const QString& name);
463 virtual void setPublishObjectVisible(
bool);
466 virtual void setPublishObject(
bool);
467 virtual bool publishObject()
const;
470 virtual void clearOverlays();
473 virtual void populateOverlays();
476 virtual void setAltitudeAboveTerrain(
int row,
double alt);
478 bool attachedToMouse()
const;
482 virtual double altitude(
int)
const;
485 virtual void setAltitude(
int,
double,
bool blocked =
false);
488 virtual void setAltitudeAllowed(
bool);
489 virtual bool disallowsAltitudeAdjustmentBasedOnObjectCharacteristics()
const;
492 return myAltitudeAllowed;
497 return myAltitudeShown;
501 virtual void setShowForces(
bool);
504 virtual void setReadOnly(
bool);
507 virtual void setReadOnly(
int,
bool);
509 virtual void setColor(
unsigned int color);
511 virtual void setXLabel(
const QString&);
512 virtual void setYLabel(
const QString&);
513 virtual void setZLabel(
const QString&);
514 virtual void adjustAltitudeAdjustmentDialogLabels();
520 virtual void setAllowHeadingChange(
bool);
523 virtual void setHeading(
double);
526 virtual double heading()
const;
529 virtual void refreshLocs();
530 virtual void refreshAltitudes();
531 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
533 virtual void clearSelection();
536 virtual void setForce(
int force)
override;
539 virtual void addExtension(QWidget*);
542 virtual void removeExtension(QWidget*);
545 virtual void showPropertiesDialog(
bool,
bool showAttachObjectToMouse =
true);
548 virtual void setTerrainProfileButtonEnabled(
bool);
549 virtual void setTerrainProfileButtonVisible(
bool);
552 virtual void includeSpacer(
bool);
553 virtual bool extendedLabelsValid()
const;
556 virtual void setEmbarkationWidgetVisible(
bool flag );
560 return myEmbarkationWidget;
563 virtual QSize minimumSizeHint()
const override;
570 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
575 virtual void setupGui()
override;
578 virtual void setupConnections();
581 virtual void closeEvent(QCloseEvent* event)
override;
587 virtual QDialog* createAltitudeAdjustmentDialog();
591 virtual bool showAlpha()
const;
593 virtual void showEvent(QShowEvent*)
override;
595 virtual void getDistanceAndAltitudeDecimals(
int& decimals,
int& altDecimals);
603 virtual void slot_onShapeLocationsCellChanged(
int,
int);
606 virtual void slot_altitudeTypeChanged();
609 virtual void slot_onFloorChanged();
610 virtual void slot_onCeilingChanged();
611 virtual void slot_onReversePoints();
612 virtual void slot_onSetActivationTime();
613 virtual void slot_onLabelEdited();
614 virtual void slot_onExtendedLabelsEdited();
615 virtual void slot_onObjectSpecificLabelsEdited(
int, QString marker, QString value);
616 virtual void slot_itemSelectionChanged();
617 virtual void slot_onCreateButtonClicked();
618 virtual void slot_onUpdateButtonClicked();
619 virtual void slot_onDoneButtonClicked();
620 virtual void slot_onNamePrefixEdited();
621 virtual void slot_closePressed()
override;
622 virtual void slot_onBtnMoveDownClicked();
623 virtual void slot_onBtnMoveUpClicked();
624 virtual void slot_onBtnAddPointClicked();
625 virtual void slot_onBtnRemovePointClicked();
626 virtual void slot_onShapeLocationsCellEntered(
int,
int);
627 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
628 virtual void slot_onForceComboCurrentIndexChanged(
int index);
629 virtual void slot_attachedToMouseChanged();
630 virtual void slot_onAdjustAltitudeClicked();
631 virtual void slot_onShowTerrainProfile();
632 virtual void slot_onPublishObjectChanged();
633 virtual void slot_onBtnColorClicked();
634 virtual void slot_onBtnStyleClicked();
681 virtual QWidget * createEditor(
682 QWidget* parent,
const QStyleOptionViewItem& option,
const QModelIndex& index)
const override;
700 virtual void commitData(QWidget* editor)
override;
701 virtual bool validateDMS(
const std::string&)
const;
DtEntityType myEditingType
Definition: shapeObjectDefinitionDialog.h:659
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:62
bool myShowCeilingFloor
Definition: shapeObjectDefinitionDialog.h:660
Definition: createAndEditObjectDialogInterface.h:122
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:394
bool myActivationTimeVisible
Definition: shapeObjectDefinitionDialog.h:650
Represents a new kind of dock widget: it has a "pin" button that allows the widget to pin/unpin from ...
Definition: autoHideDock.h:35
makVrv::DtSharedDisplayUnitsSettings::CoordSys myCoordSys
Definition: shapeObjectDefinitionDialog.h:248
Simple line text entry widget that will allow the user to enter an altitude value.
Definition: altitudeEntryWidget.h:26
DtShapeObjectDefinitionDialog * myInterface
Definition: shapeObjectDefinitionDialog.h:245
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
unsigned int myBackgroundColor
Definition: shapeObjectDefinitionDialog.h:658
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:247
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:639
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:27
QDialog * myAltitudeAdjustmentDialog
Definition: shapeObjectDefinitionDialog.h:656
bool altitudeShown() const
Definition: shapeObjectDefinitionDialog.h:495
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
DtDialogInteractionMode myInteractionMode
Definition: shapeObjectDefinitionDialog.h:652
QDoubleValidator * myLatValidator
Definition: shapeObjectDefinitionDialog.h:688
bool myAltitudeShown
Definition: shapeObjectDefinitionDialog.h:655
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:685
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
Contains the DtSharedDisplayUnitsSettings class declaration.
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:244
DtEmbarkationWidget * embarkationWidget()
Definition: shapeObjectDefinitionDialog.h:558
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:641
bool signalsBlocked() const
Definition: shapeObjectDefinitionDialog.h:445
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:249
Definition: vrfObjectManipulationHandlerBaseClass.h:88
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: shapeObjectDefinitionDialog.h:647
bool myBlockSignals
Definition: shapeObjectDefinitionDialog.h:653
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Ui_ShapeObjectDefinitionWidgetUi myUiImpl
Definition: shapeObjectDefinitionDialog.h:638
makVrv::DtSignalConnectionManager myConnectionManager
Definition: shapeObjectDefinitionDialog.h:250
DtAltitudeEntryWidget * myCeiling
Definition: shapeObjectDefinitionDialog.h:645
boost::signals2::signal< void(double)> signal_floorChanged
Definition: shapeObjectDefinitionDialog.h:389
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:32
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: DtDisplayUnitsSettingsRecord.h:42
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:654
QDoubleValidator * myLonValidator
Definition: shapeObjectDefinitionDialog.h:689
Definition: shapeObjectDefinitionDialog.h:663
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: shapeObjectDefinitionDialog.h:640
DtSmallRangeEntryWidget * myFloorAsWidth
Definition: shapeObjectDefinitionDialog.h:644
DtShapeObjectDefinitionDialogLogic * myLogic
Definition: shapeObjectDefinitionDialog.h:651
DtEmbarkationWidget * myEmbarkationWidget
Definition: shapeObjectDefinitionDialog.h:646
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:686
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:76
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: shapeObjectDefinitionDialog.h:642
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:257
QDoubleValidator * myDoubleValidator
Definition: shapeObjectDefinitionDialog.h:687
DtReferenceEllipsoid * myReferenceForConversion
Definition: shapeObjectDefinitionDialog.h:246
DtAltitudeEntryWidget * myFloorAsAltitude
Definition: shapeObjectDefinitionDialog.h:643
Definition: shapeObjectDefinitionDialog.h:674
Definition: DtDisplayUnitsSettingsRecord.h:69
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
bool altitudeAllowed() const
Definition: shapeObjectDefinitionDialog.h:490
QWidget * myParent
Definition: shapeObjectDefinitionDialog.h:657
DtShapeObjectDefinitionDialog * myParent
Definition: shapeObjectDefinitionDialog.h:690
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:43