12 #include <vrvUtil/signalslib.h>
16 #include <vrfGuiCoreQt/shapeObjectDefinitionWidgetUi.hpp>
17 #include <vrvCore/DtSharedDisplayUnitsSettings.h>
18 #include <makArchives/DtDisplayUnitsSettingsRecord.h>
19 #include <vrvUtil/DtSignalConnectionManager.h>
21 class DtReferenceEllipsoid;
26 class DtShapeObjectDefinitionDialog;
27 class DtVrfObjectManipulationHandlerBaseClass;
44 virtual void createConnections();
47 virtual void terminateConnections();
50 virtual void processLocationEdited(
int currentRow=-1);
53 virtual void processSelectLocation(
int);
56 virtual void processAddNewPoint();
59 virtual void processRemovePoint(
int index);
62 virtual void processObjectCreation();
65 virtual void processObjectUpdate();
68 virtual void processDoneRequest();
71 virtual void processCloseRequest();
74 virtual void processCellEdited(
int,
int);
77 virtual void processCellEntered(
int,
int);
80 virtual void processNamePrefixEdited();
83 virtual void processItemSelectionChanged();
88 virtual void processPopulateDialog(
const makVrv::DtUniqueID&
id );
90 virtual bool inGeocentric()
const;
93 virtual void setupGui();
96 virtual void updateLocations(
const std::vector<DtGeodeticCoord>& locs);
102 virtual void populateOverlays();
104 virtual void populateForces();
105 virtual void setForce(
int);
108 virtual void processAltitudeTypeChanged();
110 virtual void attachToMouseChanged(
bool b);
112 virtual DtGeodeticCoord convertToGeodetic(
const DtVector&)
const;
113 virtual DtVector convertToLocal(
const DtGeodeticCoord&)
const;
115 virtual void adjustAltitudesBy(
double);
119 virtual void processItemAdded(
int);
123 virtual void showTerrainProfile();
126 virtual void slot_pointSamplingRateChanged(
int);
129 virtual void slot_lineWidthChanged(
int);
132 virtual void slot_penStyleChanged(
int);
135 virtual void slot_arrowDataChanged(
const std::string& s);
138 virtual void slot_fillDataChanged(
int);
141 virtual void reversePoints();
145 virtual void setupLabels();
148 virtual void closeDialog();
151 virtual void slot_onMouseLocationChanged(
const DtVector& loc);
154 virtual void slot_onMouseAltitudeChanged(
double heading);
160 virtual void slot_onPlacement(
const DtVector& loc);
163 virtual void slot_onColorChanged(
int);
166 virtual void slot_onLocationAdded(
const DtVector& loc);
169 virtual void slot_onOverlayNameChanged(
const std::string& name);
172 virtual void slot_onForceChanged(
int);
174 virtual void objectCreated();
176 virtual void updateButtons();
178 virtual void slot_onCoordinateSystemChanged(
179 makVrv::DtSharedDisplayUnitsSettings::CoordSys);
180 virtual void slot_onDisplayUnitDecimalsChanged(
int);
182 virtual void slot_onUnitChanged(
int attribute,
int from);
184 virtual void restoreLocations();
185 virtual void backupLocations();
188 virtual void slot_overlayAdded(
const std::string&);
191 virtual void slot_overlayRemoved(
const std::string&);
194 virtual void slot_overlayRenamed(
const std::string&,
const std::string&);
197 virtual void slot_onPublishObjectChanged(
bool);
228 virtual void init(
const DtEntityType&,
const QString& title,
bool forPlan,
232 virtual void closeDialog();
235 virtual void setLocationInGridFor(
int row,
const DtGeodeticCoord&,
236 makVrv::DtSharedDisplayUnitsSettings::CoordSys = makArchives::DtDisplayUnitsSettingsRecord::End_CoordSys,
237 makVrv::DtSharedDisplayUnitsSettings::DistanceUnits = makArchives::DtDisplayUnitsSettingsRecord::End_DistanceUnits);
240 virtual void addLocation(
const DtVector& loc,
int index = -1);
243 virtual void removePoint(
int);
246 virtual void insertLocation(
int index,
const DtVector& loc);
249 virtual void selectLocation(
int index);
252 virtual DtGeodeticCoord getLocation(
int index);
255 virtual QString getName();
258 virtual void hideDialog();
261 virtual int selectedPointIndex()
const;
264 virtual int rowCount()
const;
267 virtual void setAltitudeAboveTerrain(
bool);
270 virtual bool altitudeAboveTerrain()
const;
273 virtual void setAttachedToMouseVisible(
bool);
276 virtual void setName(
const QString& name);
279 virtual void setNameVisible(
bool flag);
282 virtual void setTitle(
const QString& title);
285 virtual void setCreateButtonEnabled(
bool flag);
287 virtual void setAdjustStyleEnabled(
bool);
290 virtual void setCreateButtonText(
const QString& text);
293 virtual void setCreateButtonVisible(
bool flag);
296 virtual void setUpdateButtonEnabled(
bool flag);
299 virtual void setUpdateButtonVisible(
bool flag);
302 virtual void setAllowOverlaySelection(
bool flag);
305 virtual void setUpdateButtonText(
const QString& text);
308 virtual void setDoneButtonEnabled(
bool flag);
311 virtual void setDoneButtonVisible(
bool flag);
314 virtual void setUpButtonVisible(
bool flag);
317 virtual void setDownButtonVisible(
bool flag);
320 virtual void setAddPointButtonVisible(
bool flag);
323 virtual void setAddPointButtonEnabled(
bool flag);
326 virtual void setAdjustAltitudeButtonVisible(
bool flag);
329 virtual void setAdjustAltitudeButtonEnabled(
bool flag);
332 virtual void setRemovePointButtonVisible(
bool flag);
335 virtual void setRemovePointButtonEnabled(
bool flag);
338 virtual void setShowStyleButton(
bool flag);
341 virtual void setControlButtonsVisible(
bool flag);
344 virtual void setAttachObjectToMouse(
bool);
350 virtual void populate(
const makVrv::DtUniqueID&);
356 virtual bool blockSignals(
bool);
359 virtual void addOverlay(
const QString& name);
362 virtual void removeOverlay(
const QString& name);
365 virtual void renameOverlay(
const QString& oldName,
const QString& newName);
368 virtual void setOverlay(
const QString& name);
371 virtual void setPublishObjectVisible(
bool);
374 virtual void setPublishObject(
bool);
375 virtual bool publishObject()
const;
378 virtual void clearOverlays();
381 virtual void populateOverlays();
384 virtual void populateForces();
386 virtual void setAltitudeAboveTerrain(
int row,
double alt);
388 bool attachedToMouse()
const;
392 virtual double altitude(
int)
const;
395 virtual void setAltitude(
int,
double,
bool blocked =
false);
398 virtual void setAltitudeAllowed(
bool);
401 virtual void setShowForces(
bool);
404 virtual void setReadOnly(
bool);
407 virtual void setReadOnly(
int,
bool);
409 virtual void setColor(
unsigned int color);
411 virtual void setXLabel(
const QString&);
412 virtual void setYLabel(
const QString&);
413 virtual void setZLabel(
const QString&);
414 virtual void adjustAltitudeAdjustmentDialogLabels();
416 virtual void setupForCoordinateSystemAndUnits(makVrv::DtSharedDisplayUnitsSettings::CoordSys,
417 makVrv::DtSharedDisplayUnitsSettings::DistanceUnits);
420 virtual void refreshLocs();
421 virtual void refreshLocs(
const std::vector<DtGeodeticCoord>&);
423 virtual void clearSelection();
426 virtual void clearForces();
429 virtual void addForce(
const QString& name,
int force);
432 virtual void setForce(
int force);
435 virtual void addExtension(
QWidget*);
438 virtual void removeExtension(
QWidget*);
441 virtual void showPropertiesDialog(
bool);
444 virtual void setTerrainProfileButtonEnabled(
bool);
445 virtual void setTerrainProfileButtonVisible(
bool);
452 virtual void addLocationIntoList(
const DtGeodeticCoord& loc,
int pos=-1,
453 makVrv::DtSharedDisplayUnitsSettings::CoordSys = makArchives::DtDisplayUnitsSettingsRecord::End_CoordSys,
454 makVrv::DtSharedDisplayUnitsSettings::DistanceUnits = makArchives::DtDisplayUnitsSettingsRecord::End_DistanceUnits);
457 virtual void setupGui();
460 virtual void setupConnections();
463 virtual void closeEvent(QCloseEvent *event);
469 virtual QDialog* createAltitudeAdjustmentDialog();
477 virtual void slot_onShapeLocationsCellChanged(
int,
int);
480 virtual void slot_altitudeTypeChanged();
483 virtual void slot_onReversePoints();
484 virtual void slot_itemSelectionChanged();
485 virtual void slot_onCreateButtonClicked();
486 virtual void slot_onUpdateButtonClicked();
487 virtual void slot_onDoneButtonClicked();
488 virtual void slot_onNamePrefixEdited();
489 virtual void slot_closePressed();
490 virtual void slot_onBtnMoveDownClicked();
491 virtual void slot_onBtnMoveUpClicked();
492 virtual void slot_onBtnAddPointClicked();
493 virtual void slot_onBtnRemovePointClicked();
494 virtual void slot_onShapeLocationsCellEntered(
int,
int);
495 virtual void slot_onOverlaysComboCurrentIndexChanged(
int index);
496 virtual void slot_onForceComboCurrentIndexChanged(
int index);
497 virtual void slot_attachedToMouseChanged();
498 virtual void slot_onAdjustAltitudeClicked();
499 virtual void slot_onShowTerrainProfile();
500 virtual void slot_onPublishObjectChanged();
501 virtual void slot_onBtnColorClicked();
502 virtual void slot_onBtnStyleClicked();