VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtIndirectFireSettingsDataWidget.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00009 
00010 #pragma once
00011 
00012 #include <vrvUtil/signalslib.h>
00013 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00014 #include <vrfGuiCoreQt/indirectArtilleryPropertiesWidget.hpp>
00015 #include <vrfmsgs/ifModifyIndirectArtilleryObject.h>
00016 
00017 
00019 #include <vrvUtil/DtUnitConverterCollection.h>
00020 #include <vrvUtil/DtSignalConnectionManager.h>
00021 #include <vrvUtil/DtUnicode.h>
00022 #include <vrvUtil/DtVirtualBaseClass.h>
00023 
00024 #include <QTime>
00025 
00026 class DtIfIndirectArtilleryData;
00027 class DtEntityType;
00028 class QString;
00029 class DtString;
00030 
00031 
00032 namespace makVrf
00033 {
00034    class DtIndirectFireSettingsDataLogic;
00035 
00039    class DT_DLL_VRFGUICOREQT DtIndirectFireSettingsDataWidget : public QWidget
00040    {
00041 
00042       Q_OBJECT
00043 
00044    public:
00045 
00047       DtIndirectFireSettingsDataWidget(makVrv::DtDe& de, QWidget* parent);
00048 
00050       virtual ~DtIndirectFireSettingsDataWidget();
00051 
00052       virtual void setStartImmediate(bool);
00053       virtual bool startImmediate() const;
00054 
00055       virtual void setStartAtTime(bool);
00056       virtual bool startAtTime() const;
00057 
00058       virtual void setStartTimeEnabled(bool b);
00059       virtual void setStartTime(int days, const QTime&);
00060       virtual int startTime() const;
00061 
00062       virtual void setTimeBetweenSalvosEnabled(bool);
00063       virtual void setTimeBetweenSalvos(const QTime&);
00064       virtual int timeBetweenSalvos() const;
00065 
00066       virtual void setScatterTimeSpinBoxEnabled(bool);
00067       virtual void setScatterTime(int);
00068       virtual int scatterTime() const;
00069 
00070       virtual void setNumberOfSalvos(int);
00071       virtual int numberOfSalvos() const;
00072 
00073       virtual void setRoundsPerSalvo(int);
00074       virtual int roundsPerSalvo() const;
00075 
00076       virtual void setMunitionType(const DtEntityType&);
00077       virtual DtEntityType munitionType() const;
00078 
00079       virtual void setAltitudeAboveTerrainUnits(makVrv::DtUnicode);
00080 
00081       virtual void setAltitudeAboveTerrain(double d);
00082       virtual double altitudeAboveTerrain() const;
00083 
00084       virtual void addMunitionType(const QString& muni, const DtString& type);
00085 
00087       virtual void setupGui();
00088 
00090       virtual DtIndirectFireSettingsDataLogic* logic();
00091 
00093       boost::signal<void ()> signal_indirectArtilleryDataChanged;
00094 
00095    protected slots:
00097       virtual void onIndirectFireDataChanged();
00098 
00099    protected:
00100 
00102       virtual void setupConnections();
00103 
00104       virtual DtIndirectFireSettingsDataLogic* createLogic();
00105 
00106       virtual int timeToSeconds(const QTime&) const;
00107 
00108    public:
00109       Ui_DtIndirectArtilleryPropertiesWidgetUI myUiImpl;
00110 
00111    protected:
00112       makVrv::DtDe& myDe;
00113       DtIndirectFireSettingsDataLogic* myLogic;
00114    };
00115 
00117    class DT_DLL_VRFGUICOREQT DtIndirectFireSettingsDataLogic
00118    {
00119    public:
00120       DtIndirectFireSettingsDataLogic(makVrv::DtDe&, DtIndirectFireSettingsDataWidget*);
00121       virtual ~DtIndirectFireSettingsDataLogic();
00122 
00124       virtual void setupGui();
00125 
00127       virtual void setupFromData(const DtIfIndirectArtilleryData&);
00128 
00129       boost::signal<void (const DtIfIndirectArtilleryData&)> signal_indirectArtilleryDataChanged;
00130 
00131    protected:
00132 
00134       virtual void slot_onIndirctArtilleryDataChanged();
00135 
00137       virtual void createConnections();
00138 
00140       virtual void dayTimeFor(int& days, QTime& time, int seconds) const;
00141       virtual QTime timeFor(int seconds) const;
00142 
00144       virtual void slot_displayUnitChanged(makVrv::DtUnitConverterCollection::DisplayUnitType type, int unit, int oldUnit);
00145 
00148       virtual void slot_displayUnitDecimalsChanged(
00149          makVrv::DtUnitConverterCollection::DisplayUnitType, int, int);
00150 
00151    protected:
00153       virtual void indirectArtilleryChanged(const DtIfIndirectArtilleryData&);
00154 
00156       virtual DtIfIndirectArtilleryData defaultData() const;
00157 
00158    protected:
00159       DtIndirectFireSettingsDataWidget* myInterface;
00160       makVrv::DtDe& myDe;
00161       makVrv::DtSignalConnectionManager myConnections;
00162       DtIfIndirectArtilleryData myIndirectFireData;
00163    };
00164 
00166    class DT_DLL_VRFGUICOREQT DtIndirectFireSettingsDataWidgetCreator : public makVrv::DtVirtualBaseClass
00167    {
00168    public:
00169       DtIndirectFireSettingsDataWidgetCreator();
00170       virtual ~DtIndirectFireSettingsDataWidgetCreator();
00171 
00173       static DtIndirectFireSettingsDataWidgetCreator& instance(makVrv::DtDe& de);
00174 
00176       static void registerInstance(makVrv::DtDe&, DtIndirectFireSettingsDataWidgetCreator*);
00177 
00178       virtual DtIndirectFireSettingsDataWidget* create(makVrv::DtDe& de, QWidget* parent);
00179    };
00180 }

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)