VR-Forces 4.7 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 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)