VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
shapeObjectDefinitionDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 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 #include <QtGui/QItemDelegate>
22 #include <QtGui/QTableWidget>
23 
24 class DtReferenceEllipsoid;
25 class QDialog;
26 class QDoubleValidator;
27 class DtSetDataRequest;
28 
29 namespace makVrf
30 {
31  class DtEmbarkationWidget;
32  class DtShapeObjectDefinitionDialog;
33  class DtVrfObjectManipulationHandlerBaseClass;
34  class DtHeadingEntryWidget;
35  class DtExtendedLabelsEntryWidget;
36  class DtForceSelectionEntryWidget;
37  class DtShapeValidatingTableWidget;
38  class DtAltitudeEntryWidget;
39 
44  {
45 
46  public:
47 
50 
53 
55  virtual void createConnections();
56 
58  virtual void terminateConnections();
59 
61  virtual void processLocationEdited(int currentRow=-1);
62 
64  virtual void processSelectLocation(int);
65 
67  virtual void processAddNewPoint();
68 
70  virtual void processRemovePoint(int index);
71 
73  virtual void processObjectCreation();
74 
76  virtual void processObjectUpdate();
77 
79  virtual void processDoneRequest();
80 
82  virtual void processCloseRequest();
83 
85  virtual void processCellEdited(int, int);
86 
88  virtual void processCellEntered(int, int);
89 
91  virtual void processNamePrefixEdited();
92 
94  virtual void processLabelEdited(const std::string& name);
95 
97  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
98 
100  virtual void processItemSelectionChanged();
101 
105  virtual void processPopulateDialog(const makVrv::DtUniqueID& id );
106 
107  virtual void headingChanged();
108 
109  virtual bool inGeocentric() const;
110 
112  virtual void setupGui();
113 
115  virtual void updateLocations(const std::vector<DtGeodeticCoord>& locs);
116 
118  virtual bool isLine() const;
119 
121  virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
122 
124  virtual void populateOverlays();
125 
126  virtual void setForce(int);
127 
129  virtual void processAltitudeTypeChanged();
130 
131  virtual void attachToMouseChanged(bool b);
132 
133  virtual DtGeodeticCoord convertToGeodetic(const DtVector&) const;
134  virtual DtVector convertToLocal(const DtGeodeticCoord&) const;
135 
136  virtual void adjustAltitudesBy(double);
137  virtual void setAltitudesTo(DtAltitudeClampType, double);
138 
140  virtual void processItemAdded(int);
141 
144  virtual void showTerrainProfile();
145 
147  virtual void slot_pointSamplingRateChanged(int);
148 
150  virtual void slot_lineWidthChanged(int);
151 
153  virtual void slot_penStyleChanged(int);
154 
156  virtual void slot_arrowDataChanged(const std::string& s);
157 
159  virtual void slot_fillDataChanged(int);
160 
161  virtual int fillStyle() const;
162 
163  virtual void slot_onFloorChanged(double);
164  virtual void slot_onCeilingChanged(double);
165  virtual void slot_onFloorSet(double);
166  virtual void slot_onCeilingSet(double);
167 
169  virtual void reversePoints();
170  virtual void updateButtons();
171 
172  virtual void setActivationTime();
173 
175  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
176 
177  protected:
178 
179  virtual void setupLabels();
180 
182  virtual void closeDialog();
183 
184  virtual void slot_headingChangedByMouse(double headingInDeg);
185 
187  virtual void slot_onMouseLocationChanged(const DtVector& loc);
188 
190  virtual void slot_onMouseAltitudeChanged(double heading);
191 
193  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
194 
196  virtual void slot_onPlacement(const DtVector& loc);
197 
199  virtual void slot_onColorChanged(int);
200 
202  virtual void slot_onLocationAdded(const DtVector& loc);
203 
205  virtual void slot_onOverlayNameChanged(const std::string& name);
206 
208  virtual void slot_onForceChanged(int);
209 
210  virtual void objectCreated();
211 
212  virtual void slot_onCoordinateSystemChanged(
214  virtual void slot_onDisplayUnitDecimalsChanged(int);
215 
216  virtual void slot_onUnitChanged(int attribute, int from);
217 
218  virtual void restoreLocations();
219  virtual void backupLocations();
220 
221 
223  virtual void setupActivationTime(const DtSetDataRequest& setReq);
224 
226  virtual void slot_overlayAdded(const std::string&);
227 
229  virtual void slot_overlayRemoved(const std::string&);
230 
232  virtual void slot_overlayRenamed(const std::string&, const std::string&);
233 
235  virtual void slot_onPublishObjectChanged(bool);
236 
237  protected:
238 
241  DtReferenceEllipsoid* myReferenceForConversion;
244  std::vector<DtGeodeticCoord> myBackupLocations;
246  };
247 
248 
253  {
254 
255  Q_OBJECT
256 
257  public:
258 
260  DtShapeObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
261 
264 
265  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
267 
269  virtual void closeDialog();
270 
272  virtual void setLocationInGridFor(int row, const DtGeodeticCoord&,
275 
277  virtual bool validateDMS(const std::string& str) const;
278 
280  virtual void addLocation(const DtVector& loc, int index = -1);
281 
283  virtual void setEmbarkationAllowed( bool flag );
284 
285  virtual void clear();
286 
288  virtual void removePoint(int);
289 
291  virtual void setUseInputValidation(bool b);
292 
294  virtual void insertLocation(int index, const DtVector& loc);
295 
297  virtual void selectLocation(int index);
298 
300  virtual DtGeodeticCoord getLocation(int index);
301 
303  virtual QString getName();
304 
306  virtual void hideDialog();
307 
309  virtual int selectedPointIndex() const;
310 
312  virtual int rowCount() const;
313 
315  virtual void setAltitudeAboveTerrain(bool);
316 
318  virtual bool altitudeAboveTerrain() const;
319 
321  virtual void setAttachedToMouseVisible(bool);
322 
324  virtual void setName(const QString& name);
325 
327  virtual void setLabel(const QString& name);
328 
330  virtual void setExtendedLabels(const std::map<int, DtString>& lab);
331 
333  virtual void setLabelEntryVisible(bool);
334 
336  virtual void setNameVisible(bool flag);
337 
339  virtual void setSetActivationTimeVisible(bool flag);
340 
342  virtual void setTitle(const QString& title);
343 
345  virtual void setCreateButtonEnabled(bool flag);
346 
347  virtual void setAdjustStyleEnabled(bool);
348 
350  virtual void setCreateButtonText(const QString& text);
351 
353  virtual void setCreateButtonVisible(bool flag);
354 
356  virtual void setUpdateButtonEnabled(bool flag);
357 
359  virtual void setUpdateButtonVisible(bool flag);
360 
362  virtual void setAllowOverlaySelection(bool flag);
363 
365  virtual void setUpdateButtonText(const QString& text);
366 
368  virtual void setDoneButtonEnabled(bool flag);
369 
371  virtual void setDoneButtonVisible(bool flag);
372 
374  virtual void setShowFloorCeiling(bool);
375 
377  virtual void setFloor(double);
378  virtual double floor() const;
379  virtual void setFloorLabel(const QString&);
380  boost::signal<void (double)> signal_floorChanged;
381 
382  virtual void setCeiling(double);
383  virtual double ceiling() const;
384  virtual void setCeilingLabel(const QString&);
385  boost::signal<void (double)> signal_ceilingChanged;
386 
388  virtual void setUpButtonVisible(bool flag);
389 
391  virtual void setDownButtonVisible(bool flag);
392 
394  virtual void setAddPointButtonVisible(bool flag);
395 
397  virtual void setAddPointButtonEnabled(bool flag);
398 
400  virtual void setAdjustAltitudeButtonVisible(bool flag);
401 
403  virtual void setAdjustAltitudeButtonEnabled(bool flag);
404 
406  virtual void setRemovePointButtonVisible(bool flag);
407 
409  virtual void setRemovePointButtonEnabled(bool flag);
410 
412  virtual void setShowStyleButton(bool flag);
413 
415  virtual void setShowColorButton(bool flag);
416 
418  virtual void setControlButtonsVisible(bool flag);
419 
421  virtual void setAttachObjectToMouse(bool);
422 
424  virtual DtDialogInteractionMode interactionMode();
425 
427  virtual void populate(const makVrv::DtUniqueID&);
428 
430  virtual void populate(const DtCreateObjectCommand* cmd);
431 
433  virtual bool blockSignals(bool);
434 
436  virtual void addOverlay(const QString& name, bool translate = true);
437 
439  virtual void removeOverlay(const QString& name);
440 
442  virtual void renameOverlay(const QString& oldName, const QString& newName);
443 
445  virtual void setOverlay(const QString& name);
446 
448  virtual void setPublishObjectVisible(bool);
449 
451  virtual void setPublishObject(bool);
452  virtual bool publishObject() const;
453 
455  virtual void clearOverlays();
456 
458  virtual void populateOverlays();
459 
461  virtual void setAltitudeAboveTerrain(int row, double alt);
462 
463  bool attachedToMouse() const;
464 
467  virtual double altitude(int) const;
468 
470  virtual void setAltitude(int, double, bool blocked = false);
471 
473  virtual void setAltitudeAllowed(bool);
474  bool altitudeAllowed() const
475  {
476  return myAltitudeAllowed;
477  }
478 
479  bool altitudeShown() const
480  {
481  return myAltitudeShown;
482  }
483 
485  virtual void setShowForces(bool);
486 
488  virtual void setReadOnly(bool);
489 
491  virtual void setReadOnly(int, bool);
492 
493  virtual void setColor(unsigned int color);
494 
495  virtual void setXLabel(const QString&);
496  virtual void setYLabel(const QString&);
497  virtual void setZLabel(const QString&);
498  virtual void adjustAltitudeAdjustmentDialogLabels();
499 
500  virtual void setupForCoordinateSystemAndUnits(makVrv::DtSharedDisplayUnitsSettings::CoordSys,
502 
504  virtual void setAllowHeadingChange(bool);
505 
507  virtual void setHeading(double);
508 
510  virtual double heading() const;
511 
513  virtual void refreshLocs();
514  virtual void refreshLocs(const std::vector<DtGeodeticCoord>&);
515 
516  virtual void clearSelection();
517 
519  virtual void setForce(int force);
520 
522  virtual void addExtension(QWidget*);
523 
525  virtual void removeExtension(QWidget*);
526 
528  virtual void showPropertiesDialog(bool);
529 
531  virtual void setTerrainProfileButtonEnabled(bool);
532  virtual void setTerrainProfileButtonVisible(bool);
533 
535  virtual void includeSpacer(bool);
536  virtual bool extendedLabelsValid() const;
537 
539  virtual void setEmbarkationWidgetVisible( bool flag );
540 
541  DtEmbarkationWidget* embarkationWidget()
542  {
543  return myEmbarkationWidget;
544  }
545 
546  virtual QSize minimumSizeHint() const;
547 
548  protected:
549 
553  virtual void addLocationIntoList(const DtGeodeticCoord& loc, int pos=-1,
556 
558  virtual void setupGui();
559 
561  virtual void setupConnections();
562 
564  virtual void closeEvent(QCloseEvent *event);
565 
570  virtual QDialog* createAltitudeAdjustmentDialog();
571 
573  virtual DtShapeObjectDefinitionDialogLogic* createLogic();
574  virtual bool showAlpha() const;
575 
576  public slots:
577 
579  virtual void slot_onShapeLocationsCellChanged(int, int);
580 
582  virtual void slot_altitudeTypeChanged();
583 
584  protected slots:
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();
610 
611  public:
612 
613  Ui_ShapeObjectDefinitionWidgetUi myUiImpl;
621 
622  protected:
631  unsigned int myBackgroundColor;
632  DtEntityType myEditingType;
633  };
634 
636  {
637  public:
638  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
640 
641  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
643  const DtEditingType& editType);
644  };
645 
647  {
648  public:
650  virtual ~DtShapeTableValidator();
651 
652  protected:
653  virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
654  const QModelIndex &index) const;
655 
656  protected:
658  QDoubleValidator* myValidator;
659  QDoubleValidator* myLatValidator;
660  QDoubleValidator* myLonValidator;
662  };
663 
665  {
666  public:
668  virtual ~DtShapeValidatingTableWidget();
669 
671  virtual void commitData(QWidget *editor);
672  virtual bool validateDMS(const std::string&) const;
673 
674  protected:
676  };
677 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)