16 #include "shapeObjectDefinitionWidgetUi.hpp"
21 #include <QtWidgets/QItemDelegate>
22 #include <QtWidgets/QTableWidget>
24 class DtReferenceEllipsoid;
26 class QDoubleValidator;
32 class DtOverlayParentEntryWidget;
33 class DtEmbarkationWidget;
34 class DtShapeObjectDefinitionDialog;
35 class DtVrfObjectManipulationHandlerBaseClass;
36 class DtHeadingEntryWidget;
37 class DtExtendedLabelsEntryWidget;
38 class DtForceSelectionEntryWidget;
39 class DtShapeValidatingTableWidget;
40 class DtAltitudeEntryWidget;
57 virtual void createConnections();
60 virtual void terminateConnections();
63 virtual void processLocationEdited(
int currentRow=-1);
66 virtual void processSelectLocation(
int);
69 virtual void processAddNewPoint();
72 virtual void processRemovePoint(
int index);
75 virtual void processObjectCreation();
78 virtual void processObjectUpdate();
81 virtual void processDoneRequest();
84 virtual void processCloseRequest();
87 virtual void processCellEdited(
int,
int);
89 virtual void onAltitudeSet(
int,
int);
92 virtual void processCellEntered(
int,
int);
95 virtual void processNamePrefixEdited();
98 virtual void processLabelEdited(
const std::string& name);
101 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
104 virtual void processItemSelectionChanged();
111 virtual void headingChanged();
113 virtual bool inGeocentric()
const;
116 virtual void setupGui();
119 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
122 virtual bool isLine()
const;
128 virtual void populateOverlays();
130 virtual void setForce(
int);
133 virtual void processAltitudeTypeChanged();
135 virtual void attachToMouseChanged(
bool b);
137 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
138 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
140 virtual void adjustAltitudesBy(
double);
144 virtual void processItemAdded(
int);
148 virtual void showTerrainProfile();
151 virtual void slot_pointSamplingRateChanged(
int);
154 virtual void slot_lineWidthChanged(
int);
157 virtual void slot_penStyleChanged(
int);
160 virtual void slot_arrowDataChanged(
const std::string& s);
163 virtual void slot_fillDataChanged(
int);
165 virtual int fillStyle()
const;
167 virtual void slot_onFloorChanged(
double);
168 virtual void slot_onCeilingChanged(
double);
169 virtual void slot_onFloorSet(
double);
170 virtual void slot_onCeilingSet(
double);
173 virtual void reversePoints();
174 virtual void updateButtons();
176 virtual void setActivationTime();
181 virtual void setupLabels();
186 virtual void closeDialog();
188 virtual void slot_headingChangedByMouse(
double headingInDeg);
191 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
194 virtual void slot_onMouseAltitudeChanged(
double heading);
200 virtual void slot_onPlacement(
const DtVector& loc);
203 virtual void slot_onColorChanged(
int);
206 virtual void slot_onLocationAdded(
const DtVector& loc);
209 virtual void slot_onOverlayNameChanged(
const std::string& name);
212 virtual void slot_onForceChanged(
int);
214 virtual void objectCreated();
216 virtual void slot_onCoordinateSystemChanged(
218 virtual void slot_onDisplayUnitDecimalsChanged(
int);
220 virtual void slot_onUnitChanged(
int attribute,
int from);
222 virtual void restoreLocations();
223 virtual void backupLocations();
230 virtual void slot_onPublishObjectChanged(
bool);
260 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
264 virtual void closeDialog();
267 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
272 virtual bool validateDMS(
const std::string& str)
const;
275 virtual void addLocation(
const DtVector& loc,
int index = -1);
278 virtual void setEmbarkationAllowed(
bool flag );
280 virtual void clear();
283 virtual void removePoint(
int);
286 virtual void setUseInputValidation(
bool b);
289 virtual void insertLocation(
int index,
const DtVector& loc);
292 virtual void selectLocation(
int index);
295 virtual DtGeodeticCoord getLocation(
int index);
298 virtual QString getName();
301 virtual void hideDialog();
304 virtual int selectedPointIndex()
const;
307 virtual int rowCount()
const;
310 virtual void setAltitudeAboveTerrain(
bool);
313 virtual bool altitudeAboveTerrain()
const;
316 virtual void setAttachedToMouseVisible(
bool);
319 virtual void setName(
const QString& name);
322 virtual void setLabel(
const QString& name);
325 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
328 virtual void setLabelEntryVisible(
bool);
331 virtual void setNameVisible(
bool flag);
334 virtual void setSetActivationTimeVisible(
bool flag);
337 virtual void setTitle(
const QString& title);
340 virtual void setCreateButtonEnabled(
bool flag);
342 virtual void setAdjustStyleEnabled(
bool);
345 virtual void setCreateButtonText(
const QString& text);
348 virtual void setCreateButtonVisible(
bool flag);
351 virtual void setUpdateButtonEnabled(
bool flag);
354 virtual void setUpdateButtonVisible(
bool flag);
357 virtual void setAllowOverlaySelection(
bool flag);
360 virtual void setUpdateButtonText(
const QString& text);
363 virtual void setDoneButtonEnabled(
bool flag);
366 virtual void setDoneButtonVisible(
bool flag);
369 virtual void setShowFloorCeiling(
bool);
372 virtual void setFloor(
double);
373 virtual double floor()
const;
374 virtual void setFloorLabel(
const QString&);
377 virtual void setCeiling(
double);
378 virtual double ceiling()
const;
379 virtual void setCeilingLabel(
const QString&);
382 virtual void hideForces();
385 virtual void setUpButtonVisible(
bool flag);
388 virtual void setDownButtonVisible(
bool flag);
391 virtual void setAddPointButtonVisible(
bool flag);
394 virtual void setAddPointButtonEnabled(
bool flag);
397 virtual void setAdjustAltitudeButtonVisible(
bool flag);
400 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
403 virtual void setRemovePointButtonVisible(
bool flag);
406 virtual void setRemovePointButtonEnabled(
bool flag);
409 virtual void setShowStyleButton(
bool flag);
412 virtual void setShowColorButton(
bool flag);
415 virtual void setControlButtonsVisible(
bool flag);
418 virtual void setAttachObjectToMouse(
bool);
430 virtual bool blockSignals(
bool);
433 virtual void addOverlay(
const QString& name,
bool translate =
true);
436 virtual void removeOverlay(
const QString& name);
439 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
442 virtual void setOverlay(
const QString& name);
445 virtual void setPublishObjectVisible(
bool);
448 virtual void setPublishObject(
bool);
449 virtual bool publishObject()
const;
452 virtual void clearOverlays();
455 virtual void populateOverlays();
458 virtual void setAltitudeAboveTerrain(
int row,
double alt);
460 bool attachedToMouse()
const;
464 virtual double altitude(
int)
const;
467 virtual void setAltitude(
int,
double,
bool blocked =
false);
470 virtual void setAltitudeAllowed(
bool);
471 bool altitudeAllowed()
const
473 return myAltitudeAllowed;
476 bool altitudeShown()
const
478 return myAltitudeShown;
482 virtual void setShowForces(
bool);
485 virtual void setReadOnly(
bool);
488 virtual void setReadOnly(
int,
bool);
490 virtual void setColor(
unsigned int color);
492 virtual void setXLabel(
const QString&);
493 virtual void setYLabel(
const QString&);
494 virtual void setZLabel(
const QString&);
495 virtual void adjustAltitudeAdjustmentDialogLabels();
501 virtual void setAllowHeadingChange(
bool);
504 virtual void setHeading(
double);
507 virtual double heading()
const;
510 virtual void refreshLocs();
511 virtual void refreshAltitudes();
512 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
514 virtual void clearSelection();
517 virtual void setForce(
int force);
520 virtual void addExtension(QWidget*);
523 virtual void removeExtension(QWidget*);
526 virtual void showPropertiesDialog(
bool);
529 virtual void setTerrainProfileButtonEnabled(
bool);
530 virtual void setTerrainProfileButtonVisible(
bool);
533 virtual void includeSpacer(
bool);
534 virtual bool extendedLabelsValid()
const;
537 virtual void setEmbarkationWidgetVisible(
bool flag );
541 return myEmbarkationWidget;
544 virtual QSize minimumSizeHint()
const;
551 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
556 virtual void setupGui();
559 virtual void setupConnections();
562 virtual void closeEvent(QCloseEvent *event);
568 virtual QDialog* createAltitudeAdjustmentDialog();
572 virtual bool showAlpha()
const;
574 virtual void showEvent(QShowEvent*);
576 virtual void getDistanceAndAltitudeDecimals(
int& decimals,
int& altDecimals);
581 virtual void slot_onShapeLocationsCellChanged(
int,
int);
584 virtual void slot_altitudeTypeChanged();
587 virtual void slot_onFloorChanged();
588 virtual void slot_onCeilingChanged();
589 virtual void slot_onReversePoints();
590 virtual void slot_onSetActivationTime();
591 virtual void slot_onLabelEdited();
592 virtual void slot_onExtendedLabelsEdited();
593 virtual void slot_itemSelectionChanged();
594 virtual void slot_onCreateButtonClicked();
595 virtual void slot_onUpdateButtonClicked();
596 virtual void slot_onDoneButtonClicked();
597 virtual void slot_onNamePrefixEdited();
598 virtual void slot_closePressed();
599 virtual void slot_onBtnMoveDownClicked();
600 virtual void slot_onBtnMoveUpClicked();
601 virtual void slot_onBtnAddPointClicked();
602 virtual void slot_onBtnRemovePointClicked();
603 virtual void slot_onShapeLocationsCellEntered(
int,
int);
604 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
605 virtual void slot_onForceComboCurrentIndexChanged(
int index);
606 virtual void slot_attachedToMouseChanged();
607 virtual void slot_onAdjustAltitudeClicked();
608 virtual void slot_onShowTerrainProfile();
609 virtual void slot_onPublishObjectChanged();
610 virtual void slot_onBtnColorClicked();
611 virtual void slot_onBtnStyleClicked();
656 virtual QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
657 const QModelIndex &index)
const;
675 virtual void commitData(QWidget *editor);
676 virtual bool validateDMS(
const std::string&)
const;