VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/scenarioInformationWidget.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: scenarioInformationWidget.h,v $ $Revision: 1.8 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #pragma once
00013 
00014 #include <vrvUtil/signalslib.h>
00015 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00016 
00017 #include "vrfGuiCoreQt/scenarioInformationWidgetUi.hpp"
00018 #include <map>
00019 
00020 #include <QtGui/QValidator>
00021 #include <QtCore/QStringList>
00022 
00023 class DtScenario;
00024 class QLineEdit;
00025 class QWebView;
00026 class QTextEdit;
00027 
00028 namespace makVrv
00029 {
00030    class DtDe;
00031 }
00032 
00033 namespace makVrf
00034 {
00035    class DtSimulationTimeScaleWidgetSlider;
00036    class DtPickListWidget;
00037    class DtBrowseField;
00038    class DtComboBoxField;
00039 
00040    class DT_DLL_VRFGUICOREQT DtScenarioInformationWidget : public QWidget
00041    {
00042       Q_OBJECT
00043 
00044    public:
00045       typedef std::map<QString,QWidget *> FieldMap;
00046       typedef FieldMap::iterator FieldIterator;
00047       typedef FieldMap::const_iterator const_FieldIterator;
00048 
00049    public:
00050      
00051       DtScenarioInformationWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00052 
00053       virtual ~DtScenarioInformationWidget();
00054 
00055    public:
00058       virtual DtBrowseField* addBrowseField(const QString& parentName, 
00059          const QString& childName,
00060          const QString& labelText);
00061 
00064       virtual DtComboBoxField* addComboBoxField(const QString& parentName, 
00065          const QString& childName,
00066          const QString& labelText);
00067 
00070       virtual bool addFieldWidget(const QString& parentName, QWidget *pWidget);
00071 
00073       virtual QWidget* findFieldWidget(const QString& widgetName);
00075       virtual bool init();
00076 
00079       virtual bool setScenario(DtScenario* scenario);
00080 
00081       virtual bool displayScenarioInformation(const QString &u);
00082 
00084       virtual void setEditable(bool b);
00085 
00088       virtual void setToScenario(DtScenario* scenario);
00089 
00091       virtual void setComponentAttachRule(int);
00092       virtual int componentAttachRule() const;
00093 
00095       virtual bool displayTerrainValid() const;
00096 
00098       virtual int startTimeOfDay() const;
00099 
00101       virtual bool simulationTerrainValid() const;
00102 
00104       virtual bool simulationModelSetsValid() const;
00105 
00107       virtual bool frameTimeValid() const;
00108 
00109       virtual bool valid() const;
00110 
00111       const QString& selectedScenarioFile() const
00112       {
00113          return mySelectedScenarioFile;
00114       }
00115 
00117       virtual void setAdvancedInformationEnabled(bool);
00118       virtual void showAdvanced(bool b);
00119       virtual void setShowComponentAttachCombo(bool);
00120       virtual void setCanSelectTerrain(bool);
00121 
00123       virtual void setShowPreview(bool);
00124 
00125    signals:
00126       void simulationFileChanged(const QString&);
00127       void simulationModelSetFilesChanged(const QString&);
00128 
00129    protected:
00130       virtual bool chooseFile(QString title, QString ext, QString& file, QString& dirPath);
00131       virtual DtSimulationTimeScaleWidgetSlider* createAndInitTimeMultiplierWidget();
00132       virtual void secondsToDaysHoursMinutesSeconds(int in, int& days, int& hours, int& minutes, double& seconds) const;
00134       virtual int stringToSeconds(const char*) const;
00135 
00136       virtual QString cleanPath(const std::string& path) const;
00137 
00138    public slots:
00141       virtual bool chooseBackendFile();
00142       virtual void chooseComponentAttachmentFile();
00143       virtual bool chooseDisplayFile();
00144       virtual bool chooseSimulationModelSetFiles();
00145 
00146    protected slots:
00147       virtual void simulationFileChanged();
00148       virtual void simulationModelSetFilesChanged();
00149       virtual void useDisplayTerrainChanged();
00150 
00151       virtual void frameModeChanged();
00152 
00154       virtual void showPreview();
00155 
00156    protected:
00157 
00158       virtual DtPickListWidget* createPickListWidget(QWidget* parent);
00159       
00161       virtual void parseAllSmsFilesForFileList(const QString& smsFilename,
00162          const char* pListNameToFind, QStringList& fileList);
00163 
00164       virtual void parseSmsForFileList(const QString& smsFilename,
00165          const char *pListNameToFind,
00166          QStringList& fileList);
00167       
00168       virtual void populateFromSms(const QString& smsFileName);
00169 
00170    public:
00171       Ui_ScenarioInformationWidgetUi myUiImpl;
00172 
00173    protected:
00174       FieldMap myFieldMap;
00175       DtScenario* myScenario;
00176       QDoubleValidator* myDoubleValidator;
00177       DtSimulationTimeScaleWidgetSlider* myTimeMultiplierWidget;
00178       DtComboBoxField* myComponentAttachmentCombo;
00179       QWebView* myDescriptionView;
00180       QTextEdit* myDescriptionEdit;
00181 
00182       QStringList myFrameModeStrings;
00183       bool myEditable;
00184 
00185       makVrv::DtDe& myDe;
00186       QString mySelectedScenarioFile;
00187 
00188       bool myCanSelectTerrain;
00189    };
00190 
00191    class DT_DLL_VRFGUICOREQT DtScenarioPreviewWidget : public QWidget
00192    {
00193        Q_OBJECT
00194 
00195    public:
00196       DtScenarioPreviewWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00197 
00198       ~DtScenarioPreviewWidget();
00199 
00200       virtual void setEditable(bool b);
00201 
00203       virtual void setScenario(DtScenario* scenario);
00204 
00207       virtual void setToScenario(DtScenario* scenario);
00208 
00210       virtual void setDisplayInformation(bool b);
00211 
00213       virtual bool displayTerrainValid() const;
00214 
00216       DtScenarioInformationWidget* scenarioInformationWidget();
00217 
00219       virtual bool simulationTerrainValid() const;
00220 
00222       virtual bool simulationModelSetsValid() const;
00223 
00225       virtual int startTimeOfDay() const;
00226 
00228       virtual bool frameTimeValid() const;
00229 
00232       virtual bool selectSimulationTerrain();
00233 
00234       virtual bool init();
00235 
00236       virtual bool valid() const;
00237 
00238       const QString& selectedScenarioFile() const;
00239 
00240       virtual void setAdvancedInformationEnabled(bool);
00241       virtual void showAdvanced(bool b);
00242       virtual void setShowComponentAttachCombo(bool);
00243       virtual void setCanSelectTerrain(bool);
00244 
00246       virtual void setShowPreview(bool);
00247 
00248    protected:
00249       virtual DtScenarioInformationWidget* createScenarioPreviewWidget();
00250 
00251    public slots:
00252       virtual void previewScenario(const QString& file);
00253 
00254    signals:
00255       void simulationFileChanged(const QString&);
00256       void simulationModelSetFilesChanged(const QString&);
00257 
00258    protected:
00259       DtScenarioInformationWidget* myScenarioInformation;
00260       bool myDisplayInformation;
00261       makVrv::DtDe& myDe;
00262    };
00263 
00264    inline DtScenarioInformationWidget* DtScenarioPreviewWidget::scenarioInformationWidget()
00265    {
00266       return (myScenarioInformation);
00267    }
00268 
00269    class DT_DLL_VRFGUICOREQT DtScenarioWidgetPreviewCreator : public makVrv::DtVirtualBaseClass
00270    {
00271    public:
00272       DtScenarioWidgetPreviewCreator();
00273 
00274       static DtScenarioWidgetPreviewCreator& instance(makVrv::DtDe&);
00275       static void registerInstance(makVrv::DtDe&, DtScenarioWidgetPreviewCreator*);
00276 
00277       virtual DtScenarioPreviewWidget* create(makVrv::DtDe&, QWidget* parent);
00278    };
00279 }
00280 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)