VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
weaponSelectionWidget.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)
17 #include <vrfutil/rwUUID.h>
18 #endif
19 #include <boost/signals2.hpp>
20 
21 class QLabel;
22 class QBoxLayout;
23 class QString;
24 class QListWidget;
25 class QComboBox;
26 
27 namespace makVrv
28 {
29  class DtSimEntry;
30  class DtUnicode;
31 }
32 
33 namespace makVrf
34 {
37  {
38  Q_OBJECT
39  Q_PROPERTY(bool allowMultipleSelecion READ allowMultipleSelection WRITE setAllowMultipleSelection)
40 
41  public:
42  DtWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
43 
44  //DTOR
45  virtual ~DtWeaponSelectionWidget();
46 
48  virtual void setLabel(const QString&);
49  virtual QString label() const;
50 
52  virtual void setWeaponFilterType(DtWeaponSystemType type);
53  virtual DtWeaponSystemType weaponFilterType() const;
54 
56  virtual void setRange(double bottom, double top);
57 
59  virtual void setDefaultValue(const std::string&);
60 
62  virtual void setVariableData(const QString&);
63 
65  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
66 
68  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
69 
71  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
72 
76  virtual void requestWeaponsFor(const std::vector<makVrv::DtSimEntry*>& data);
77  virtual void slot_receivedWeaponList(const DtUUID& entity);
78 
82  virtual bool includeResources() const;
83  virtual void setIncludeResources(const bool doInclude);
85 
87  virtual void setAllowMultipleSelection(bool);
88  virtual bool allowMultipleSelection() const;
89 
91  virtual QStringList selectedWeapons() const;
92 
94  virtual void selectWeapons(const QStringList&);
95 
97  {
98  return makVrv::DtUnicode::tr("String (weapon name)");
99  }
100  static std::string designerGroup()
101  {
102  return tr("VR-Forces Weapon Selection").toUtf8().constData();
103  }
104 
105  static std::string headerFile()
106  {
107  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
108  }
109 
110  static std::string variableName()
111  {
112  return tr("weapon").toUtf8().constData();
113  }
114 
115  boost::signals2::signal<void ()> signal_receivedWeaponsList;
116  boost::signals2::signal<void ()> signal_weaponSelectionChanged;
117 
118  protected:
119  virtual std::string variableDataFromUiDesigner(const QDomElement& element, const DtScriptedTaskVariableLayoutConverter& converter) const;
120  virtual void addWeapon(const WeaponSystem&);
121  virtual void weaponUpdated(const WeaponSystem&);
122  virtual void weaponChanged();
123  virtual void weaponCheckingDisabled();
124  virtual void weaponCheckComplete();
125  virtual void updateWeapons();
126  virtual void nextRequest();
127  virtual void setupForComboBox();
128  virtual void setupForListBox();
129 
130  protected slots:
131  virtual void weaponSelectionChanged();
132 
133  protected:
134  std::set<DtUUID> myToRequest;
136  std::set<DtUUID> myDidRequest;
137  std::vector<DtUUID> myCurrSelected;
144 
145  public:
148  QListWidget* myWeaponSystemsList;
150  QBoxLayout* myContentLayout;
151  QString myDefaultValue;
152 
153  protected:
155  QString myTitle;
156  };
157 
160  {
161  Q_OBJECT
162 
163  public:
164  DtDirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
165 
166  //DTOR
168 
169  static std::string designerGroup()
170  {
171  return tr("VR-Forces Weapon Selection").toUtf8().constData();
172  }
173 
174  static std::string headerFile()
175  {
176  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
177  }
178 
179  static std::string variableName()
180  {
181  return tr("directFire").toUtf8().constData();
182  }
183 
184  protected:
185  virtual void addWeapon(const WeaponSystem&);
186  };
187 
190  {
191  Q_OBJECT
192 
193  public:
194  DtIndirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
195 
196  //DTOR
198 
199  static std::string designerGroup()
200  {
201  return tr("VR-Forces Weapon Selection").toUtf8().constData();
202  }
203 
204  static std::string headerFile()
205  {
206  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
207  }
208 
209  static std::string variableName()
210  {
211  return tr("indirectFire").toUtf8().constData();
212  }
213 
214  protected:
215  virtual void addWeapon(const WeaponSystem&);
216  };
217 
221 }
QBoxLayout * myContentLayout
Definition: weaponSelectionWidget.h:150
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Widget that allows users to select weapons for the given entity.
Definition: weaponSelectionWidget.h:36
CreationFlags
Definition: taskSetVariableWidget.h:118
static std::string headerFile()
Definition: weaponSelectionWidget.h:105
Widget that only displays direct fire weapons.
Definition: weaponSelectionWidget.h:159
QListWidget * myWeaponSystemsList
Definition: weaponSelectionWidget.h:148
boost::signals2::signal< void()> signal_weaponSelectionChanged
Definition: weaponSelectionWidget.h:116
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
QComboBox * myWeaponSystemsCombo
Definition: weaponSelectionWidget.h:147
Definition: readerWriter.h:85
static std::string variableName()
Definition: weaponSelectionWidget.h:110
Widget that only displays indirect fire weapons.
Definition: weaponSelectionWidget.h:189
static makVrv::DtUnicode codeVariableType()
Definition: weaponSelectionWidget.h:96
Contains the DtUUID class declaration.
QString myTitle
Definition: weaponSelectionWidget.h:155
static std::string headerFile()
Definition: weaponSelectionWidget.h:204
DtWeaponSystemType
This now allows us to query the backend for specific types of weapons.
Definition: weaponListResponseAdmin.h:17
DtTaskSetVariableWidgetCreator< DtDirectFireWeaponSelectionWidget > DtDirectFireWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:219
std::set< DtUUID > myDidRequest
Definition: weaponSelectionWidget.h:136
bool myIncludeResources
Indicates whether the back end will be asked to include resources with the weapon names it returns; a...
Definition: weaponSelectionWidget.h:141
static std::string designerGroup()
Definition: weaponSelectionWidget.h:169
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:228
static std::string variableName()
Definition: weaponSelectionWidget.h:179
std::vector< DtUUID > myCurrSelected
Definition: weaponSelectionWidget.h:137
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
QString myDefaultValue
Definition: weaponSelectionWidget.h:151
Definition: taskSetVariableWidget.h:419
static std::string headerFile()
Definition: weaponSelectionWidget.h:174
std::set< DtUUID > myAwaitingWeaponSystemResponse
Definition: weaponSelectionWidget.h:135
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
std::set< DtUUID > myToRequest
Definition: weaponSelectionWidget.h:134
DtWeaponSystemType myWeaponFilterType
Option to allow user to filter by a particular category of weapon.
Definition: weaponSelectionWidget.h:143
bool myMultipleSelection
Definition: weaponSelectionWidget.h:154
QLabel * myWeaponLabel
Definition: weaponSelectionWidget.h:146
static std::string designerGroup()
Definition: weaponSelectionWidget.h:100
DtTaskSetVariableWidgetCreator< DtWeaponSelectionWidget > DtWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:218
static std::string designerGroup()
Definition: weaponSelectionWidget.h:199
Definition: weaponListResponseAdmin.h:27
static std::string variableName()
Definition: weaponSelectionWidget.h:209
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:70
boost::signals2::signal< void()> signal_receivedWeaponsList
Definition: weaponSelectionWidget.h:115
QHBoxLayout * myWeaponSystemsListLayout
Definition: weaponSelectionWidget.h:149
DtTaskSetVariableWidgetCreator< DtIndirectFireWeaponSelectionWidget > DtIndirectFireWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:220

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)