VR-Forces Development_Version 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 "vrfGuiCoreQt/scenarioInformationWidgetUi.hpp"
16 #include <map>
17 
18 #include <QtGui/QValidator>
19 #include <QtCore/QStringList>
20 
21 class DtScenario;
22 class QLineEdit;
23 class QWebView;
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 
163  protected:
164  virtual void updateTimeOfDay(std::string, std::string);
165 
166  virtual DtPickListWidget* createPickListWidget(QWidget* parent);
167 
169  virtual void parseAllSmsFilesForFileList(const QString& smsFilename,
170  const char* pListNameToFind, QStringList& fileList);
171 
172  virtual void parseSmsForFileList(const QString& smsFilename,
173  const char *pListNameToFind,
174  QStringList& fileList);
175 
176  virtual void populateFromSms(const QString& smsFileName);
177 
178  public:
179  Ui_ScenarioInformationWidgetUi myUiImpl;
180  QDoubleValidator* myDoubleValidator;
183  QWebView* myDescriptionView;
184  QTextEdit* myDescriptionEdit;
186 
187  protected:
190 
191  QStringList myFrameModeStrings;
193 
196 
199  };
200 
202  {
203  Q_OBJECT
204 
205  public:
206  DtScenarioPreviewWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0, bool isNewScenario = false);
207 
209 
210  virtual void setEditable(bool b);
211 
213  virtual void setScenario(DtScenario* scenario);
214 
217  virtual void setToScenario(DtScenario* scenario);
218 
220  virtual void setDisplayInformation(bool b);
221 
223  virtual bool displayTerrainValid() const;
224 
226  DtScenarioInformationWidget* scenarioInformationWidget();
227 
229  virtual bool simulationTerrainValid() const;
230 
232  virtual bool simulationModelSetsValid() const;
233 
235  virtual time_t startDateAndTimeOfDay() const;
236 
238  virtual bool frameTimeValid() const;
239 
242  virtual bool selectSimulationTerrain();
243 
246  virtual bool selectSimulationTerrainAndSMS();
247 
248  virtual bool init();
249 
250  virtual bool valid() const;
251 
252  const QString& selectedScenarioFile() const;
253 
254  virtual void setAdvancedInformationEnabled(bool);
255  virtual void showAdvanced(bool b);
256  virtual void setShowComponentAttachCombo(bool);
257  virtual void setCanSelectTerrain(bool);
258 
260  virtual void setShowPreview(bool);
261 
262  virtual int runDurationTime() const;
263 
264  protected:
265  virtual DtScenarioInformationWidget* createScenarioPreviewWidget();
266 
267  public slots:
268  virtual void previewScenario(const QString& file);
269 
270  signals:
271  void simulationFileChanged(const QString&);
272  void simulationModelSetFilesChanged(const QString&);
273 
274  protected:
279  };
280 
282  {
283  return (myScenarioInformation);
284  }
285 
287  {
288  public:
290 
291  static DtScenarioWidgetPreviewCreator& instance(makVrv::DtDe&);
292  static void registerInstance(makVrv::DtDe&, DtScenarioWidgetPreviewCreator*);
293 
294  virtual DtScenarioPreviewWidget* create(makVrv::DtDe&, QWidget* parent, bool isNewScenario = false);
295  };
296 }
297 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)