VR-Forces Developer's Guide
 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 
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  class DtLoadBalancerSelectionWidget;
40 
42  {
43  Q_OBJECT
44 
45  public:
46  typedef std::map<QString,QWidget *> FieldMap;
47  typedef FieldMap::iterator FieldIterator;
48  typedef FieldMap::const_iterator const_FieldIterator;
49 
51  {
52  ScenarioName = 1,
68  SimRemoteAttachmentBalancingScheme
69  };
70 
71  public:
72 
73  DtScenarioInformationWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0,
74  bool isNewScenario = false);
75 
76  virtual ~DtScenarioInformationWidget() override;
77 
78  public:
81  virtual DtBrowseField* addBrowseField(const QString& parentName,
82  const QString& childName,
83  const QString& labelText);
84 
87  virtual DtComboBoxField* addComboBoxField(const QString& parentName,
88  const QString& childName,
89  const QString& labelText);
90 
93  virtual bool addFieldWidget(const QString& parentName, QWidget *pWidget);
94 
96  virtual QWidget* findFieldWidget(const QString& widgetName);
98  virtual bool init();
99 
102  virtual bool setScenario(DtScenario* scenario);
103 
104  virtual bool displayScenarioInformation(const QString &u);
105 
107  virtual void setEditable(bool b);
108 
118  virtual void setDisplayChangeWarningIcon(DtScenarioInformationWidget::DisplayElement, bool);
119 
121  virtual void setShowScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
122 
125  virtual void setEnableScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
126 
129  virtual void setToScenario(DtScenario* scenario);
130 
132  virtual bool displayTerrainValid() const;
133 
135  virtual time_t startDateAndTimeOfDay() const;
136 
138  virtual bool simulationTerrainValid() const;
139 
141  virtual bool simulationModelSetsValid() const;
142 
144  virtual bool frameTimeValid() const;
145 
146  virtual bool valid() const;
147 
148  const QString& selectedScenarioFile() const
149  {
150  return mySelectedScenarioFile;
151  }
152 
154  virtual void setAdvancedInformationEnabled(bool);
155  virtual void showAdvanced(bool b);
156  virtual void setCanSelectTerrain(bool);
157 
159  virtual void setShowPreview(bool);
160  virtual bool chooseBackendFileAndSMS();
161 
162  virtual int runDurationTime() const;
163 
164  signals:
165  void simulationFileChanged(const QString&);
166  void simulationModelSetFilesChanged(const QString&);
167 
168  protected:
169  virtual bool chooseFile(QString title, QString ext, QString& file, QString& dirPath);
170  virtual DtSimulationTimeScaleWidgetSlider* createAndInitTimeMultiplierWidget();
171  virtual void secondsToDaysHoursMinutesSeconds(int in, int& days, int& hours, int& minutes, double& seconds) const;
173  virtual int stringToSeconds(const char*) const;
174 
175  virtual void updateEnabledElements();
176 
177  virtual QString cleanPath(const std::string& path) const;
178 
180  virtual std::string simulationModelSetFilesFromCombo() const;
181 
182  public slots:
185  virtual bool chooseBackendFile();
186  virtual void chooseComponentAttachmentFile();
187  virtual bool chooseDisplayFile();
188  virtual bool chooseSimulationModelSetFiles();
189 
190  protected slots:
191  virtual void simulationFileChanged();
192  virtual void simulationModelSetFilesChanged();
193  virtual void useDisplayTerrainChanged();
194  virtual void smsSelectionChanged();
195 
196  virtual void frameModeChanged();
197 
199  virtual void showPreview();
200 
201  protected:
202  virtual void updateTimeOfDay(std::string, std::string);
203 
204  virtual DtPickListWidget* createPickListWidget(QWidget* parent);
205 
207  virtual void parseAllSmsFilesForFileList(const QString& smsFilename,
208  const char* pListNameToFind, QStringList& fileList);
209 
210  virtual void parseSmsForFileList(const QString& smsFilename,
211  const char *pListNameToFind,
212  QStringList& fileList);
213 
214  virtual void populateFromSms(const QString& smsFileName);
215 
216  public:
217  Ui_ScenarioInformationWidgetUi myUiImpl;
218  QDoubleValidator* myDoubleValidator;
222  QTextBrowser* myDescriptionView;
223  QTextEdit* myDescriptionEdit;
227 
228  protected:
231 
232  QStringList myFrameModeStrings;
234 
237 
240  std::set<int> myEnabledElements;
241  };
242 
244  {
245  Q_OBJECT
246 
247  public:
249  makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0, bool isNewScenario = false);
250 
251  virtual ~DtScenarioPreviewWidget() override;
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 setCanSelectTerrain(bool);
300 
302  virtual void setShowPreview(bool);
303 
304  virtual int runDurationTime() const;
305 
315  virtual void setDisplayChangeWarningIcon(DtScenarioInformationWidget::DisplayElement, bool);
316 
318  virtual void setShowScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
319 
322  virtual void setEnableScreenElement(DtScenarioInformationWidget::DisplayElement, bool);
323 
324  protected:
325  virtual DtScenarioInformationWidget* createScenarioPreviewWidget();
326 
327  public slots:
328  virtual void previewScenario(const QString& file);
329 
330  signals:
331  void simulationFileChanged(const QString&);
332  void simulationModelSetFilesChanged(const QString&);
333 
334  protected:
339  };
340 
342  {
343  return (myScenarioInformation);
344  }
345 
347  {
348  public:
350 
351  static DtScenarioWidgetPreviewCreator& instance(makVrv::DtDe&);
352  static void registerInstance(makVrv::DtDe&, DtScenarioWidgetPreviewCreator*);
353 
354  virtual DtScenarioPreviewWidget* create(makVrv::DtDe&, QWidget* parent, bool isNewScenario = false);
355  };
356 }
357 
Definition: scenarioInformationWidget.h:55
QString mySelectedScenarioFile
Definition: scenarioInformationWidget.h:236
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool myEditable
Definition: scenarioInformationWidget.h:233
Definition: scenarioInformationWidget.h:64
std::map< QString, QWidget * > FieldMap
Definition: scenarioInformationWidget.h:46
Definition: scenarioInformationWidget.h:59
Definition: scenario.h:52
FieldMap::const_iterator const_FieldIterator
Definition: scenarioInformationWidget.h:48
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Widget to select load balancing schemes give the selection mode.
Definition: loadBalancerSelectionWidget.h:36
Definition: scenarioInformationWidget.h:60
QLabel * mySimRemoteAttachmentBalancingSchemeChanged
Definition: scenarioInformationWidget.h:221
DtScenarioInformationWidget * myScenarioInformation
Definition: scenarioInformationWidget.h:335
Definition: scenarioInformationWidget.h:63
Definition: scenarioInformationWidget.h:346
QDoubleValidator * myDoubleValidator
Definition: scenarioInformationWidget.h:218
bool myIsNewScenario
Definition: scenarioInformationWidget.h:338
QLabel * myGuiRuntimeLoadBalancingSchemeChanged
Definition: scenarioInformationWidget.h:226
Definition: scenarioInformationWidget.h:57
QTextEdit * myDescriptionEdit
Definition: scenarioInformationWidget.h:223
QTextBrowser * myDescriptionView
Definition: scenarioInformationWidget.h:222
Definition: browseField.h:27
Definition: scenarioInformationWidget.h:54
std::set< int > myEnabledElements
Definition: scenarioInformationWidget.h:240
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:66
Definition: scenarioInformationWidget.h:65
QStringList myFrameModeStrings
Definition: scenarioInformationWidget.h:232
bool myDisplayInformation
Definition: scenarioInformationWidget.h:336
DisplayElement
Definition: scenarioInformationWidget.h:50
DtScenario * myScenario
Definition: scenarioInformationWidget.h:230
DtSimulationTimeScaleWidgetSlider * myTimeMultiplierWidget
Definition: scenarioInformationWidget.h:219
DtScenarioInformationWidget * scenarioInformationWidget()
Returns scenario information widget.
Definition: scenarioInformationWidget.h:341
makVrv::DtDe & myDe
Definition: scenarioInformationWidget.h:235
makVrv::DtDe & myDe
Definition: scenarioInformationWidget.h:337
bool myIsNewScenario
Definition: scenarioInformationWidget.h:239
Ui_ScenarioInformationWidgetUi myUiImpl
Definition: scenarioInformationWidget.h:217
Definition: scenarioInformationWidget.h:62
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:53
FieldMap myFieldMap
Definition: scenarioInformationWidget.h:229
DtTimeEntryWidget * myRunDurationTime
Definition: scenarioInformationWidget.h:224
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Definition: scenarioInformationWidget.h:58
Definition: scenarioInformationWidget.h:243
DtLoadBalancerSelectionWidget * myGuiRuntimeLoadBalancingScheme
Definition: scenarioInformationWidget.h:225
const QString & selectedScenarioFile() const
Definition: scenarioInformationWidget.h:148
Definition: scenarioInformationWidget.h:56
Definition: scenarioInformationWidget.h:61
Definition: scenarioInformationWidget.h:41
DtLoadBalancerSelectionWidget * mySimRemoteAttachmentBalancingScheme
Definition: scenarioInformationWidget.h:220
Definition: comboBoxField.h:23
FieldMap::iterator FieldIterator
Definition: scenarioInformationWidget.h:47

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)