VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEnvironmentConditionsWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
14 
15 #include <QtCore/QList>
16 #include <QtCore/QString>
17 #include <QtWidgets/QWidget>
18 
19 class QButtonGroup;
20 class QCheckBox;
21 class QColor;
22 class QComboBox;
23 class QDial;
24 class QDoubleSpinBox;
25 class QHBoxLayout;
26 class QLabel;
27 class QPushButton;
28 class QRadioButton;
29 class QSignalMapper;
30 class QSlider;
31 class QTreeWidget;
32 class QTreeWidgetItem;
33 class QVBoxLayout;
34 
35 namespace makVrv
36 {
37 
38  class DtColorPushButton;
39  class DtSliderDoubleSpinboxWidget;
40  class DtSliderSpinboxWidget;
41  class DtWindDirectionWidget;
42 
43 
47  : public QWidget, public DtEnvironmentConditionsInterface
48  {
49  Q_OBJECT
50 
51  protected:
52 
53  typedef enum
54  {
55  CloudTreeColumnType = 0,
60 
61  } CloudTreeColumnLabelIndices;
62 
63  public:
69  DtDe& de, QWidget* parent = NULL, Qt::WindowFlags flags = 0);
70 
73 
77 
80  virtual void setEnvironmentConditionsNames(const std::list<DtUnicode>& names);
81 
84  virtual StringList environmentConditionNames() const;
85 
88  virtual void setDefaultConditionName(const DtUnicode& name);
89 
92  virtual void setAdvanceConditionsVisible(bool show);
93 
95 
99 
105  virtual void setWindSpeed(double speed);
106 
110  virtual void setWindSpeedDecimals(int decimals);
111 
115  virtual void setWindSpeedUnits(const DtUnicode& units);
116 
122  virtual void setWindSpeedRange(double step, double max, double min = 0.0);
123 
126  virtual void setWindDirection(double degrees);
127 
131  virtual void setPrecipitationType(unsigned int type);
132 
135  virtual void setPrecipitationIntensity(double intensity);
136 
142  virtual void setVisibleDistance(double distance);
143 
147  virtual void setVisibleDistanceDecimals(int decimals);
148 
152  virtual void setVisibleDistanceUnits(const DtUnicode& units);
153 
159  virtual void setVisibleDistanceRange(
160  double step, double max, double min = 0.0);
161 
163 
167 
175  virtual void addCloudLayer(const DtUnicode& type,
176  const DtUnicode& xLocation, const DtUnicode& yLocation,
177  const DtUnicode& altitude, bool enabled, bool infinite);
178 
187  virtual void setCloudLayer(unsigned int index, const DtUnicode& type,
188  const DtUnicode& xLocation, const DtUnicode& yLocation,
189  const DtUnicode& altitude, bool enabled, bool infinite);
190 
192  virtual void removeAllCloudLayers();
193 
196  virtual void removeCloudLayer(unsigned int index);
197 
201  virtual void setCloudLayerEnabled(unsigned int index, bool enabled);
202 
205  virtual void setCloudCover( DtVrfWeatherCloudState cloudCover );
206 
211  virtual void setAxisLabels(
212  const DtUnicode& x, const DtUnicode& y, const DtUnicode& z);
213 
216  virtual void queryUserForNewCloudLayer();
217 
220  virtual void queryUserToEditCloudLayer(unsigned int index);
221 
222 
228  virtual void setFogHeight(double height);
229 
233  virtual void setFogHeightDecimals(int decimals);
234 
238  virtual void setFogHeightUnits(const DtUnicode& units);
239 
244  virtual void setFogHeightRange(double step, double max, double min = 0.0);
245 
251  virtual void setFogColor(double red, double green, double blue);
252 
255  virtual void setAirTurbidity(double turbidity);
256 
258 
262 
265  virtual void setSwellStateNames(const StringList& names);
266 
269  virtual StringList swellStateNames() const;
270 
274  virtual void setSwellState(unsigned int index);
275 
278  virtual void setSwellState(const DtUnicode& name);
279 
282  virtual void setSwellStateDirection(double degrees);
283 
288  virtual void enableWindDrivenSeaState(bool enable);
289 
292  virtual void setSeaStateNames(const StringList& names);
293 
296  virtual StringList seaStateNames() const;
297 
301  virtual void setSeaState(unsigned int index);
302 
305  virtual void setSeaState(const DtUnicode& name);
306 
309  virtual void setSeaStateDirection(double degrees);
310 
312 
316 
319  virtual void setSurfaceTransparency(double alpha);
320 
323  virtual void setUnderwaterVisibilityEnabled(bool enabled);
324 
330  virtual void setUnderwaterVisibility(double distance);
331 
335  virtual void setUnderwaterVisibilityDecimals(int decimals);
336 
340  virtual void setUnderwaterVisibilityUnits(const DtUnicode& units);
341 
347  virtual void setUnderwaterVisibilityRange(
348  double step, double max, double min = 0.0);
349 
352  virtual void setWaterChoppiness(double chop);
353 
359  virtual void setWindFetch(double distance);
360 
364  virtual void setWindFetchDecimals(int decimals);
365 
369  virtual void setWindFetchUnits(const DtUnicode& units);
370 
376  virtual void setWindFetchRange(double step, double max, double min = 0.0);
377 
380  virtual void setSurgeDepth(double depth);
381 
385  virtual void setSurgeDepthDecimals(int decimals);
386 
390  virtual void setSurgeDepthUnits(const DtUnicode& units);
391 
397  virtual void setSurgeDepthRange(
398  double step, double max, double min = 0.0);
399 
402  virtual void setDepthOffset(double offset);
403 
407  virtual void setTidalCurrentSpeedDecimals(int decimals);
408 
412  virtual void setTidalCurrentSpeedUnits(const DtUnicode& units);
413 
419  virtual void setTidalCurrentSpeedRange(double step, double max, double min = 0.0);
420 
423  virtual void setTidalCurrentSpeed(double speed);
424 
428  virtual void setTidalCurrentDirectionDecimals(int decimals);
429 
433  virtual void setTidalCurrentDirectionUnits(const DtUnicode& units);
434 
440  virtual void setTidalCurrentDirectionRange(double step, double max,
441  double min = 0.0);
442 
445  virtual void setTidalCurrentDirection(double direction);
446 
448 
449 
452 
455  virtual void setListenToRemoteWeather(bool enable);
456 
458 
459 
460  protected slots:
461 
465 
466  virtual void on_selectEnvironmentConditions(const QString&);
467  virtual void on_environmentConditionClicked(const QString&);
468 
469  virtual void on_windSpeedValueChanged(double);
470  virtual void on_windDirectionValueChanged(double);
471 
472  virtual void on_precipitationTypeClicked(int);
473  virtual void on_precipitationIntensityValueChanged(int);
474 
475  virtual void on_visibilityValueChanged(double);
476  virtual void on_cloudCoverChanged(int);
477 
478  virtual void on_addCloudLayerClicked();
479  virtual void on_cloudLayerChanged(QTreeWidgetItem*, int);
480  virtual void on_editCloudLayerClicked();
481  virtual void on_editCloudLayerDoubleClicked(QTreeWidgetItem*, int);
482  virtual void on_deleteCloudLayerClicked();
483  virtual void on_cloudLayerSelectionChanged();
484 
485  virtual void on_fogHeightValueChanged(double);
486  virtual void on_fogColorValueChanged(const QColor&);
487  virtual void on_airTurbidityChanged(int);
488 
489  virtual void on_swellStateChanged(int);
490  virtual void on_swellStateDirectionChanged(double);
491 
492  virtual void on_windDrivenSeaStateEnabledChanged(const QString&);
493  virtual void on_seaStateChanged(int);
494  virtual void on_seaStateDirectionChanged(double);
495 
496  virtual void on_seaSurfaceTransparencyChanged(double);
497  virtual void on_underWaterVisibilityEnabledChanged(int);
498  virtual void on_underWaterVisibilityChanged(double);
499  virtual void on_seaChoppinessChanged(int);
500  virtual void on_windFetchChanged(double);
501  virtual void on_surgeDepthChanged(double);
502  virtual void on_depthOffsetChanged(double);
503  virtual void on_tidalCurrentSpeedChanged(double);
504  virtual void on_tidalCurrentDirectionChanged(double);
505 
506  virtual void on_listenToVrfStateChanged(int);
507  virtual void on_refreshVrfWeatherClicked();
508 
510 
511  protected:
514 
518  void setWidgetsEnabled(WidgetList& widgets, bool enable) const;
519 
523  void setWidgetEnabled(QWidget& widget, bool enable) const;
524 
528  void setWidgetsVisible(WidgetList& widgets, bool show) const;
529 
533  void setWidgetVisible(QWidget& widget, bool show) const;
534 
535  private:
538  void setupGui();
539 
542  void connectToSignals();
543 
548  void setStringsToComboBox(
549  QComboBox& cbox, const StringList& lst, bool srt=true) const;
550 
554  StringList getStringsFromComboBox(const QComboBox& cbox) const;
555 
560  void setQStringsToComboBox(
561  QComboBox& cbox, QStringList lst, bool srt=true) const;
562 
566  QStringList getQStringsFromComboBox(const QComboBox& cbox) const;
567 
568  protected:
569  QVBoxLayout* myMainLayout;
570  QHBoxLayout* myConditionsLayout;
571  QVBoxLayout* myWeatherLayout;
573  QVBoxLayout* myMarineLayout;
576 
577  QSignalMapper* myConditionsSignalMapper;
586 
588 
592 
595  QRadioButton* myPrecipitationNone;
596  QRadioButton* myPrecipitationRain;
597  QRadioButton* myPrecipitationSnow;
600 
603 
604  QHBoxLayout* myCloudLayersLayout;
607 
608  // Not currently used
613  //
614 
617 
619 
624 
627 
629 
632 
633  QSignalMapper* mySeaStateSignalMapper;
634  QButtonGroup* mySeaStateButtonGroup;
635  QRadioButton* mySeaStateWindDriven;
636  QRadioButton* mySeaStateManual;
639 
642 
644 
662 
665 
670  };
671 
672 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)