16 #include <vrfGuiCoreQt/shapeObjectDefinitionWidgetUi.hpp>
21 #include <QtGui/QItemDelegate>
22 #include <QtGui/QTableWidget>
24 class DtReferenceEllipsoid;
26 class QDoubleValidator;
30 class DtShapeObjectDefinitionDialog;
31 class DtVrfObjectManipulationHandlerBaseClass;
32 class DtHeadingEntryWidget;
33 class DtExtendedLabelsEntryWidget;
34 class DtForceSelectionEntryWidget;
35 class DtShapeValidatingTableWidget;
52 virtual void createConnections();
55 virtual void terminateConnections();
58 virtual void processLocationEdited(
int currentRow=-1);
61 virtual void processSelectLocation(
int);
64 virtual void processAddNewPoint();
67 virtual void processRemovePoint(
int index);
70 virtual void processObjectCreation();
73 virtual void processObjectUpdate();
76 virtual void processDoneRequest();
79 virtual void processCloseRequest();
82 virtual void processCellEdited(
int,
int);
85 virtual void processCellEntered(
int,
int);
88 virtual void processNamePrefixEdited();
91 virtual void processLabelEdited(
const std::string& name);
94 virtual void processExtendedLabelsEdited(
const std::map<int, DtString>& name);
97 virtual void processItemSelectionChanged();
104 virtual void headingChanged();
106 virtual bool inGeocentric()
const;
109 virtual void setupGui();
112 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
118 virtual void populateOverlays();
120 virtual void setForce(
int);
123 virtual void processAltitudeTypeChanged();
125 virtual void attachToMouseChanged(
bool b);
127 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
128 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
130 virtual void adjustAltitudesBy(
double);
134 virtual void processItemAdded(
int);
138 virtual void showTerrainProfile();
141 virtual void slot_pointSamplingRateChanged(
int);
144 virtual void slot_lineWidthChanged(
int);
147 virtual void slot_penStyleChanged(
int);
150 virtual void slot_arrowDataChanged(
const std::string& s);
153 virtual void slot_fillDataChanged(
int);
156 virtual void reversePoints();
157 virtual void updateButtons();
161 virtual void setupLabels();
164 virtual void closeDialog();
166 virtual void slot_headingChangedByMouse(
double headingInDeg);
169 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
172 virtual void slot_onMouseAltitudeChanged(
double heading);
178 virtual void slot_onPlacement(
const DtVector& loc);
181 virtual void slot_onColorChanged(
int);
184 virtual void slot_onLocationAdded(
const DtVector& loc);
187 virtual void slot_onOverlayNameChanged(
const std::string& name);
190 virtual void slot_onForceChanged(
int);
192 virtual void objectCreated();
194 virtual void slot_onCoordinateSystemChanged(
196 virtual void slot_onDisplayUnitDecimalsChanged(
int);
198 virtual void slot_onUnitChanged(
int attribute,
int from);
200 virtual void restoreLocations();
201 virtual void backupLocations();
204 virtual void slot_overlayAdded(
const std::string&);
207 virtual void slot_overlayRemoved(
const std::string&);
210 virtual void slot_overlayRenamed(
const std::string&,
const std::string&);
213 virtual void slot_onPublishObjectChanged(
bool);
244 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
248 virtual void closeDialog();
251 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
256 virtual bool validateDMS(
const std::string& str)
const;
259 virtual void addLocation(
const DtVector& loc,
int index = -1);
262 virtual void removePoint(
int);
265 virtual void setUseInputValidation(
bool b);
268 virtual void insertLocation(
int index,
const DtVector& loc);
271 virtual void selectLocation(
int index);
274 virtual DtGeodeticCoord getLocation(
int index);
277 virtual QString getName();
280 virtual void hideDialog();
283 virtual int selectedPointIndex()
const;
286 virtual int rowCount()
const;
289 virtual void setAltitudeAboveTerrain(
bool);
292 virtual bool altitudeAboveTerrain()
const;
295 virtual void setAttachedToMouseVisible(
bool);
298 virtual void setName(
const QString& name);
301 virtual void setLabel(
const QString& name);
304 virtual void setExtendedLabels(
const std::map<int, DtString>& lab);
307 virtual void setLabelEntryVisible(
bool);
310 virtual void setNameVisible(
bool flag);
313 virtual void setTitle(
const QString& title);
316 virtual void setCreateButtonEnabled(
bool flag);
318 virtual void setAdjustStyleEnabled(
bool);
321 virtual void setCreateButtonText(
const QString& text);
324 virtual void setCreateButtonVisible(
bool flag);
327 virtual void setUpdateButtonEnabled(
bool flag);
330 virtual void setUpdateButtonVisible(
bool flag);
333 virtual void setAllowOverlaySelection(
bool flag);
336 virtual void setUpdateButtonText(
const QString& text);
339 virtual void setDoneButtonEnabled(
bool flag);
342 virtual void setDoneButtonVisible(
bool flag);
345 virtual void setUpButtonVisible(
bool flag);
348 virtual void setDownButtonVisible(
bool flag);
351 virtual void setAddPointButtonVisible(
bool flag);
354 virtual void setAddPointButtonEnabled(
bool flag);
357 virtual void setAdjustAltitudeButtonVisible(
bool flag);
360 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
363 virtual void setRemovePointButtonVisible(
bool flag);
366 virtual void setRemovePointButtonEnabled(
bool flag);
369 virtual void setShowStyleButton(
bool flag);
372 virtual void setShowColorButton(
bool flag);
375 virtual void setControlButtonsVisible(
bool flag);
378 virtual void setAttachObjectToMouse(
bool);
390 virtual bool blockSignals(
bool);
393 virtual void addOverlay(
const QString& name,
bool translate =
true);
396 virtual void removeOverlay(
const QString& name);
399 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
402 virtual void setOverlay(
const QString& name);
405 virtual void setPublishObjectVisible(
bool);
408 virtual void setPublishObject(
bool);
409 virtual bool publishObject()
const;
412 virtual void clearOverlays();
415 virtual void populateOverlays();
418 virtual void setAltitudeAboveTerrain(
int row,
double alt);
420 bool attachedToMouse()
const;
424 virtual double altitude(
int)
const;
427 virtual void setAltitude(
int,
double,
bool blocked =
false);
430 virtual void setAltitudeAllowed(
bool);
431 bool altitudeAllowed()
const
433 return myAltitudeAllowed;
436 bool altitudeShown()
const
438 return myAltitudeShown;
442 virtual void setShowForces(
bool);
445 virtual void setReadOnly(
bool);
448 virtual void setReadOnly(
int,
bool);
450 virtual void setColor(
unsigned int color);
452 virtual void setXLabel(
const QString&);
453 virtual void setYLabel(
const QString&);
454 virtual void setZLabel(
const QString&);
455 virtual void adjustAltitudeAdjustmentDialogLabels();
461 virtual void setAllowHeadingChange(
bool);
464 virtual void setHeading(
double);
467 virtual double heading()
const;
470 virtual void refreshLocs();
471 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
473 virtual void clearSelection();
476 virtual void setForce(
int force);
479 virtual void addExtension(
QWidget*);
482 virtual void removeExtension(
QWidget*);
485 virtual void showPropertiesDialog(
bool);
488 virtual void setTerrainProfileButtonEnabled(
bool);
489 virtual void setTerrainProfileButtonVisible(
bool);
492 virtual void includeSpacer(
bool);
493 virtual bool extendedLabelsValid()
const;
500 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
505 virtual void setupGui();
508 virtual void setupConnections();
511 virtual void closeEvent(QCloseEvent *event);
517 virtual QDialog* createAltitudeAdjustmentDialog();
525 virtual void slot_onShapeLocationsCellChanged(
int,
int);
528 virtual void slot_altitudeTypeChanged();
531 virtual void slot_onReversePoints();
532 virtual void slot_onLabelEdited();
533 virtual void slot_onExtendedLabelsEdited();
534 virtual void slot_itemSelectionChanged();
535 virtual void slot_onCreateButtonClicked();
536 virtual void slot_onUpdateButtonClicked();
537 virtual void slot_onDoneButtonClicked();
538 virtual void slot_onNamePrefixEdited();
539 virtual void slot_closePressed();
540 virtual void slot_onBtnMoveDownClicked();
541 virtual void slot_onBtnMoveUpClicked();
542 virtual void slot_onBtnAddPointClicked();
543 virtual void slot_onBtnRemovePointClicked();
544 virtual void slot_onShapeLocationsCellEntered(
int,
int);
545 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
546 virtual void slot_onForceComboCurrentIndexChanged(
int index);
547 virtual void slot_attachedToMouseChanged();
548 virtual void slot_onAdjustAltitudeClicked();
549 virtual void slot_onShowTerrainProfile();
550 virtual void slot_onPublishObjectChanged();
551 virtual void slot_onBtnColorClicked();
552 virtual void slot_onBtnStyleClicked();
593 virtual QWidget *createEditor(
QWidget *parent,
const QStyleOptionViewItem &option,
594 const QModelIndex &index)
const;
611 virtual void commitData(
QWidget *editor);
612 virtual bool validateDMS(
const std::string&)
const;