16 #include <vrfGuiCoreQt/shapeObjectDefinitionWidgetUi.hpp>
21 #include <QtGui/QItemDelegate>
22 #include <QtGui/QTableWidget>
24 class DtReferenceEllipsoid;
26 class QDoubleValidator;
31 class DtEmbarkationWidget;
32 class DtShapeObjectDefinitionDialog;
33 class DtVrfObjectManipulationHandlerBaseClass;
34 class DtHeadingEntryWidget;
35 class DtExtendedLabelsEntryWidget;
36 class DtForceSelectionEntryWidget;
37 class DtShapeValidatingTableWidget;
38 class DtAltitudeEntryWidget;
55 virtual void createConnections();
58 virtual void terminateConnections();
61 virtual void processLocationEdited(
int currentRow=-1);
64 virtual void processSelectLocation(
int);
67 virtual void processAddNewPoint();
70 virtual void processRemovePoint(
int index);
73 virtual void processObjectCreation();
76 virtual void processObjectUpdate();
79 virtual void processDoneRequest();
82 virtual void processCloseRequest();
85 virtual void processCellEdited(
int,
int);
88 virtual void processCellEntered(
int,
int);
91 virtual void processNamePrefixEdited();
94 virtual void processLabelEdited(
const std::string& name);
97 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
100 virtual void processItemSelectionChanged();
107 virtual void headingChanged();
109 virtual bool inGeocentric()
const;
112 virtual void setupGui();
115 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
118 virtual bool isLine()
const;
124 virtual void populateOverlays();
126 virtual void setForce(
int);
129 virtual void processAltitudeTypeChanged();
131 virtual void attachToMouseChanged(
bool b);
133 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
134 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
136 virtual void adjustAltitudesBy(
double);
140 virtual void processItemAdded(
int);
144 virtual void showTerrainProfile();
147 virtual void slot_pointSamplingRateChanged(
int);
150 virtual void slot_lineWidthChanged(
int);
153 virtual void slot_penStyleChanged(
int);
156 virtual void slot_arrowDataChanged(
const std::string& s);
159 virtual void slot_fillDataChanged(
int);
161 virtual int fillStyle()
const;
163 virtual void slot_onFloorChanged(
double);
164 virtual void slot_onCeilingChanged(
double);
165 virtual void slot_onFloorSet(
double);
166 virtual void slot_onCeilingSet(
double);
169 virtual void reversePoints();
170 virtual void updateButtons();
172 virtual void setActivationTime();
179 virtual void setupLabels();
182 virtual void closeDialog();
184 virtual void slot_headingChangedByMouse(
double headingInDeg);
187 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
190 virtual void slot_onMouseAltitudeChanged(
double heading);
196 virtual void slot_onPlacement(
const DtVector& loc);
199 virtual void slot_onColorChanged(
int);
202 virtual void slot_onLocationAdded(
const DtVector& loc);
205 virtual void slot_onOverlayNameChanged(
const std::string& name);
208 virtual void slot_onForceChanged(
int);
210 virtual void objectCreated();
212 virtual void slot_onCoordinateSystemChanged(
214 virtual void slot_onDisplayUnitDecimalsChanged(
int);
216 virtual void slot_onUnitChanged(
int attribute,
int from);
218 virtual void restoreLocations();
219 virtual void backupLocations();
226 virtual void slot_overlayAdded(
const std::string&);
229 virtual void slot_overlayRemoved(
const std::string&);
232 virtual void slot_overlayRenamed(
const std::string&,
const std::string&);
235 virtual void slot_onPublishObjectChanged(
bool);
265 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
269 virtual void closeDialog();
272 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
277 virtual bool validateDMS(
const std::string& str)
const;
280 virtual void addLocation(
const DtVector& loc,
int index = -1);
283 virtual void setEmbarkationAllowed(
bool flag );
285 virtual void clear();
288 virtual void removePoint(
int);
291 virtual void setUseInputValidation(
bool b);
294 virtual void insertLocation(
int index,
const DtVector& loc);
297 virtual void selectLocation(
int index);
300 virtual DtGeodeticCoord getLocation(
int index);
303 virtual QString getName();
306 virtual void hideDialog();
309 virtual int selectedPointIndex()
const;
312 virtual int rowCount()
const;
315 virtual void setAltitudeAboveTerrain(
bool);
318 virtual bool altitudeAboveTerrain()
const;
321 virtual void setAttachedToMouseVisible(
bool);
324 virtual void setName(
const QString& name);
327 virtual void setLabel(
const QString& name);
330 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
333 virtual void setLabelEntryVisible(
bool);
336 virtual void setNameVisible(
bool flag);
339 virtual void setSetActivationTimeVisible(
bool flag);
342 virtual void setTitle(
const QString& title);
345 virtual void setCreateButtonEnabled(
bool flag);
347 virtual void setAdjustStyleEnabled(
bool);
350 virtual void setCreateButtonText(
const QString& text);
353 virtual void setCreateButtonVisible(
bool flag);
356 virtual void setUpdateButtonEnabled(
bool flag);
359 virtual void setUpdateButtonVisible(
bool flag);
362 virtual void setAllowOverlaySelection(
bool flag);
365 virtual void setUpdateButtonText(
const QString& text);
368 virtual void setDoneButtonEnabled(
bool flag);
371 virtual void setDoneButtonVisible(
bool flag);
374 virtual void setShowFloorCeiling(
bool);
377 virtual void setFloor(
double);
378 virtual double floor()
const;
379 virtual void setFloorLabel(
const QString&);
382 virtual void setCeiling(
double);
383 virtual double ceiling()
const;
384 virtual void setCeilingLabel(
const QString&);
388 virtual void setUpButtonVisible(
bool flag);
391 virtual void setDownButtonVisible(
bool flag);
394 virtual void setAddPointButtonVisible(
bool flag);
397 virtual void setAddPointButtonEnabled(
bool flag);
400 virtual void setAdjustAltitudeButtonVisible(
bool flag);
403 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
406 virtual void setRemovePointButtonVisible(
bool flag);
409 virtual void setRemovePointButtonEnabled(
bool flag);
412 virtual void setShowStyleButton(
bool flag);
415 virtual void setShowColorButton(
bool flag);
418 virtual void setControlButtonsVisible(
bool flag);
421 virtual void setAttachObjectToMouse(
bool);
433 virtual bool blockSignals(
bool);
436 virtual void addOverlay(
const QString& name,
bool translate =
true);
439 virtual void removeOverlay(
const QString& name);
442 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
445 virtual void setOverlay(
const QString& name);
448 virtual void setPublishObjectVisible(
bool);
451 virtual void setPublishObject(
bool);
452 virtual bool publishObject()
const;
455 virtual void clearOverlays();
458 virtual void populateOverlays();
461 virtual void setAltitudeAboveTerrain(
int row,
double alt);
463 bool attachedToMouse()
const;
467 virtual double altitude(
int)
const;
470 virtual void setAltitude(
int,
double,
bool blocked =
false);
473 virtual void setAltitudeAllowed(
bool);
474 bool altitudeAllowed()
const
476 return myAltitudeAllowed;
479 bool altitudeShown()
const
481 return myAltitudeShown;
485 virtual void setShowForces(
bool);
488 virtual void setReadOnly(
bool);
491 virtual void setReadOnly(
int,
bool);
493 virtual void setColor(
unsigned int color);
495 virtual void setXLabel(
const QString&);
496 virtual void setYLabel(
const QString&);
497 virtual void setZLabel(
const QString&);
498 virtual void adjustAltitudeAdjustmentDialogLabels();
504 virtual void setAllowHeadingChange(
bool);
507 virtual void setHeading(
double);
510 virtual double heading()
const;
513 virtual void refreshLocs();
514 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
516 virtual void clearSelection();
519 virtual void setForce(
int force);
522 virtual void addExtension(
QWidget*);
525 virtual void removeExtension(
QWidget*);
528 virtual void showPropertiesDialog(
bool);
531 virtual void setTerrainProfileButtonEnabled(
bool);
532 virtual void setTerrainProfileButtonVisible(
bool);
535 virtual void includeSpacer(
bool);
536 virtual bool extendedLabelsValid()
const;
539 virtual void setEmbarkationWidgetVisible(
bool flag );
543 return myEmbarkationWidget;
546 virtual QSize minimumSizeHint()
const;
553 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
558 virtual void setupGui();
561 virtual void setupConnections();
564 virtual void closeEvent(QCloseEvent *event);
570 virtual QDialog* createAltitudeAdjustmentDialog();
574 virtual bool showAlpha()
const;
579 virtual void slot_onShapeLocationsCellChanged(
int,
int);
582 virtual void slot_altitudeTypeChanged();
585 virtual void slot_onFloorChanged();
586 virtual void slot_onCeilingChanged();
587 virtual void slot_onReversePoints();
588 virtual void slot_onSetActivationTime();
589 virtual void slot_onLabelEdited();
590 virtual void slot_onExtendedLabelsEdited();
591 virtual void slot_itemSelectionChanged();
592 virtual void slot_onCreateButtonClicked();
593 virtual void slot_onUpdateButtonClicked();
594 virtual void slot_onDoneButtonClicked();
595 virtual void slot_onNamePrefixEdited();
596 virtual void slot_closePressed();
597 virtual void slot_onBtnMoveDownClicked();
598 virtual void slot_onBtnMoveUpClicked();
599 virtual void slot_onBtnAddPointClicked();
600 virtual void slot_onBtnRemovePointClicked();
601 virtual void slot_onShapeLocationsCellEntered(
int,
int);
602 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
603 virtual void slot_onForceComboCurrentIndexChanged(
int index);
604 virtual void slot_attachedToMouseChanged();
605 virtual void slot_onAdjustAltitudeClicked();
606 virtual void slot_onShowTerrainProfile();
607 virtual void slot_onPublishObjectChanged();
608 virtual void slot_onBtnColorClicked();
609 virtual void slot_onBtnStyleClicked();
653 virtual QWidget *createEditor(
QWidget *parent,
const QStyleOptionViewItem &option,
654 const QModelIndex &index)
const;
671 virtual void commitData(
QWidget *editor);
672 virtual bool validateDMS(
const std::string&)
const;