VR-Forces 4.1 Class Documentation
scenarioInformationWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2003 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 
39  {
40  Q_OBJECT
41 
42  public:
43  typedef std::map<QString,QWidget *> FieldMap;
44  typedef FieldMap::iterator FieldIterator;
45  typedef FieldMap::const_iterator const_FieldIterator;
46 
47  public:
48 
49  DtScenarioInformationWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
50 
51  virtual ~DtScenarioInformationWidget();
52 
53  public:
56  virtual DtBrowseField* addBrowseField(const QString& parentName,
57  const QString& childName,
58  const QString& labelText);
59 
62  virtual DtComboBoxField* addComboBoxField(const QString& parentName,
63  const QString& childName,
64  const QString& labelText);
65 
68  virtual bool addFieldWidget(const QString& parentName, QWidget *pWidget);
69 
71  virtual QWidget* findFieldWidget(const QString& widgetName);
73  virtual bool init();
74 
77  virtual bool setScenario(DtScenario* scenario);
78 
79  virtual bool displayScenarioInformation(const QString &u);
80 
82  virtual void setEditable(bool b);
83 
86  virtual void setToScenario(DtScenario* scenario);
87 
89  virtual void setComponentAttachRule(int);
90  virtual int componentAttachRule() const;
91 
93  virtual bool displayTerrainValid() const;
94 
96  virtual int startTimeOfDay() const;
97 
99  virtual bool simulationTerrainValid() const;
100 
102  virtual bool simulationModelSetsValid() const;
103 
105  virtual bool frameTimeValid() const;
106 
107  virtual bool valid() const;
108 
109  const QString& selectedScenarioFile() const
110  {
111  return mySelectedScenarioFile;
112  }
113 
115  virtual void setAdvancedInformationEnabled(bool);
116  virtual void showAdvanced(bool b);
117  virtual void setShowComponentAttachCombo(bool);
118  virtual void setCanSelectTerrain(bool);
119 
121  virtual void setShowPreview(bool);
122 
123  signals:
124  void simulationFileChanged(const QString&);
125  void simulationModelSetFilesChanged(const QString&);
126 
127  protected:
128  virtual bool chooseFile(QString title, QString ext, QString& file, QString& dirPath);
129  virtual DtSimulationTimeScaleWidgetSlider* createAndInitTimeMultiplierWidget();
130  virtual void secondsToDaysHoursMinutesSeconds(int in, int& days, int& hours, int& minutes, double& seconds) const;
132  virtual int stringToSeconds(const char*) const;
133 
134  virtual QString cleanPath(const std::string& path) const;
135 
136  public slots:
139  virtual bool chooseBackendFile();
140  virtual void chooseComponentAttachmentFile();
141  virtual bool chooseDisplayFile();
142  virtual bool chooseSimulationModelSetFiles();
143 
144  protected slots:
145  virtual void simulationFileChanged();
146  virtual void simulationModelSetFilesChanged();
147  virtual void useDisplayTerrainChanged();
148 
149  virtual void frameModeChanged();
150 
152  virtual void showPreview();
153 
154  protected:
155 
156  virtual DtPickListWidget* createPickListWidget(QWidget* parent);
157 
159  virtual void parseAllSmsFilesForFileList(const QString& smsFilename,
160  const char* pListNameToFind, QStringList& fileList);
161 
162  virtual void parseSmsForFileList(const QString& smsFilename,
163  const char *pListNameToFind,
164  QStringList& fileList);
165 
166  virtual void populateFromSms(const QString& smsFileName);
167 
168  public:
169  Ui_ScenarioInformationWidgetUi myUiImpl;
170 
171  protected:
174  QDoubleValidator* myDoubleValidator;
177  QWebView* myDescriptionView;
178  QTextEdit* myDescriptionEdit;
179 
180  QStringList myFrameModeStrings;
182 
185 
187  };
188 
190  {
191  Q_OBJECT
192 
193  public:
194  DtScenarioPreviewWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
195 
197 
198  virtual void setEditable(bool b);
199 
201  virtual void setScenario(DtScenario* scenario);
202 
205  virtual void setToScenario(DtScenario* scenario);
206 
208  virtual void setDisplayInformation(bool b);
209 
211  virtual bool displayTerrainValid() const;
212 
214  DtScenarioInformationWidget* scenarioInformationWidget();
215 
217  virtual bool simulationTerrainValid() const;
218 
220  virtual bool simulationModelSetsValid() const;
221 
223  virtual int startTimeOfDay() const;
224 
226  virtual bool frameTimeValid() const;
227 
230  virtual bool selectSimulationTerrain();
231 
232  virtual bool init();
233 
234  virtual bool valid() const;
235 
236  const QString& selectedScenarioFile() const;
237 
238  virtual void setAdvancedInformationEnabled(bool);
239  virtual void showAdvanced(bool b);
240  virtual void setShowComponentAttachCombo(bool);
241  virtual void setCanSelectTerrain(bool);
242 
244  virtual void setShowPreview(bool);
245 
246  protected:
247  virtual DtScenarioInformationWidget* createScenarioPreviewWidget();
248 
249  public slots:
250  virtual void previewScenario(const QString& file);
251 
252  signals:
253  void simulationFileChanged(const QString&);
254  void simulationModelSetFilesChanged(const QString&);
255 
256  protected:
260  };
261 
263  {
264  return (myScenarioInformation);
265  }
266 
268  {
269  public:
271 
272  static DtScenarioWidgetPreviewCreator& instance(makVrv::DtDe&);
273  static void registerInstance(makVrv::DtDe&, DtScenarioWidgetPreviewCreator*);
274 
275  virtual DtScenarioPreviewWidget* create(makVrv::DtDe&, QWidget* parent);
276  };
277 }
278 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)