VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
resourceSelectionEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
19 #endif
20 
21 #include <QtDesigner/QExtensionFactory>
22 #include <QtDesigner/QDesignerTaskMenuExtension>
23 
24 class QLabel;
25 class QGridLayout;
26 class QComboBox;
28 class QLineEdit;
29 class QDoubleValidator;
30 class QIntValidator;
31 class QCheckBox;
32 class DtSimResource;
33 
34 namespace makVrf
35 {
38  {
39  Q_OBJECT
40 
41  public:
42  DtResourceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
43 
44  //DTOR
45  virtual ~DtResourceSelectionEntryWidget() override;
46 
48  virtual void setLabel(const QString&) override;
49  virtual QString label() const override;
50 
52  virtual void setRange(double bottom, double top) override;
53 
54  virtual void setResource(const DtEntityType&);
55  virtual const DtSimResource* resource() const;
56  virtual DtSimResource* resource();
57  virtual DtEntityType resourceType() const;
58 
60  virtual void setDefaultValue(const std::string&) override;
61 
63  virtual void setVariableData(const QString&) override;
64 
66  virtual void setupFrom(const std::set<makVrv::DtUniqueID>& data) override;
67 
69  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
70 
72  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
73 
75  {
76  return makVrv::DtUnicode::tr("Resource (string or resource.resource_type, resource.bin, resource.amount)");
77  }
78 
79  static std::string designerGroup()
80  {
81  return tr("VR-Forces Resources").toUtf8().constData();
82  }
83 
84  static std::string headerFile()
85  {
86  return tr("<vrfGuiDataEntryWidgets/resourceSelectionEntryWidget.h>").toUtf8().constData();
87  }
88 
89  static std::string variableName()
90  {
91  return tr("resource").toUtf8().constData();
92  }
93 
95  static void initializeForQtDesignerExtension(makVrv::DtDe&, QDesignerFormEditorInterface*);
96 
98  virtual void setBin(int);
99  int bin() const;
100 
102  virtual void setAllowAmountEntry(bool);
103 
105  virtual void setRealResource(const DtSimResource&);
106  virtual void setIntegerResource(const DtSimResource&);
107 
108  virtual void enable();
109  virtual void disable(const QString&);
110 
112  virtual double currentAmount() const;
113  virtual void setCurrentAmount(double);
114 
115  protected slots:
116  virtual void locationChanged();
117  virtual void resourceChanged();
118  virtual void resourceAmountChanged();
119 
120  signals:
121  void resourcesSetUp();
122  void selectedResourceChanged();
123 
124  protected:
129  virtual bool shouldAddResource(const DtSimResource&) const;
130  virtual bool isEntityType(const DtSimResource&, const std::string& validEntityTypes) const;
131 
132  virtual void addResource(const DtSimResource&) override;
133  virtual void resourceUpdated(const DtSimResource&) override;
134  virtual void resourcesChanged() override;
135  virtual void resourceCheckingDisabled() override;
136  virtual void resourceCheckComplete() override;
137 
138  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags) const override;
139 
140  public:
145  QGridLayout* myContentLayout;
148 
151 
152  QDoubleValidator* myDoubleValidator;
153  QIntValidator* myIntValidator;
154 
155  protected:
156  QString myDefaultValue;
158  int myBin = 0;
159  bool myAllowAmountEntry = false;
160 
161  typedef std::vector<std::unique_ptr<DtSimResource>> Resources;
163  DtSimResource* myRestoredResource = nullptr;
164 
166  };
167 
169  {
170  public:
171  DtResourceVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
172  virtual ~DtResourceVariableWidgetExtension() override;
173 
174  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow) override;
175  virtual void setTo(DtScriptedTaskVariable&) const override;
176 
177  public:
181  };
182 
185  {
186  Q_OBJECT
187 
188  public:
189  DtMunitionResourceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
190 
191  //DTOR
192  virtual ~DtMunitionResourceSelectionEntryWidget() override;
193 
195  virtual void setVariableData(const QString&) override;
196 
197  static std::string designerGroup()
198  {
199  return tr("VR-Forces Resources").toUtf8().constData();
200  }
201 
202  static std::string headerFile()
203  {
204  return tr("<vrfGuiDataEntryWidgets/resourceSelectionEntryWidget.h>").toUtf8().constData();
205  }
206 
207  static std::string variableName()
208  {
209  return tr("munition").toUtf8().constData();
210  }
211  };
212 
215  {
216  Q_OBJECT
217 
218  public:
219  DtBombResourceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
220 
221  //DTOR
222  virtual ~DtBombResourceSelectionEntryWidget() override;
223 
225  virtual void setVariableData(const QString&) override;
226 
227  static std::string designerGroup()
228  {
229  return tr("VR-Forces Resources").toUtf8().constData();
230  }
231 
232  static std::string headerFile()
233  {
234  return tr("<vrfGuiDataEntryWidgets/resourceSelectionEntryWidget.h>").toUtf8().constData();
235  }
236 
237  static std::string variableName()
238  {
239  return tr("bomb").toUtf8().constData();
240  }
241 
242  static const std::vector<DtEntityType>& bombMunitionTypes(makVrv::DtDe& de);
243  };
244 
247  {
248  Q_OBJECT
249 
250  public:
251  DtNavalMineResourceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
252 
253  //DTOR
254  virtual ~DtNavalMineResourceSelectionEntryWidget() override;
255 
257  virtual void setVariableData(const QString&) override;
258 
259  static std::string designerGroup()
260  {
261  return tr("VR-Forces Resources").toUtf8().constData();
262  }
263 
264  static std::string headerFile()
265  {
266  return tr("<vrfGuiDataEntryWidgets/resourceSelectionEntryWidget.h>").toUtf8().constData();
267  }
268 
269  static std::string variableName()
270  {
271  return tr("navalMine").toUtf8().constData();
272  }
273  };
274 
279 
282  {
283  Q_OBJECT
284 
285  public:
286  explicit DtResourceSelectionEntryWidgetMenuFactory(makVrv::DtDe&, QExtensionManager *parent = nullptr);
287 
288  protected:
289  virtual QObject *createExtension(QObject *object, const QString &iid, QObject *parent) const override;
290 
291  protected:
293  };
294 
296  {
297  Q_OBJECT
298  Q_INTERFACES(QDesignerTaskMenuExtension)
299 
300  public:
302 
303  virtual QAction *preferredEditAction() const override;
304  virtual QList<QAction *> taskActions() const override;
305 
306  protected slots:
307  virtual void editState();
308 
309  protected:
313  };
314 }
static std::string variableName()
Definition: resourceSelectionEntryWidget.h:237
Widget that only displays anti sub or anti ship mine munition resources.
Definition: resourceSelectionEntryWidget.h:246
Definition: resourceSelectionEntryWidget.h:295
QLabel * myLocationLabel
Definition: resourceSelectionEntryWidget.h:178
QString myDefaultValue
Definition: resourceSelectionEntryWidget.h:156
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Widget that only displays munition resources.
Definition: resourceSelectionEntryWidget.h:184
makVrv::DtSignalConnectionManager myConnections
Definition: resourceSelectionEntryWidget.h:165
Definition: resourceSelectionEntryWidget.h:168
Qt designer extensions.
Definition: resourceSelectionEntryWidget.h:281
CreationFlags
Definition: taskSetVariableWidget.h:118
Widget that allows users to select resources for the given entity.
Definition: resourceSelectionEntryWidget.h:37
static std::string variableName()
Definition: resourceSelectionEntryWidget.h:269
static std::string designerGroup()
Definition: resourceSelectionEntryWidget.h:259
static std::string designerGroup()
Definition: resourceSelectionEntryWidget.h:227
static std::string designerGroup()
Definition: resourceSelectionEntryWidget.h:197
Definition: readerWriter.h:85
QDoubleValidator * myDoubleValidator
Definition: resourceSelectionEntryWidget.h:152
DtResourceSelectionEntryWidget * myWidget
Definition: resourceSelectionEntryWidget.h:311
static makVrv::DtUnicode codeVariableType()
Definition: resourceSelectionEntryWidget.h:74
Common base class that all server responses to a direct client request should subclass from...
Definition: ifServerRequestResponse.h:21
static std::string headerFile()
Definition: resourceSelectionEntryWidget.h:232
std::vector< std::unique_ptr< DtSimResource > > Resources
Definition: resourceSelectionEntryWidget.h:161
makVrv::DtDe & myDe
Definition: resourceSelectionEntryWidget.h:312
static std::string variableName()
Definition: resourceSelectionEntryWidget.h:207
QLabel * myFullLabel
Definition: resourceSelectionEntryWidget.h:146
static std::string headerFile()
Definition: resourceSelectionEntryWidget.h:264
static std::string headerFile()
Definition: resourceSelectionEntryWidget.h:84
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:231
QComboBox * myResourcesCombo
Definition: resourceSelectionEntryWidget.h:144
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools. This will simply call ...
Definition: DtUnicode.h:92
QLabel * myFullAmount
Definition: resourceSelectionEntryWidget.h:147
Definition: taskSetVariableWidget.h:422
Simple string variable widget extension. Hides top/bottom items as they are not needed.
Definition: simpleVariableWidget.h:381
QCheckBox * myAllowDataEntry
Definition: resourceSelectionEntryWidget.h:180
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QComboBox * myLocationsCombo
Definition: resourceSelectionEntryWidget.h:142
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
static std::string designerGroup()
Definition: resourceSelectionEntryWidget.h:79
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
makVrv::DtDe & myDe
Definition: resourceSelectionEntryWidget.h:292
Widget that only displays munition resources.
Definition: resourceSelectionEntryWidget.h:214
static std::string variableName()
Definition: resourceSelectionEntryWidget.h:89
QComboBox * myLocationsCombo
Definition: resourceSelectionEntryWidget.h:179
QIntValidator * myIntValidator
Definition: resourceSelectionEntryWidget.h:153
QGridLayout * myContentLayout
Definition: resourceSelectionEntryWidget.h:145
QLabel * myLocationLabel
Definition: resourceSelectionEntryWidget.h:141
Base class to provide boost signal/slot management.
The class that is the interface between the GUI and the back-end.
Definition: vrfResourceRequestor.h:36
DtSimResource is a class which will define a SISO Enumeration to use as a resource and the quantity o...
Definition: simResource.h:32
QLineEdit * myValueAmount
Definition: resourceSelectionEntryWidget.h:150
QLabel * myValueLabel
Definition: resourceSelectionEntryWidget.h:149
Definition: translator.h:58
QAction * myEditStateAction
Definition: resourceSelectionEntryWidget.h:310
Resources myResources
Definition: resourceSelectionEntryWidget.h:162
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
QLabel * myResourceLabel
Definition: resourceSelectionEntryWidget.h:143
makVrv::DtDe & myDe
Definition: resourceSelectionEntryWidget.h:157
static std::string headerFile()
Definition: resourceSelectionEntryWidget.h:202
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83

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)