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);
90 virtual void processCellEntered(
int,
int);
93 virtual void processNamePrefixEdited();
96 virtual void processLabelEdited(
const std::string& name);
99 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
102 virtual void processItemSelectionChanged();
109 virtual void headingChanged();
111 virtual bool inGeocentric()
const;
114 virtual void setupGui();
117 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
120 virtual bool isLine()
const;
126 virtual void populateOverlays();
128 virtual void setForce(
int);
131 virtual void processAltitudeTypeChanged();
133 virtual void attachToMouseChanged(
bool b);
135 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
136 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
138 virtual void adjustAltitudesBy(
double);
142 virtual void processItemAdded(
int);
146 virtual void showTerrainProfile();
149 virtual void slot_pointSamplingRateChanged(
int);
152 virtual void slot_lineWidthChanged(
int);
155 virtual void slot_penStyleChanged(
int);
158 virtual void slot_arrowDataChanged(
const std::string& s);
161 virtual void slot_fillDataChanged(
int);
163 virtual int fillStyle()
const;
165 virtual void slot_onFloorChanged(
double);
166 virtual void slot_onCeilingChanged(
double);
167 virtual void slot_onFloorSet(
double);
168 virtual void slot_onCeilingSet(
double);
171 virtual void reversePoints();
172 virtual void updateButtons();
174 virtual void setActivationTime();
179 virtual void setupLabels();
184 virtual void closeDialog();
186 virtual void slot_headingChangedByMouse(
double headingInDeg);
189 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
192 virtual void slot_onMouseAltitudeChanged(
double heading);
198 virtual void slot_onPlacement(
const DtVector& loc);
201 virtual void slot_onColorChanged(
int);
204 virtual void slot_onLocationAdded(
const DtVector& loc);
207 virtual void slot_onOverlayNameChanged(
const std::string& name);
210 virtual void slot_onForceChanged(
int);
212 virtual void objectCreated();
214 virtual void slot_onCoordinateSystemChanged(
216 virtual void slot_onDisplayUnitDecimalsChanged(
int);
218 virtual void slot_onUnitChanged(
int attribute,
int from);
220 virtual void restoreLocations();
221 virtual void backupLocations();
228 virtual void slot_onPublishObjectChanged(
bool);
258 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
262 virtual void closeDialog();
265 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
270 virtual bool validateDMS(
const std::string& str)
const;
273 virtual void addLocation(
const DtVector& loc,
int index = -1);
276 virtual void setEmbarkationAllowed(
bool flag );
278 virtual void clear();
281 virtual void removePoint(
int);
284 virtual void setUseInputValidation(
bool b);
287 virtual void insertLocation(
int index,
const DtVector& loc);
290 virtual void selectLocation(
int index);
293 virtual DtGeodeticCoord getLocation(
int index);
296 virtual QString getName();
299 virtual void hideDialog();
302 virtual int selectedPointIndex()
const;
305 virtual int rowCount()
const;
308 virtual void setAltitudeAboveTerrain(
bool);
311 virtual bool altitudeAboveTerrain()
const;
314 virtual void setAttachedToMouseVisible(
bool);
317 virtual void setName(
const QString& name);
320 virtual void setLabel(
const QString& name);
323 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
326 virtual void setLabelEntryVisible(
bool);
329 virtual void setNameVisible(
bool flag);
332 virtual void setSetActivationTimeVisible(
bool flag);
335 virtual void setTitle(
const QString& title);
338 virtual void setCreateButtonEnabled(
bool flag);
340 virtual void setAdjustStyleEnabled(
bool);
343 virtual void setCreateButtonText(
const QString& text);
346 virtual void setCreateButtonVisible(
bool flag);
349 virtual void setUpdateButtonEnabled(
bool flag);
352 virtual void setUpdateButtonVisible(
bool flag);
355 virtual void setAllowOverlaySelection(
bool flag);
358 virtual void setUpdateButtonText(
const QString& text);
361 virtual void setDoneButtonEnabled(
bool flag);
364 virtual void setDoneButtonVisible(
bool flag);
367 virtual void setShowFloorCeiling(
bool);
370 virtual void setFloor(
double);
371 virtual double floor()
const;
372 virtual void setFloorLabel(
const QString&);
375 virtual void setCeiling(
double);
376 virtual double ceiling()
const;
377 virtual void setCeilingLabel(
const QString&);
380 virtual void hideForces();
383 virtual void setUpButtonVisible(
bool flag);
386 virtual void setDownButtonVisible(
bool flag);
389 virtual void setAddPointButtonVisible(
bool flag);
392 virtual void setAddPointButtonEnabled(
bool flag);
395 virtual void setAdjustAltitudeButtonVisible(
bool flag);
398 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
401 virtual void setRemovePointButtonVisible(
bool flag);
404 virtual void setRemovePointButtonEnabled(
bool flag);
407 virtual void setShowStyleButton(
bool flag);
410 virtual void setShowColorButton(
bool flag);
413 virtual void setControlButtonsVisible(
bool flag);
416 virtual void setAttachObjectToMouse(
bool);
428 virtual bool blockSignals(
bool);
431 virtual void addOverlay(
const QString& name,
bool translate =
true);
434 virtual void removeOverlay(
const QString& name);
437 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
440 virtual void setOverlay(
const QString& name);
443 virtual void setPublishObjectVisible(
bool);
446 virtual void setPublishObject(
bool);
447 virtual bool publishObject()
const;
450 virtual void clearOverlays();
453 virtual void populateOverlays();
456 virtual void setAltitudeAboveTerrain(
int row,
double alt);
458 bool attachedToMouse()
const;
462 virtual double altitude(
int)
const;
465 virtual void setAltitude(
int,
double,
bool blocked =
false);
468 virtual void setAltitudeAllowed(
bool);
469 bool altitudeAllowed()
const
471 return myAltitudeAllowed;
474 bool altitudeShown()
const
476 return myAltitudeShown;
480 virtual void setShowForces(
bool);
483 virtual void setReadOnly(
bool);
486 virtual void setReadOnly(
int,
bool);
488 virtual void setColor(
unsigned int color);
490 virtual void setXLabel(
const QString&);
491 virtual void setYLabel(
const QString&);
492 virtual void setZLabel(
const QString&);
493 virtual void adjustAltitudeAdjustmentDialogLabels();
499 virtual void setAllowHeadingChange(
bool);
502 virtual void setHeading(
double);
505 virtual double heading()
const;
508 virtual void refreshLocs();
509 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
511 virtual void clearSelection();
514 virtual void setForce(
int force);
517 virtual void addExtension(
QWidget*);
520 virtual void removeExtension(
QWidget*);
523 virtual void showPropertiesDialog(
bool);
526 virtual void setTerrainProfileButtonEnabled(
bool);
527 virtual void setTerrainProfileButtonVisible(
bool);
530 virtual void includeSpacer(
bool);
531 virtual bool extendedLabelsValid()
const;
534 virtual void setEmbarkationWidgetVisible(
bool flag );
538 return myEmbarkationWidget;
541 virtual QSize minimumSizeHint()
const;
548 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
553 virtual void setupGui();
556 virtual void setupConnections();
559 virtual void closeEvent(QCloseEvent *event);
565 virtual QDialog* createAltitudeAdjustmentDialog();
569 virtual bool showAlpha()
const;
571 virtual void showEvent(QShowEvent*);
576 virtual void slot_onShapeLocationsCellChanged(
int,
int);
579 virtual void slot_altitudeTypeChanged();
582 virtual void slot_onFloorChanged();
583 virtual void slot_onCeilingChanged();
584 virtual void slot_onReversePoints();
585 virtual void slot_onSetActivationTime();
586 virtual void slot_onLabelEdited();
587 virtual void slot_onExtendedLabelsEdited();
588 virtual void slot_itemSelectionChanged();
589 virtual void slot_onCreateButtonClicked();
590 virtual void slot_onUpdateButtonClicked();
591 virtual void slot_onDoneButtonClicked();
592 virtual void slot_onNamePrefixEdited();
593 virtual void slot_closePressed();
594 virtual void slot_onBtnMoveDownClicked();
595 virtual void slot_onBtnMoveUpClicked();
596 virtual void slot_onBtnAddPointClicked();
597 virtual void slot_onBtnRemovePointClicked();
598 virtual void slot_onShapeLocationsCellEntered(
int,
int);
599 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
600 virtual void slot_onForceComboCurrentIndexChanged(
int index);
601 virtual void slot_attachedToMouseChanged();
602 virtual void slot_onAdjustAltitudeClicked();
603 virtual void slot_onShowTerrainProfile();
604 virtual void slot_onPublishObjectChanged();
605 virtual void slot_onBtnColorClicked();
606 virtual void slot_onBtnStyleClicked();
651 virtual QWidget *createEditor(
QWidget *parent,
const QStyleOptionViewItem &option,
652 const QModelIndex &index)
const;
670 virtual void commitData(
QWidget *editor);
671 virtual bool validateDMS(
const std::string&)
const;