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 DtAngleEntryWidget;
40 class DtExtendedLabelsEntryWidget;
41 class DtForceSelectionEntryWidget;
42 class DtShapeValidatingTableWidget;
43 class DtAltitudeEntryWidget;
44 class DtSimpleDoubleVariableWidget;
61 virtual void createConnections();
64 virtual void terminateConnections();
67 virtual void processLocationEdited(
int currentRow=-1);
70 virtual void processSelectLocation(
int);
73 virtual void processAddNewPoint();
76 virtual void processRemovePoint(
int index);
79 virtual void processObjectCreation();
82 virtual void processObjectUpdate();
85 virtual void processDoneRequest();
88 virtual void processCloseRequest();
91 virtual void processCellEdited(
int,
int);
93 virtual void onAltitudeSet(
int,
int);
96 virtual void processCellEntered(
int,
int);
99 virtual void processNamePrefixEdited();
102 virtual void processLabelEdited(
const std::string& name);
105 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
108 virtual void processItemSelectionChanged();
115 virtual void headingChanged();
117 virtual bool inGeocentric()
const;
120 virtual void setupGui();
123 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
126 virtual bool isLine()
const;
132 virtual void populateOverlays();
134 virtual void setForce(
int);
137 virtual void processAltitudeTypeChanged();
139 virtual void attachToMouseChanged(
bool b);
141 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
142 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
144 virtual void adjustAltitudesBy(
double);
148 virtual void processItemAdded(
int);
152 virtual void showTerrainProfile();
155 virtual void slot_pointSamplingRateChanged(
int);
158 virtual void slot_lineWidthChanged(
int);
161 virtual void slot_penStyleChanged(
int);
164 virtual void slot_arrowDataChanged(
const std::string& s);
167 virtual void slot_fillDataChanged(
int);
169 virtual int fillStyle()
const;
171 virtual void slot_onFloorChanged(
double);
172 virtual void slot_onCeilingChanged(
double);
173 virtual void slot_onFloorSet(
double);
174 virtual void slot_onCeilingSet(
double);
177 virtual void reversePoints();
178 virtual void updateButtons();
180 virtual void setActivationTime();
185 virtual void setupLabels();
190 virtual void closeDialog();
192 virtual void slot_headingChangedByMouse(
double headingInDeg);
195 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
198 virtual void slot_onMouseAltitudeChanged(
double heading);
204 virtual void slot_onPlacement(
const DtVector& loc);
207 virtual void slot_onColorChanged(
int);
210 virtual void slot_onLocationAdded(
const DtVector& loc);
213 virtual void slot_onOverlayNameChanged(
const std::string& name);
216 virtual void slot_onForceChanged(
int);
218 virtual void objectCreated();
220 virtual void slot_onCoordinateSystemChanged(
226 virtual void restoreLocations();
227 virtual void backupLocations();
234 virtual void slot_onPublishObjectChanged(
bool);
264 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
268 virtual void closeDialog();
271 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
276 virtual bool validateDMS(
const std::string& str)
const;
279 virtual void addLocation(
const DtVector& loc,
int index = -1);
282 virtual void setEmbarkationAllowed(
bool flag );
284 virtual void clear();
287 virtual void removePoint(
int);
290 virtual void setUseInputValidation(
bool b);
293 virtual void insertLocation(
int index,
const DtVector& loc);
296 virtual void selectLocation(
int index);
299 virtual DtGeodeticCoord getLocation(
int index);
302 virtual QString getName();
305 virtual void hideDialog();
308 virtual int selectedPointIndex()
const;
311 virtual int rowCount()
const;
314 virtual void setAltitudeAboveTerrain(
bool);
317 virtual bool altitudeAboveTerrain()
const;
320 virtual void setAttachedToMouseVisible(
bool);
323 virtual void setName(
const QString& name);
326 virtual void setLabel(
const QString& name);
329 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
332 virtual void setLabelEntryVisible(
bool);
335 virtual void setNameVisible(
bool flag);
338 virtual void setSetActivationTimeVisible(
bool flag);
341 virtual void setTitle(
const QString& title);
344 virtual void setCreateButtonEnabled(
bool flag);
346 virtual void setAdjustStyleEnabled(
bool);
349 virtual void setCreateButtonText(
const QString& text);
352 virtual void setCreateButtonVisible(
bool flag);
355 virtual void setUpdateButtonEnabled(
bool flag);
358 virtual void setUpdateButtonVisible(
bool flag);
361 virtual void setAllowOverlaySelection(
bool flag);
364 virtual void setUpdateButtonText(
const QString& text);
367 virtual void setDoneButtonEnabled(
bool flag);
370 virtual void setDoneButtonVisible(
bool flag);
373 virtual void setShowFloorCeiling(
bool);
376 virtual void setFloor(
double);
377 virtual double floor()
const;
378 virtual void setFloorLabel(
const QString&);
381 virtual void setFloorIsDistance(
bool);
385 virtual void setCeiling(
double);
386 virtual double ceiling()
const;
387 virtual void setCeilingLabel(
const QString&);
390 virtual void hideForces();
393 virtual void setUpButtonVisible(
bool flag);
396 virtual void setDownButtonVisible(
bool flag);
399 virtual void setAddPointButtonVisible(
bool flag);
402 virtual void setAddPointButtonEnabled(
bool flag);
405 virtual void setAdjustAltitudeButtonVisible(
bool flag);
408 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
411 virtual void setRemovePointButtonVisible(
bool flag);
414 virtual void setRemovePointButtonEnabled(
bool flag);
417 virtual void setShowStyleButton(
bool flag);
420 virtual void setShowColorButton(
bool flag);
423 virtual void setControlButtonsVisible(
bool flag);
426 virtual void setAttachObjectToMouse(
bool);
438 virtual bool blockSignals(
bool);
441 virtual void addOverlay(
const QString& name,
bool translate =
true);
444 virtual void removeOverlay(
const QString& name);
447 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
450 virtual void setOverlay(
const QString& name);
453 virtual void setPublishObjectVisible(
bool);
456 virtual void setPublishObject(
bool);
457 virtual bool publishObject()
const;
460 virtual void clearOverlays();
463 virtual void populateOverlays();
466 virtual void setAltitudeAboveTerrain(
int row,
double alt);
468 bool attachedToMouse()
const;
472 virtual double altitude(
int)
const;
475 virtual void setAltitude(
int,
double,
bool blocked =
false);
478 virtual void setAltitudeAllowed(
bool);
479 virtual bool disallowsAltitudeAdjustmentBasedOnObjectCharacteristics()
const;
482 return myAltitudeAllowed;
487 return myAltitudeShown;
491 virtual void setShowForces(
bool);
494 virtual void setReadOnly(
bool);
497 virtual void setReadOnly(
int,
bool);
499 virtual void setColor(
unsigned int color);
501 virtual void setXLabel(
const QString&);
502 virtual void setYLabel(
const QString&);
503 virtual void setZLabel(
const QString&);
504 virtual void adjustAltitudeAdjustmentDialogLabels();
510 virtual void setAllowHeadingChange(
bool);
513 virtual void setHeading(
double);
516 virtual double heading()
const;
519 virtual void refreshLocs();
520 virtual void refreshAltitudes();
521 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
523 virtual void clearSelection();
526 virtual void setForce(
int force);
529 virtual void addExtension(QWidget*);
532 virtual void removeExtension(QWidget*);
535 virtual void showPropertiesDialog(
bool);
538 virtual void setTerrainProfileButtonEnabled(
bool);
539 virtual void setTerrainProfileButtonVisible(
bool);
542 virtual void includeSpacer(
bool);
543 virtual bool extendedLabelsValid()
const;
546 virtual void setEmbarkationWidgetVisible(
bool flag );
550 return myEmbarkationWidget;
553 virtual QSize minimumSizeHint()
const;
560 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
565 virtual void setupGui();
568 virtual void setupConnections();
571 virtual void closeEvent(QCloseEvent *event);
577 virtual QDialog* createAltitudeAdjustmentDialog();
581 virtual bool showAlpha()
const;
583 virtual void showEvent(QShowEvent*);
585 virtual void getDistanceAndAltitudeDecimals(
int& decimals,
int& altDecimals);
590 virtual void slot_onShapeLocationsCellChanged(
int,
int);
593 virtual void slot_altitudeTypeChanged();
596 virtual void slot_onFloorChanged();
597 virtual void slot_onCeilingChanged();
598 virtual void slot_onReversePoints();
599 virtual void slot_onSetActivationTime();
600 virtual void slot_onLabelEdited();
601 virtual void slot_onExtendedLabelsEdited();
602 virtual void slot_itemSelectionChanged();
603 virtual void slot_onCreateButtonClicked();
604 virtual void slot_onUpdateButtonClicked();
605 virtual void slot_onDoneButtonClicked();
606 virtual void slot_onNamePrefixEdited();
607 virtual void slot_closePressed();
608 virtual void slot_onBtnMoveDownClicked();
609 virtual void slot_onBtnMoveUpClicked();
610 virtual void slot_onBtnAddPointClicked();
611 virtual void slot_onBtnRemovePointClicked();
612 virtual void slot_onShapeLocationsCellEntered(
int,
int);
613 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
614 virtual void slot_onForceComboCurrentIndexChanged(
int index);
615 virtual void slot_attachedToMouseChanged();
616 virtual void slot_onAdjustAltitudeClicked();
617 virtual void slot_onShowTerrainProfile();
618 virtual void slot_onPublishObjectChanged();
619 virtual void slot_onBtnColorClicked();
620 virtual void slot_onBtnStyleClicked();
666 virtual QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
667 const QModelIndex &index)
const;
685 virtual void commitData(QWidget *editor);
686 virtual bool validateDMS(
const std::string&)
const;
DtEntityType myEditingType
Definition: shapeObjectDefinitionDialog.h:644
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:57
bool myShowCeilingFloor
Definition: shapeObjectDefinitionDialog.h:645
Definition: createAndEditObjectDialogInterface.h:121
A unicode string.
Definition: DtUnicode.h:33
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: shapeObjectDefinitionDialog.h:388
bool myActivationTimeVisible
Definition: shapeObjectDefinitionDialog.h:635
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:242
Simple line text entry widget that will allow the user to enter an altitude value.
Definition: altitudeEntryWidget.h:25
DtShapeObjectDefinitionDialog * myInterface
Definition: shapeObjectDefinitionDialog.h:239
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
unsigned int myBackgroundColor
Definition: shapeObjectDefinitionDialog.h:643
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:241
DtAngleEntryWidget * myHeading
Definition: shapeObjectDefinitionDialog.h:625
DtSimCommand subclass for creating a new VrfObjects.
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
This class implements the logic behind the DtShapeObjectDefinitionDialog.
Definition: shapeObjectDefinitionDialog.h:49
Definition: createAndEditObjectDialogInterface.h:29
QDialog * myAltitudeAdjustmentDialog
Definition: shapeObjectDefinitionDialog.h:641
bool altitudeShown() const
Definition: shapeObjectDefinitionDialog.h:485
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
DtDialogInteractionMode myInteractionMode
Definition: shapeObjectDefinitionDialog.h:637
QDoubleValidator * myLatValidator
Definition: shapeObjectDefinitionDialog.h:673
bool myAltitudeShown
Definition: shapeObjectDefinitionDialog.h:640
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:670
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
Contains the DtSharedDisplayUnitsSettings class declaration.
makVrv::DtDe & myDe
Definition: shapeObjectDefinitionDialog.h:238
DtEmbarkationWidget * embarkationWidget()
Definition: shapeObjectDefinitionDialog.h:548
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
DtShapeValidatingTableWidget * myShapeLocations
Definition: shapeObjectDefinitionDialog.h:627
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:243
Definition: vrfObjectManipulationHandlerBaseClass.h:88
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: shapeObjectDefinitionDialog.h:632
bool myBlockSignals
Definition: shapeObjectDefinitionDialog.h:638
DtSimpleDoubleVariableWidget * myFloor
Definition: shapeObjectDefinitionDialog.h:629
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Ui_ShapeObjectDefinitionWidgetUi myUiImpl
Definition: shapeObjectDefinitionDialog.h:624
makVrv::DtSignalConnectionManager myConnectionManager
Definition: shapeObjectDefinitionDialog.h:244
DtAltitudeEntryWidget * myCeiling
Definition: shapeObjectDefinitionDialog.h:630
boost::signals2::signal< void(double)> signal_floorChanged
Definition: shapeObjectDefinitionDialog.h:383
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: DtDisplayUnitsSettingsRecord.h:41
bool myAltitudeAllowed
Definition: shapeObjectDefinitionDialog.h:639
QDoubleValidator * myLonValidator
Definition: shapeObjectDefinitionDialog.h:674
Definition: shapeObjectDefinitionDialog.h:648
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: shapeObjectDefinitionDialog.h:626
DtShapeObjectDefinitionDialogLogic * myLogic
Definition: shapeObjectDefinitionDialog.h:636
DtEmbarkationWidget * myEmbarkationWidget
Definition: shapeObjectDefinitionDialog.h:631
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:671
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:628
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:251
QDoubleValidator * myDoubleValidator
Definition: shapeObjectDefinitionDialog.h:672
DtReferenceEllipsoid * myReferenceForConversion
Definition: shapeObjectDefinitionDialog.h:240
Definition: shapeObjectDefinitionDialog.h:659
Definition: DtDisplayUnitsSettingsRecord.h:68
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
bool altitudeAllowed() const
Definition: shapeObjectDefinitionDialog.h:480
QWidget * myParent
Definition: shapeObjectDefinitionDialog.h:642
DtShapeObjectDefinitionDialog * myParent
Definition: shapeObjectDefinitionDialog.h:675
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:38