VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
indirectArtillerySettingsDataWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
13 #include <vrvUtil/signalslib.h>
15 #include "indirectArtilleryPropertiesWidget.hpp"
17 
21 #include <vrvUtil/DtUnicode.h>
23 #endif
24 #include <boost/signals2.hpp>
25 
26 #include <QtCore/QTime>
27 
29 class DtEntityType;
30 class QString;
31 class DtString;
32 
33 
34 namespace makVrf
35 {
36  class DtIndirectArtillerySettingsDataLogic;
37 
42  {
43 
44  Q_OBJECT
45 
46  public:
47 
50 
53 
54  virtual void setStartImmediate(bool);
55  virtual bool startImmediate() const;
56 
57  virtual void setWaitForActivation(bool);
58  virtual bool waitForActivation() const;
59 
60  virtual void setStartAtTime(bool);
61  virtual bool startAtTime() const;
62 
63  virtual void setStartTimeEnabled(bool b);
64  virtual void setStartTime(int days, const QTime&);
65  virtual int startTime() const;
66 
67  virtual void setTimeBetweenSalvosEnabled(bool);
68  virtual void setTimeBetweenSalvos(const QTime&);
69  virtual int timeBetweenSalvos() const;
70 
71  virtual void setScatterTimeSpinBoxEnabled(bool);
72  virtual void setScatterTime(int);
73  virtual int scatterTime() const;
74 
75  virtual void setNumberOfSalvos(int);
76  virtual int numberOfSalvos() const;
77 
78  virtual void setRoundsPerSalvo(int);
79  virtual int roundsPerSalvo() const;
80 
81  virtual void setMunitionType(const DtEntityType&);
82  virtual DtEntityType munitionType() const;
83 
84  virtual void setAltitudeAboveTerrainUnits(makVrv::DtUnicode);
85 
86  virtual void setAltitudeAboveTerrain(double d);
87  virtual double altitudeAboveTerrain() const;
88 
89  virtual void addMunitionType(const QString& muni, const DtString& type);
90  virtual void clearMunitionTypes();
91 
93  virtual void setupGui();
94 
96  virtual DtIndirectArtillerySettingsDataLogic* logic();
97 
98  virtual void blockSignals(bool);
99  virtual bool signalsBlocked() const;
100 
102  boost::signals2::signal<void ()> signal_indirectArtilleryDataChanged;
103 
104  protected slots:
106  virtual void onIndirectFireDataChanged();
107 
108  protected:
109 
111  virtual void setupConnections();
112 
113  virtual DtIndirectArtillerySettingsDataLogic* createLogic();
114 
115  virtual int timeToSeconds(const QTime&) const;
116 
117  public:
118  Ui_DtIndirectArtilleryPropertiesWidgetUI myUiImpl;
119 
120  protected:
124  };
125 
128  {
129  public:
132 
134  virtual void setupGui();
135 
137  virtual void setupFromData(const DtIfIndirectArtilleryData&);
138 
139  boost::signals2::signal<void (const DtIfIndirectArtilleryData&)> signal_indirectArtilleryDataChanged;
140 
141  protected:
142 
144  virtual void slot_onIndirctArtilleryDataChanged();
145 
147  virtual void createConnections();
148 
150  virtual void dayTimeFor(int& days, QTime& time, int seconds) const;
151  virtual QTime timeFor(int seconds) const;
152 
154  virtual void slot_displayUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int unit, int oldUnit);
155 
158  virtual void slot_displayUnitDecimalsChanged(
159  const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int);
160 
161  protected:
163  virtual void indirectArtilleryChanged(const DtIfIndirectArtilleryData&);
164 
166  virtual DtIfIndirectArtilleryData defaultData() const;
167 
168  virtual void setupMunitionTypes();
169  virtual void artilleryManagerChanged();
170 
171  protected:
176  };
177 
180  {
181  public:
184 
187 
189  static void registerInstance(makVrv::DtDe&, DtIndirectArtillerySettingsDataWidgetCreator*);
190 
191  virtual DtIndirectArtillerySettingsDataWidget* create(makVrv::DtDe& de, QWidget* parent);
192  };
193 }
makVrv::DtSignalConnectionManager myConnections
Definition: indirectArtillerySettingsDataWidget.h:174
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
Definition: DtUnicode.h:33
This class defines the dialog that allows the creation/update of indirect artillery data...
Definition: indirectArtillerySettingsDataWidget.h:41
#define DT_DLL_VRFGUISETTINGSWIDGETS
Definition: vrfGuiSettingsWidgets.h:22
Creator class for dialog.
Definition: indirectArtillerySettingsDataWidget.h:179
makVrv::DtDe & myDe
Definition: indirectArtillerySettingsDataWidget.h:173
Contains the DtUnitConverterCollection class declaration.
DtIfIndirectArtilleryData myIndirectFireData
Definition: indirectArtillerySettingsDataWidget.h:175
Contains makVrv::DtVirtualBaseClass class.
boost::signals2::signal< void(const DtIfIndirectArtilleryData &)> signal_indirectArtilleryDataChanged
Definition: indirectArtillerySettingsDataWidget.h:139
Overridden from base to allow for setting of indirect artillery specific data into the dialog...
Definition: indirectArtillerySettingsDataWidget.h:127
DtIndirectArtillerySettingsDataWidget * myInterface
Definition: indirectArtillerySettingsDataWidget.h:172
boost::signals2::signal< void()> signal_indirectArtilleryDataChanged
Signal sent when any of the data in the extension has changed.
Definition: indirectArtillerySettingsDataWidget.h:102
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Data container for Indirect Artillery.
Definition: ifModifyIndirectArtilleryObject.h:28
bool mySignalsBlocked
Definition: indirectArtillerySettingsDataWidget.h:123
Base class to provide boost signal/slot management.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtIndirectArtillerySettingsDataLogic * myLogic
Definition: indirectArtillerySettingsDataWidget.h:122
Ui_DtIndirectArtilleryPropertiesWidgetUI myUiImpl
Definition: indirectArtillerySettingsDataWidget.h:118
makVrv::DtDe & myDe
Definition: indirectArtillerySettingsDataWidget.h:121

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)