VR-Forces 4.2 Class Documentation
shapeObjectDefinitionDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 
10 #pragma once
11 
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>
20 
21 class DtReferenceEllipsoid;
22 class QDialog;
23 
24 namespace makVrf
25 {
26  class DtShapeObjectDefinitionDialog;
27  class DtVrfObjectManipulationHandlerBaseClass;
28 
33  {
34 
35  public:
36 
39 
42 
44  virtual void createConnections();
45 
47  virtual void terminateConnections();
48 
50  virtual void processLocationEdited(int currentRow=-1);
51 
53  virtual void processSelectLocation(int);
54 
56  virtual void processAddNewPoint();
57 
59  virtual void processRemovePoint(int index);
60 
62  virtual void processObjectCreation();
63 
65  virtual void processObjectUpdate();
66 
68  virtual void processDoneRequest();
69 
71  virtual void processCloseRequest();
72 
74  virtual void processCellEdited(int, int);
75 
77  virtual void processCellEntered(int, int);
78 
80  virtual void processNamePrefixEdited();
81 
83  virtual void processItemSelectionChanged();
84 
88  virtual void processPopulateDialog(const makVrv::DtUniqueID& id );
89 
90  virtual bool inGeocentric() const;
91 
93  virtual void setupGui();
94 
96  virtual void updateLocations(const std::vector<DtGeodeticCoord>& locs);
97 
99  virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
100 
102  virtual void populateOverlays();
103 
104  virtual void populateForces();
105  virtual void setForce(int);
106 
108  virtual void processAltitudeTypeChanged();
109 
110  virtual void attachToMouseChanged(bool b);
111 
112  virtual DtGeodeticCoord convertToGeodetic(const DtVector&) const;
113  virtual DtVector convertToLocal(const DtGeodeticCoord&) const;
114 
115  virtual void adjustAltitudesBy(double);
116  virtual void setAltitudesTo(DtAltitudeClampType, double);
117 
119  virtual void processItemAdded(int);
120 
123  virtual void showTerrainProfile();
124 
126  virtual void slot_pointSamplingRateChanged(int);
127 
129  virtual void slot_lineWidthChanged(int);
130 
132  virtual void slot_penStyleChanged(int);
133 
135  virtual void slot_arrowDataChanged(const std::string& s);
136 
138  virtual void slot_fillDataChanged(int);
139 
141  virtual void reversePoints();
142 
143  protected:
144 
145  virtual void setupLabels();
146 
148  virtual void closeDialog();
149 
151  virtual void slot_onMouseLocationChanged(const DtVector& loc);
152 
154  virtual void slot_onMouseAltitudeChanged(double heading);
155 
157  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
158 
160  virtual void slot_onPlacement(const DtVector& loc);
161 
163  virtual void slot_onColorChanged(int);
164 
166  virtual void slot_onLocationAdded(const DtVector& loc);
167 
169  virtual void slot_onOverlayNameChanged(const std::string& name);
170 
172  virtual void slot_onForceChanged(int);
173 
174  virtual void objectCreated();
175 
176  virtual void updateButtons();
177 
178  virtual void slot_onCoordinateSystemChanged(
179  makVrv::DtSharedDisplayUnitsSettings::CoordSys);
180  virtual void slot_onDisplayUnitDecimalsChanged(int);
181 
182  virtual void slot_onUnitChanged(int attribute, int from);
183 
184  virtual void restoreLocations();
185  virtual void backupLocations();
186 
188  virtual void slot_overlayAdded(const std::string&);
189 
191  virtual void slot_overlayRemoved(const std::string&);
192 
194  virtual void slot_overlayRenamed(const std::string&, const std::string&);
195 
197  virtual void slot_onPublishObjectChanged(bool);
198 
199  protected:
200 
201  makVrv::DtDe& myDe;
203  DtReferenceEllipsoid* myReferenceForConversion;
205  makVrv::DtSharedDisplayUnitsSettings::DistanceUnits myAltitudeUnits;
206  makVrv::DtSharedDisplayUnitsSettings::CoordSys myCoordSys;
207  std::vector<DtGeodeticCoord> myBackupLocations;
208  makVrv::DtSignalConnectionManager myConnectionManager;
209  };
210 
211 
216  {
217 
218  Q_OBJECT
219 
220  public:
221 
223  DtShapeObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
224 
227 
228  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
230 
232  virtual void closeDialog();
233 
235  virtual void setLocationInGridFor(int row, const DtGeodeticCoord&,
236  makVrv::DtSharedDisplayUnitsSettings::CoordSys = makArchives::DtDisplayUnitsSettingsRecord::End_CoordSys,
237  makVrv::DtSharedDisplayUnitsSettings::DistanceUnits = makArchives::DtDisplayUnitsSettingsRecord::End_DistanceUnits);
238 
240  virtual void addLocation(const DtVector& loc, int index = -1);
241 
243  virtual void removePoint(int);
244 
246  virtual void insertLocation(int index, const DtVector& loc);
247 
249  virtual void selectLocation(int index);
250 
252  virtual DtGeodeticCoord getLocation(int index);
253 
255  virtual QString getName();
256 
258  virtual void hideDialog();
259 
261  virtual int selectedPointIndex() const;
262 
264  virtual int rowCount() const;
265 
267  virtual void setAltitudeAboveTerrain(bool);
268 
270  virtual bool altitudeAboveTerrain() const;
271 
273  virtual void setAttachedToMouseVisible(bool);
274 
276  virtual void setName(const QString& name);
277 
279  virtual void setNameVisible(bool flag);
280 
282  virtual void setTitle(const QString& title);
283 
285  virtual void setCreateButtonEnabled(bool flag);
286 
287  virtual void setAdjustStyleEnabled(bool);
288 
290  virtual void setCreateButtonText(const QString& text);
291 
293  virtual void setCreateButtonVisible(bool flag);
294 
296  virtual void setUpdateButtonEnabled(bool flag);
297 
299  virtual void setUpdateButtonVisible(bool flag);
300 
302  virtual void setAllowOverlaySelection(bool flag);
303 
305  virtual void setUpdateButtonText(const QString& text);
306 
308  virtual void setDoneButtonEnabled(bool flag);
309 
311  virtual void setDoneButtonVisible(bool flag);
312 
314  virtual void setUpButtonVisible(bool flag);
315 
317  virtual void setDownButtonVisible(bool flag);
318 
320  virtual void setAddPointButtonVisible(bool flag);
321 
323  virtual void setAddPointButtonEnabled(bool flag);
324 
326  virtual void setAdjustAltitudeButtonVisible(bool flag);
327 
329  virtual void setAdjustAltitudeButtonEnabled(bool flag);
330 
332  virtual void setRemovePointButtonVisible(bool flag);
333 
335  virtual void setRemovePointButtonEnabled(bool flag);
336 
338  virtual void setShowStyleButton(bool flag);
339 
341  virtual void setControlButtonsVisible(bool flag);
342 
344  virtual void setAttachObjectToMouse(bool);
345 
347  virtual DtDialogInteractionMode interactionMode();
348 
350  virtual void populate(const makVrv::DtUniqueID&);
351 
353  virtual void populate(const DtCreateObjectCommand* cmd);
354 
356  virtual bool blockSignals(bool);
357 
359  virtual void addOverlay(const QString& name);
360 
362  virtual void removeOverlay(const QString& name);
363 
365  virtual void renameOverlay(const QString& oldName, const QString& newName);
366 
368  virtual void setOverlay(const QString& name);
369 
371  virtual void setPublishObjectVisible(bool);
372 
374  virtual void setPublishObject(bool);
375  virtual bool publishObject() const;
376 
378  virtual void clearOverlays();
379 
381  virtual void populateOverlays();
382 
384  virtual void populateForces();
385 
386  virtual void setAltitudeAboveTerrain(int row, double alt);
387 
388  bool attachedToMouse() const;
389 
392  virtual double altitude(int) const;
393 
395  virtual void setAltitude(int, double, bool blocked = false);
396 
398  virtual void setAltitudeAllowed(bool);
399 
401  virtual void setShowForces(bool);
402 
404  virtual void setReadOnly(bool);
405 
407  virtual void setReadOnly(int, bool);
408 
409  virtual void setColor(unsigned int color);
410 
411  virtual void setXLabel(const QString&);
412  virtual void setYLabel(const QString&);
413  virtual void setZLabel(const QString&);
414  virtual void adjustAltitudeAdjustmentDialogLabels();
415 
416  virtual void setupForCoordinateSystemAndUnits(makVrv::DtSharedDisplayUnitsSettings::CoordSys,
417  makVrv::DtSharedDisplayUnitsSettings::DistanceUnits);
418 
420  virtual void refreshLocs();
421  virtual void refreshLocs(const std::vector<DtGeodeticCoord>&);
422 
423  virtual void clearSelection();
424 
426  virtual void clearForces();
427 
429  virtual void addForce(const QString& name, int force);
430 
432  virtual void setForce(int force);
433 
435  virtual void addExtension(QWidget*);
436 
438  virtual void removeExtension(QWidget*);
439 
441  virtual void showPropertiesDialog(bool);
442 
444  virtual void setTerrainProfileButtonEnabled(bool);
445  virtual void setTerrainProfileButtonVisible(bool);
446 
447  protected:
448 
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);
455 
457  virtual void setupGui();
458 
460  virtual void setupConnections();
461 
463  virtual void closeEvent(QCloseEvent *event);
464 
469  virtual QDialog* createAltitudeAdjustmentDialog();
470 
472  virtual DtShapeObjectDefinitionDialogLogic* createLogic();
473 
474  public slots:
475 
477  virtual void slot_onShapeLocationsCellChanged(int, int);
478 
480  virtual void slot_altitudeTypeChanged();
481 
482  protected slots:
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();
503 
504  public:
505 
506  Ui_ShapeObjectDefinitionWidgetUi myUiImpl;
507 
508  protected:
509 
516  unsigned int myBackgroundColor;
517  };
518 
520  {
521  public:
522  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
524 
525  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
528  };
529 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)