VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scenarioInformationWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvUtil/signalslib.h>
14 
15 #include "scenarioInformationWidgetUi.hpp"
16 #include <map>
17 #include <set>
18 
19 #include <QtGui/QValidator>
20 #include <QtCore/QStringList>
21 
22 class DtScenario;
23 class QLineEdit;
24 class QTextBrowser;
25 class QTextEdit;
26 
27 namespace makVrv
28 {
29  class DtDe;
30 }
31 
32 namespace makVrf
33 {
34  class DtSimulationTimeScaleWidgetSlider;
35  class DtPickListWidget;
36  class DtBrowseField;
37  class DtComboBoxField;
38  class DtTimeEntryWidget;
39 
41  {
42  Q_OBJECT
43 
44  public:
45  typedef std::map<QString,QWidget *> FieldMap;
46  typedef FieldMap::iterator FieldIterator;
47  typedef FieldMap::const_iterator const_FieldIterator;
48 
50  {
51  ScenarioName = 1,
65  FrameTime
66  };
67 
68  public:
69 
70  DtScenarioInformationWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0,
71  bool isNewScenario = false);
72 
73  virtual ~DtScenarioInformationWidget();
74 
75  public:
78  virtual DtBrowseField* addBrowseField(const QString& parentName,
79  const QString& childName,
80  const QString& labelText);
81 
84  virtual DtComboBoxField* addComboBoxField(const QString& parentName,
85  const QString& childName,
86  const QString& labelText);
87 
90  virtual bool addFieldWidget(const QString& parentName, QWidget *pWidget);
91 
93  virtual QWidget* findFieldWidget(const QString& widgetName);
95  virtual bool init();
96 
99  virtual bool setScenario(DtScenario* scenario);
100 
101  virtual bool displayScenarioInformation(const QString &u);
102 
104  virtual void setEditable(bool b);
105 
115  virtual void setDisplayChangeWarningIcon(DtScenarioInformationWidget::DisplayElement, bool);
116 
118  virtual void setShowScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
119 
122  virtual void setEnableScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
123 
126  virtual void setToScenario(DtScenario* scenario);
127 
129  virtual void setComponentAttachRule(int);
130  virtual int componentAttachRule() const;
131 
133  virtual bool displayTerrainValid() const;
134 
136  virtual time_t startDateAndTimeOfDay() const;
137 
139  virtual bool simulationTerrainValid() const;
140 
142  virtual bool simulationModelSetsValid() const;
143 
145  virtual bool frameTimeValid() const;
146 
147  virtual bool valid() const;
148 
149  const QString& selectedScenarioFile() const
150  {
151  return mySelectedScenarioFile;
152  }
153 
155  virtual void setAdvancedInformationEnabled(bool);
156  virtual void showAdvanced(bool b);
157  virtual void setShowComponentAttachCombo(bool);
158  virtual void setCanSelectTerrain(bool);
159 
161  virtual void setShowPreview(bool);
162  virtual bool chooseBackendFileAndSMS();
163 
164  virtual int runDurationTime() const;
165 
166  signals:
167  void simulationFileChanged(const QString&);
168  void simulationModelSetFilesChanged(const QString&);
169 
170  protected:
171  virtual bool chooseFile(QString title, QString ext, QString& file, QString& dirPath);
172  virtual DtSimulationTimeScaleWidgetSlider* createAndInitTimeMultiplierWidget();
173  virtual void secondsToDaysHoursMinutesSeconds(int in, int& days, int& hours, int& minutes, double& seconds) const;
175  virtual int stringToSeconds(const char*) const;
176 
177  virtual void updateEnabledElements();
178 
179  virtual QString cleanPath(const std::string& path) const;
180 
182  virtual std::string simulationModelSetFilesFromCombo() const;
183 
184  public slots:
187  virtual bool chooseBackendFile();
188  virtual void chooseComponentAttachmentFile();
189  virtual bool chooseDisplayFile();
190  virtual bool chooseSimulationModelSetFiles();
191 
192  protected slots:
193  virtual void simulationFileChanged();
194  virtual void simulationModelSetFilesChanged();
195  virtual void useDisplayTerrainChanged();
196  virtual void smsSelectionChanged();
197 
198  virtual void frameModeChanged();
199 
201  virtual void showPreview();
202  virtual void componentAttachmentRuleChangedByUser();
203 
204  protected:
205  virtual void updateTimeOfDay(std::string, std::string);
206 
207  virtual DtPickListWidget* createPickListWidget(QWidget* parent);
208 
210  virtual void parseAllSmsFilesForFileList(const QString& smsFilename,
211  const char* pListNameToFind, QStringList& fileList);
212 
213  virtual void parseSmsForFileList(const QString& smsFilename,
214  const char *pListNameToFind,
215  QStringList& fileList);
216 
217  virtual void populateFromSms(const QString& smsFileName);
218 
219  public:
220  Ui_ScenarioInformationWidgetUi myUiImpl;
221  QDoubleValidator* myDoubleValidator;
224  QTextBrowser* myDescriptionView;
225  QTextEdit* myDescriptionEdit;
227 
228  protected:
231 
232  QStringList myFrameModeStrings;
234 
237 
241  std::set<int> myEnabledElements;
242  };
243 
245  {
246  Q_OBJECT
247 
248  public:
249  DtScenarioPreviewWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0, bool isNewScenario = false);
250 
252 
253  virtual void setEditable(bool b);
254 
256  virtual void setScenario(DtScenario* scenario);
257 
260  virtual void setToScenario(DtScenario* scenario);
261 
263  virtual void setDisplayInformation(bool b);
264 
266  virtual bool displayTerrainValid() const;
267 
269  DtScenarioInformationWidget* scenarioInformationWidget();
270 
272  virtual bool simulationTerrainValid() const;
273 
275  virtual bool simulationModelSetsValid() const;
276 
278  virtual time_t startDateAndTimeOfDay() const;
279 
281  virtual bool frameTimeValid() const;
282 
285  virtual bool selectSimulationTerrain();
286 
289  virtual bool selectSimulationTerrainAndSMS();
290 
291  virtual bool init();
292 
293  virtual bool valid() const;
294 
295  const QString& selectedScenarioFile() const;
296 
297  virtual void setAdvancedInformationEnabled(bool);
298  virtual void showAdvanced(bool b);
299  virtual void setShowComponentAttachCombo(bool);
300  virtual void setCanSelectTerrain(bool);
301 
303  virtual void setShowPreview(bool);
304 
305  virtual int runDurationTime() const;
306 
316  virtual void setDisplayChangeWarningIcon(DtScenarioInformationWidget::DisplayElement, bool);
317 
319  virtual void setShowScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
320 
323  virtual void setEnableScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
324 
325  protected:
326  virtual DtScenarioInformationWidget* createScenarioPreviewWidget();
327 
328  public slots:
329  virtual void previewScenario(const QString& file);
330 
331  signals:
332  void simulationFileChanged(const QString&);
333  void simulationModelSetFilesChanged(const QString&);
334 
335  protected:
340  };
341 
343  {
344  return (myScenarioInformation);
345  }
346 
348  {
349  public:
351 
352  static DtScenarioWidgetPreviewCreator& instance(makVrv::DtDe&);
353  static void registerInstance(makVrv::DtDe&, DtScenarioWidgetPreviewCreator*);
354 
355  virtual DtScenarioPreviewWidget* create(makVrv::DtDe&, QWidget* parent, bool isNewScenario = false);
356  };
357 }
358 
bool myUserChangedComponentAttachRule
Definition: scenarioInformationWidget.h:239
Definition: scenarioInformationWidget.h:54
QString mySelectedScenarioFile
Definition: scenarioInformationWidget.h:236
Virtual base class.
Definition: DtVirtualBaseClass.h:19
bool myEditable
Definition: scenarioInformationWidget.h:233
Definition: scenarioInformationWidget.h:63
std::map< QString, QWidget * > FieldMap
Definition: scenarioInformationWidget.h:45
Definition: scenarioInformationWidget.h:58
Definition: scenario.h:52
FieldMap::const_iterator const_FieldIterator
Definition: scenarioInformationWidget.h:47
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtComboBoxField * myComponentAttachmentCombo
Definition: scenarioInformationWidget.h:223
Definition: scenarioInformationWidget.h:59
DtScenarioInformationWidget * myScenarioInformation
Definition: scenarioInformationWidget.h:336
Definition: scenarioInformationWidget.h:62
Definition: scenarioInformationWidget.h:347
QDoubleValidator * myDoubleValidator
Definition: scenarioInformationWidget.h:221
bool myIsNewScenario
Definition: scenarioInformationWidget.h:339
Definition: scenarioInformationWidget.h:56
QTextEdit * myDescriptionEdit
Definition: scenarioInformationWidget.h:225
QTextBrowser * myDescriptionView
Definition: scenarioInformationWidget.h:224
Definition: browseField.h:24
Definition: scenarioInformationWidget.h:53
std::set< int > myEnabledElements
Definition: scenarioInformationWidget.h:241
Widget that allows users to enter time values, including days.
Definition: timeEntryWidget.h:29
Contains makVrv::DtVirtualBaseClass class.
bool myCanSelectTerrain
Definition: scenarioInformationWidget.h:238
Definition: scenarioInformationWidget.h:64
QStringList myFrameModeStrings
Definition: scenarioInformationWidget.h:232
bool myDisplayInformation
Definition: scenarioInformationWidget.h:337
DisplayElement
Definition: scenarioInformationWidget.h:49
DtScenario * myScenario
Definition: scenarioInformationWidget.h:230
DtSimulationTimeScaleWidgetSlider * myTimeMultiplierWidget
Definition: scenarioInformationWidget.h:222
DtScenarioInformationWidget * scenarioInformationWidget()
Returns scenario information widget.
Definition: scenarioInformationWidget.h:342
makVrv::DtDe & myDe
Definition: scenarioInformationWidget.h:235
makVrv::DtDe & myDe
Definition: scenarioInformationWidget.h:338
bool myIsNewScenario
Definition: scenarioInformationWidget.h:240
Ui_ScenarioInformationWidgetUi myUiImpl
Definition: scenarioInformationWidget.h:220
Definition: scenarioInformationWidget.h:61
A widget class for putting simulation Time buttons on that are tied to existing menu items...
Definition: simulationTimeScaleWidget.h:58
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: pickListWidget.h:23
Definition: scenarioInformationWidget.h:52
FieldMap myFieldMap
Definition: scenarioInformationWidget.h:229
DtTimeEntryWidget * myRunDurationTime
Definition: scenarioInformationWidget.h:226
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: scenarioInformationWidget.h:57
Definition: scenarioInformationWidget.h:244
const QString & selectedScenarioFile() const
Definition: scenarioInformationWidget.h:149
Definition: scenarioInformationWidget.h:55
Definition: scenarioInformationWidget.h:60
Definition: scenarioInformationWidget.h:40
Definition: comboBoxField.h:23
FieldMap::iterator FieldIterator
Definition: scenarioInformationWidget.h:46

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)