VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
18 #include <QtGui/QValidator>
19 #include <QtCore/QStringList>
20 
21 class DtScenario;
22 class QLineEdit;
23 class QTextBrowser;
24 class QTextEdit;
25 
26 namespace makVrv
27 {
28  class DtDe;
29 }
30 
31 namespace makVrf
32 {
33  class DtSimulationTimeScaleWidgetSlider;
34  class DtPickListWidget;
35  class DtBrowseField;
36  class DtComboBoxField;
37  class DtTimeEntryWidget;
38 
40  {
41  Q_OBJECT
42 
43  public:
44  typedef std::map<QString,QWidget *> FieldMap;
45  typedef FieldMap::iterator FieldIterator;
46  typedef FieldMap::const_iterator const_FieldIterator;
47 
48  public:
49 
50  DtScenarioInformationWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0,
51  bool isNewScenario = false);
52 
53  virtual ~DtScenarioInformationWidget();
54 
55  public:
58  virtual DtBrowseField* addBrowseField(const QString& parentName,
59  const QString& childName,
60  const QString& labelText);
61 
64  virtual DtComboBoxField* addComboBoxField(const QString& parentName,
65  const QString& childName,
66  const QString& labelText);
67 
70  virtual bool addFieldWidget(const QString& parentName, QWidget *pWidget);
71 
73  virtual QWidget* findFieldWidget(const QString& widgetName);
75  virtual bool init();
76 
79  virtual bool setScenario(DtScenario* scenario);
80 
81  virtual bool displayScenarioInformation(const QString &u);
82 
84  virtual void setEditable(bool b);
85 
88  virtual void setToScenario(DtScenario* scenario);
89 
91  virtual void setComponentAttachRule(int);
92  virtual int componentAttachRule() const;
93 
95  virtual bool displayTerrainValid() const;
96 
98  virtual time_t startDateAndTimeOfDay() const;
99 
101  virtual bool simulationTerrainValid() const;
102 
104  virtual bool simulationModelSetsValid() const;
105 
107  virtual bool frameTimeValid() const;
108 
109  virtual bool valid() const;
110 
111  const QString& selectedScenarioFile() const
112  {
113  return mySelectedScenarioFile;
114  }
115 
117  virtual void setAdvancedInformationEnabled(bool);
118  virtual void showAdvanced(bool b);
119  virtual void setShowComponentAttachCombo(bool);
120  virtual void setCanSelectTerrain(bool);
121 
123  virtual void setShowPreview(bool);
124  virtual bool chooseBackendFileAndSMS();
125 
126  virtual int runDurationTime() const;
127 
128  signals:
129  void simulationFileChanged(const QString&);
130  void simulationModelSetFilesChanged(const QString&);
131 
132  protected:
133  virtual bool chooseFile(QString title, QString ext, QString& file, QString& dirPath);
134  virtual DtSimulationTimeScaleWidgetSlider* createAndInitTimeMultiplierWidget();
135  virtual void secondsToDaysHoursMinutesSeconds(int in, int& days, int& hours, int& minutes, double& seconds) const;
137  virtual int stringToSeconds(const char*) const;
138 
139  virtual QString cleanPath(const std::string& path) const;
140 
142  virtual std::string simulationModelSetFilesFromCombo() const;
143 
144  public slots:
147  virtual bool chooseBackendFile();
148  virtual void chooseComponentAttachmentFile();
149  virtual bool chooseDisplayFile();
150  virtual bool chooseSimulationModelSetFiles();
151 
152  protected slots:
153  virtual void simulationFileChanged();
154  virtual void simulationModelSetFilesChanged();
155  virtual void useDisplayTerrainChanged();
156  virtual void smsSelectionChanged();
157 
158  virtual void frameModeChanged();
159 
161  virtual void showPreview();
162  virtual void componentAttachmentRuleChangedByUser();
163 
164  protected:
165  virtual void updateTimeOfDay(std::string, std::string);
166 
167  virtual DtPickListWidget* createPickListWidget(QWidget* parent);
168 
170  virtual void parseAllSmsFilesForFileList(const QString& smsFilename,
171  const char* pListNameToFind, QStringList& fileList);
172 
173  virtual void parseSmsForFileList(const QString& smsFilename,
174  const char *pListNameToFind,
175  QStringList& fileList);
176 
177  virtual void populateFromSms(const QString& smsFileName);
178 
179  public:
180  Ui_ScenarioInformationWidgetUi myUiImpl;
181  QDoubleValidator* myDoubleValidator;
184  QTextBrowser* myDescriptionView;
185  QTextEdit* myDescriptionEdit;
187 
188  protected:
191 
192  QStringList myFrameModeStrings;
194 
197 
201  };
202 
204  {
205  Q_OBJECT
206 
207  public:
208  DtScenarioPreviewWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0, bool isNewScenario = false);
209 
211 
212  virtual void setEditable(bool b);
213 
215  virtual void setScenario(DtScenario* scenario);
216 
219  virtual void setToScenario(DtScenario* scenario);
220 
222  virtual void setDisplayInformation(bool b);
223 
225  virtual bool displayTerrainValid() const;
226 
228  DtScenarioInformationWidget* scenarioInformationWidget();
229 
231  virtual bool simulationTerrainValid() const;
232 
234  virtual bool simulationModelSetsValid() const;
235 
237  virtual time_t startDateAndTimeOfDay() const;
238 
240  virtual bool frameTimeValid() const;
241 
244  virtual bool selectSimulationTerrain();
245 
248  virtual bool selectSimulationTerrainAndSMS();
249 
250  virtual bool init();
251 
252  virtual bool valid() const;
253 
254  const QString& selectedScenarioFile() const;
255 
256  virtual void setAdvancedInformationEnabled(bool);
257  virtual void showAdvanced(bool b);
258  virtual void setShowComponentAttachCombo(bool);
259  virtual void setCanSelectTerrain(bool);
260 
262  virtual void setShowPreview(bool);
263 
264  virtual int runDurationTime() const;
265 
266  protected:
267  virtual DtScenarioInformationWidget* createScenarioPreviewWidget();
268 
269  public slots:
270  virtual void previewScenario(const QString& file);
271 
272  signals:
273  void simulationFileChanged(const QString&);
274  void simulationModelSetFilesChanged(const QString&);
275 
276  protected:
281  };
282 
284  {
285  return (myScenarioInformation);
286  }
287 
289  {
290  public:
292 
293  static DtScenarioWidgetPreviewCreator& instance(makVrv::DtDe&);
294  static void registerInstance(makVrv::DtDe&, DtScenarioWidgetPreviewCreator*);
295 
296  virtual DtScenarioPreviewWidget* create(makVrv::DtDe&, QWidget* parent, bool isNewScenario = false);
297  };
298 }
299 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)