VR-Forces 4.3 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) 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 #include <QtGui/QItemDelegate>
22 #include <QtGui/QTableWidget>
23 
24 class DtReferenceEllipsoid;
25 class QDialog;
26 class QDoubleValidator;
27 
28 namespace makVrf
29 {
30  class DtShapeObjectDefinitionDialog;
31  class DtVrfObjectManipulationHandlerBaseClass;
32  class DtHeadingEntryWidget;
33  class DtExtendedLabelsEntryWidget;
34  class DtForceSelectionEntryWidget;
35  class DtShapeValidatingTableWidget;
36 
41  {
42 
43  public:
44 
47 
50 
52  virtual void createConnections();
53 
55  virtual void terminateConnections();
56 
58  virtual void processLocationEdited(int currentRow=-1);
59 
61  virtual void processSelectLocation(int);
62 
64  virtual void processAddNewPoint();
65 
67  virtual void processRemovePoint(int index);
68 
70  virtual void processObjectCreation();
71 
73  virtual void processObjectUpdate();
74 
76  virtual void processDoneRequest();
77 
79  virtual void processCloseRequest();
80 
82  virtual void processCellEdited(int, int);
83 
85  virtual void processCellEntered(int, int);
86 
88  virtual void processNamePrefixEdited();
89 
91  virtual void processLabelEdited(const std::string& name);
92 
94  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
95 
97  virtual void processItemSelectionChanged();
98 
102  virtual void processPopulateDialog(const makVrv::DtUniqueID& id );
103 
104  virtual void headingChanged();
105 
106  virtual bool inGeocentric() const;
107 
109  virtual void setupGui();
110 
112  virtual void updateLocations(const std::vector<DtGeodeticCoord>& locs);
113 
115  virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
116 
118  virtual void populateOverlays();
119 
120  virtual void setForce(int);
121 
123  virtual void processAltitudeTypeChanged();
124 
125  virtual void attachToMouseChanged(bool b);
126 
127  virtual DtGeodeticCoord convertToGeodetic(const DtVector&) const;
128  virtual DtVector convertToLocal(const DtGeodeticCoord&) const;
129 
130  virtual void adjustAltitudesBy(double);
131  virtual void setAltitudesTo(DtAltitudeClampType, double);
132 
134  virtual void processItemAdded(int);
135 
138  virtual void showTerrainProfile();
139 
141  virtual void slot_pointSamplingRateChanged(int);
142 
144  virtual void slot_lineWidthChanged(int);
145 
147  virtual void slot_penStyleChanged(int);
148 
150  virtual void slot_arrowDataChanged(const std::string& s);
151 
153  virtual void slot_fillDataChanged(int);
154 
156  virtual void reversePoints();
157  virtual void updateButtons();
158 
159  protected:
160 
161  virtual void setupLabels();
162 
164  virtual void closeDialog();
165 
166  virtual void slot_headingChangedByMouse(double headingInDeg);
167 
169  virtual void slot_onMouseLocationChanged(const DtVector& loc);
170 
172  virtual void slot_onMouseAltitudeChanged(double heading);
173 
175  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
176 
178  virtual void slot_onPlacement(const DtVector& loc);
179 
181  virtual void slot_onColorChanged(int);
182 
184  virtual void slot_onLocationAdded(const DtVector& loc);
185 
187  virtual void slot_onOverlayNameChanged(const std::string& name);
188 
190  virtual void slot_onForceChanged(int);
191 
192  virtual void objectCreated();
193 
194  virtual void slot_onCoordinateSystemChanged(
196  virtual void slot_onDisplayUnitDecimalsChanged(int);
197 
198  virtual void slot_onUnitChanged(int attribute, int from);
199 
200  virtual void restoreLocations();
201  virtual void backupLocations();
202 
204  virtual void slot_overlayAdded(const std::string&);
205 
207  virtual void slot_overlayRemoved(const std::string&);
208 
210  virtual void slot_overlayRenamed(const std::string&, const std::string&);
211 
213  virtual void slot_onPublishObjectChanged(bool);
214 
215  protected:
216 
219  DtReferenceEllipsoid* myReferenceForConversion;
223  std::vector<DtGeodeticCoord> myBackupLocations;
225  };
226 
227 
232  {
233 
234  Q_OBJECT
235 
236  public:
237 
239  DtShapeObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
240 
243 
244  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
246 
248  virtual void closeDialog();
249 
251  virtual void setLocationInGridFor(int row, const DtGeodeticCoord&,
254 
256  virtual bool validateDMS(const std::string& str) const;
257 
259  virtual void addLocation(const DtVector& loc, int index = -1);
260 
262  virtual void removePoint(int);
263 
265  virtual void setUseInputValidation(bool b);
266 
268  virtual void insertLocation(int index, const DtVector& loc);
269 
271  virtual void selectLocation(int index);
272 
274  virtual DtGeodeticCoord getLocation(int index);
275 
277  virtual QString getName();
278 
280  virtual void hideDialog();
281 
283  virtual int selectedPointIndex() const;
284 
286  virtual int rowCount() const;
287 
289  virtual void setAltitudeAboveTerrain(bool);
290 
292  virtual bool altitudeAboveTerrain() const;
293 
295  virtual void setAttachedToMouseVisible(bool);
296 
298  virtual void setName(const QString& name);
299 
301  virtual void setLabel(const QString& name);
302 
304  virtual void setExtendedLabels(const std::map<int, DtString>& lab);
305 
307  virtual void setLabelEntryVisible(bool);
308 
310  virtual void setNameVisible(bool flag);
311 
313  virtual void setTitle(const QString& title);
314 
316  virtual void setCreateButtonEnabled(bool flag);
317 
318  virtual void setAdjustStyleEnabled(bool);
319 
321  virtual void setCreateButtonText(const QString& text);
322 
324  virtual void setCreateButtonVisible(bool flag);
325 
327  virtual void setUpdateButtonEnabled(bool flag);
328 
330  virtual void setUpdateButtonVisible(bool flag);
331 
333  virtual void setAllowOverlaySelection(bool flag);
334 
336  virtual void setUpdateButtonText(const QString& text);
337 
339  virtual void setDoneButtonEnabled(bool flag);
340 
342  virtual void setDoneButtonVisible(bool flag);
343 
345  virtual void setUpButtonVisible(bool flag);
346 
348  virtual void setDownButtonVisible(bool flag);
349 
351  virtual void setAddPointButtonVisible(bool flag);
352 
354  virtual void setAddPointButtonEnabled(bool flag);
355 
357  virtual void setAdjustAltitudeButtonVisible(bool flag);
358 
360  virtual void setAdjustAltitudeButtonEnabled(bool flag);
361 
363  virtual void setRemovePointButtonVisible(bool flag);
364 
366  virtual void setRemovePointButtonEnabled(bool flag);
367 
369  virtual void setShowStyleButton(bool flag);
370 
372  virtual void setShowColorButton(bool flag);
373 
375  virtual void setControlButtonsVisible(bool flag);
376 
378  virtual void setAttachObjectToMouse(bool);
379 
381  virtual DtDialogInteractionMode interactionMode();
382 
384  virtual void populate(const makVrv::DtUniqueID&);
385 
387  virtual void populate(const DtCreateObjectCommand* cmd);
388 
390  virtual bool blockSignals(bool);
391 
393  virtual void addOverlay(const QString& name, bool translate = true);
394 
396  virtual void removeOverlay(const QString& name);
397 
399  virtual void renameOverlay(const QString& oldName, const QString& newName);
400 
402  virtual void setOverlay(const QString& name);
403 
405  virtual void setPublishObjectVisible(bool);
406 
408  virtual void setPublishObject(bool);
409  virtual bool publishObject() const;
410 
412  virtual void clearOverlays();
413 
415  virtual void populateOverlays();
416 
418  virtual void setAltitudeAboveTerrain(int row, double alt);
419 
420  bool attachedToMouse() const;
421 
424  virtual double altitude(int) const;
425 
427  virtual void setAltitude(int, double, bool blocked = false);
428 
430  virtual void setAltitudeAllowed(bool);
431  bool altitudeAllowed() const
432  {
433  return myAltitudeAllowed;
434  }
435 
436  bool altitudeShown() const
437  {
438  return myAltitudeShown;
439  }
440 
442  virtual void setShowForces(bool);
443 
445  virtual void setReadOnly(bool);
446 
448  virtual void setReadOnly(int, bool);
449 
450  virtual void setColor(unsigned int color);
451 
452  virtual void setXLabel(const QString&);
453  virtual void setYLabel(const QString&);
454  virtual void setZLabel(const QString&);
455  virtual void adjustAltitudeAdjustmentDialogLabels();
456 
457  virtual void setupForCoordinateSystemAndUnits(makVrv::DtSharedDisplayUnitsSettings::CoordSys,
459 
461  virtual void setAllowHeadingChange(bool);
462 
464  virtual void setHeading(double);
465 
467  virtual double heading() const;
468 
470  virtual void refreshLocs();
471  virtual void refreshLocs(const std::vector<DtGeodeticCoord>&);
472 
473  virtual void clearSelection();
474 
476  virtual void setForce(int force);
477 
479  virtual void addExtension(QWidget*);
480 
482  virtual void removeExtension(QWidget*);
483 
485  virtual void showPropertiesDialog(bool);
486 
488  virtual void setTerrainProfileButtonEnabled(bool);
489  virtual void setTerrainProfileButtonVisible(bool);
490 
492  virtual void includeSpacer(bool);
493  virtual bool extendedLabelsValid() const;
494 
495  protected:
496 
500  virtual void addLocationIntoList(const DtGeodeticCoord& loc, int pos=-1,
503 
505  virtual void setupGui();
506 
508  virtual void setupConnections();
509 
511  virtual void closeEvent(QCloseEvent *event);
512 
517  virtual QDialog* createAltitudeAdjustmentDialog();
518 
520  virtual DtShapeObjectDefinitionDialogLogic* createLogic();
521 
522  public slots:
523 
525  virtual void slot_onShapeLocationsCellChanged(int, int);
526 
528  virtual void slot_altitudeTypeChanged();
529 
530  protected slots:
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();
553 
554  public:
555 
556  Ui_ShapeObjectDefinitionWidgetUi myUiImpl;
561 
562  protected:
563 
571  unsigned int myBackgroundColor;
572  DtEntityType myEditingType;
573  };
574 
576  {
577  public:
578  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
580 
581  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
583  const DtEditingType& editType);
584  };
585 
587  {
588  public:
590  virtual ~DtShapeTableValidator();
591 
592  protected:
593  virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
594  const QModelIndex &index) const;
595 
596  protected:
598  QDoubleValidator* myValidator;
599  QDoubleValidator* myLatValidator;
600  QDoubleValidator* myLonValidator;
602  };
603 
605  {
606  public:
608  virtual ~DtShapeValidatingTableWidget();
609 
611  virtual void commitData(QWidget *editor);
612  virtual bool validateDMS(const std::string&) const;
613 
614  protected:
616  };
617 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)