VR-Forces 4.1.1 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>
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(
180 
181  virtual void slot_onUnitChanged(int attribute, int from);
182 
183  virtual void restoreLocations();
184  virtual void backupLocations();
185 
187  virtual void slot_overlayAdded(const std::string&);
188 
190  virtual void slot_overlayRemoved(const std::string&);
191 
193  virtual void slot_overlayRenamed(const std::string&, const std::string&);
194 
196  virtual void slot_onPublishObjectChanged(bool);
197 
198  protected:
199 
202  DtReferenceEllipsoid* myReferenceForConversion;
206  std::vector<DtGeodeticCoord> myBackupLocations;
208  };
209 
210 
215  {
216 
217  Q_OBJECT
218 
219  public:
220 
222  DtShapeObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
223 
226 
227  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
229 
231  virtual void closeDialog();
232 
234  virtual void setLocationInGridFor(int row, const DtGeodeticCoord&,
237 
239  virtual void addLocation(const DtVector& loc, int index = -1);
240 
242  virtual void removePoint(int);
243 
245  virtual void insertLocation(int index, const DtVector& loc);
246 
248  virtual void selectLocation(int index);
249 
251  virtual DtGeodeticCoord getLocation(int index);
252 
254  virtual QString getName();
255 
257  virtual void hideDialog();
258 
260  virtual int selectedPointIndex() const;
261 
263  virtual int rowCount() const;
264 
266  virtual void setAltitudeAboveTerrain(bool);
267 
269  virtual bool altitudeAboveTerrain() const;
270 
272  virtual void setAttachedToMouseVisible(bool);
273 
275  virtual void setName(const QString& name);
276 
278  virtual void setNameVisible(bool flag);
279 
281  virtual void setTitle(const QString& title);
282 
284  virtual void setCreateButtonEnabled(bool flag);
285 
286  virtual void setAdjustStyleEnabled(bool);
287 
289  virtual void setCreateButtonText(const QString& text);
290 
292  virtual void setCreateButtonVisible(bool flag);
293 
295  virtual void setUpdateButtonEnabled(bool flag);
296 
298  virtual void setUpdateButtonVisible(bool flag);
299 
301  virtual void setAllowOverlaySelection(bool flag);
302 
304  virtual void setUpdateButtonText(const QString& text);
305 
307  virtual void setDoneButtonEnabled(bool flag);
308 
310  virtual void setDoneButtonVisible(bool flag);
311 
313  virtual void setUpButtonVisible(bool flag);
314 
316  virtual void setDownButtonVisible(bool flag);
317 
319  virtual void setAddPointButtonVisible(bool flag);
320 
322  virtual void setAddPointButtonEnabled(bool flag);
323 
325  virtual void setAdjustAltitudeButtonVisible(bool flag);
326 
328  virtual void setAdjustAltitudeButtonEnabled(bool flag);
329 
331  virtual void setRemovePointButtonVisible(bool flag);
332 
334  virtual void setRemovePointButtonEnabled(bool flag);
335 
337  virtual void setShowStyleButton(bool flag);
338 
340  virtual void setControlButtonsVisible(bool flag);
341 
343  virtual void setAttachObjectToMouse(bool);
344 
346  virtual DtDialogInteractionMode interactionMode();
347 
349  virtual void populate(const makVrv::DtUniqueID&);
350 
352  virtual void populate(const DtCreateObjectCommand* cmd);
353 
355  virtual bool blockSignals(bool);
356 
358  virtual void addOverlay(const QString& name);
359 
361  virtual void removeOverlay(const QString& name);
362 
364  virtual void renameOverlay(const QString& oldName, const QString& newName);
365 
367  virtual void setOverlay(const QString& name);
368 
370  virtual void setPublishObjectVisible(bool);
371 
373  virtual void setPublishObject(bool);
374  virtual bool publishObject() const;
375 
377  virtual void clearOverlays();
378 
380  virtual void populateOverlays();
381 
383  virtual void populateForces();
384 
385  virtual void setAltitudeAboveTerrain(int row, double alt);
386 
387  bool attachedToMouse() const;
388 
391  virtual double altitude(int) const;
392 
394  virtual void setAltitude(int, double, bool blocked = false);
395 
397  virtual void setAltitudeAllowed(bool);
398 
400  virtual void setShowForces(bool);
401 
403  virtual void setReadOnly(bool);
404 
406  virtual void setReadOnly(int, bool);
407 
408  virtual void setColor(unsigned int color);
409 
410  virtual void setXLabel(const QString&);
411  virtual void setYLabel(const QString&);
412  virtual void setZLabel(const QString&);
413  virtual void adjustAltitudeAdjustmentDialogLabels();
414 
415  virtual void setupForCoordinateSystemAndUnits(makVrv::DtSharedDisplayUnitsSettings::CoordSys,
417 
419  virtual void refreshLocs();
420  virtual void refreshLocs(const std::vector<DtGeodeticCoord>&);
421 
422  virtual void clearSelection();
423 
425  virtual void clearForces();
426 
428  virtual void addForce(const QString& name, int force);
429 
431  virtual void setForce(int force);
432 
434  virtual void addExtension(QWidget*);
435 
437  virtual void removeExtension(QWidget*);
438 
440  virtual void showPropertiesDialog(bool);
441 
443  virtual void setTerrainProfileButtonEnabled(bool);
444  virtual void setTerrainProfileButtonVisible(bool);
445 
446  protected:
447 
451  virtual void addLocationIntoList(const DtGeodeticCoord& loc, int pos=-1,
454 
456  virtual void setupGui();
457 
459  virtual void setupConnections();
460 
462  virtual void closeEvent(QCloseEvent *event);
463 
468  virtual QDialog* createAltitudeAdjustmentDialog();
469 
471  virtual DtShapeObjectDefinitionDialogLogic* createLogic();
472 
473  public slots:
474 
476  virtual void slot_onShapeLocationsCellChanged(int, int);
477 
479  virtual void slot_altitudeTypeChanged();
480 
481  protected slots:
482  virtual void slot_onReversePoints();
483  virtual void slot_itemSelectionChanged();
484  virtual void slot_onCreateButtonClicked();
485  virtual void slot_onUpdateButtonClicked();
486  virtual void slot_onDoneButtonClicked();
487  virtual void slot_onNamePrefixEdited();
488  virtual void slot_closePressed();
489  virtual void slot_onBtnMoveDownClicked();
490  virtual void slot_onBtnMoveUpClicked();
491  virtual void slot_onBtnAddPointClicked();
492  virtual void slot_onBtnRemovePointClicked();
493  virtual void slot_onShapeLocationsCellEntered( int, int);
494  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
495  virtual void slot_onForceComboCurrentIndexChanged(int index);
496  virtual void slot_attachedToMouseChanged();
497  virtual void slot_onAdjustAltitudeClicked();
498  virtual void slot_onShowTerrainProfile();
499  virtual void slot_onPublishObjectChanged();
500  virtual void slot_onBtnColorClicked();
501  virtual void slot_onBtnStyleClicked();
502 
503  public:
504 
505  Ui_ShapeObjectDefinitionWidgetUi myUiImpl;
506 
507  protected:
508 
515  unsigned int myBackgroundColor;
516  };
517 
519  {
520  public:
521  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
523 
524  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
527  };
528 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)