VR-Forces 4.10 Class Documentation
 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;
149  QBoxLayout* myContentLayout;
150  QString myDefaultValue;
151 
152  protected:
154  QString myTitle;
155  };
156 
159  {
160  Q_OBJECT
161 
162  public:
163  DtDirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
164 
165  //DTOR
167 
168  static std::string designerGroup()
169  {
170  return tr("VR-Forces Weapon Selection").toUtf8().constData();
171  }
172 
173  static std::string headerFile()
174  {
175  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
176  }
177 
178  static std::string variableName()
179  {
180  return tr("directFire").toUtf8().constData();
181  }
182 
183  protected:
184  virtual void addWeapon(const WeaponSystem&);
185  };
186 
189  {
190  Q_OBJECT
191 
192  public:
193  DtIndirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
194 
195  //DTOR
197 
198  static std::string designerGroup()
199  {
200  return tr("VR-Forces Weapon Selection").toUtf8().constData();
201  }
202 
203  static std::string headerFile()
204  {
205  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
206  }
207 
208  static std::string variableName()
209  {
210  return tr("indirectFire").toUtf8().constData();
211  }
212 
213  protected:
214  virtual void addWeapon(const WeaponSystem&);
215  };
216 
220 }
QBoxLayout * myContentLayout
Definition: weaponSelectionWidget.h:149
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
A unicode string.
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:158
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:188
static makVrv::DtUnicode codeVariableType()
Definition: weaponSelectionWidget.h:96
QString myTitle
Definition: weaponSelectionWidget.h:154
static std::string headerFile()
Definition: weaponSelectionWidget.h:203
DtWeaponSystemType
This now allows us to query the backend for specific types of weapons.
Definition: weaponListResponseAdmin.h:17
DtTaskSetVariableWidgetCreator< DtDirectFireWeaponSelectionWidget > DtDirectFireWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:218
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:168
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:228
static std::string variableName()
Definition: weaponSelectionWidget.h:178
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.
Definition: DtUnicode.h:92
QString myDefaultValue
Definition: weaponSelectionWidget.h:150
Definition: taskSetVariableWidget.h:419
static std::string headerFile()
Definition: weaponSelectionWidget.h:173
std::set< DtUUID > myAwaitingWeaponSystemResponse
Definition: weaponSelectionWidget.h:135
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:23
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:153
QLabel * myWeaponLabel
Definition: weaponSelectionWidget.h:146
static std::string designerGroup()
Definition: weaponSelectionWidget.h:100
DtTaskSetVariableWidgetCreator< DtWeaponSelectionWidget > DtWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:217
static std::string designerGroup()
Definition: weaponSelectionWidget.h:198
Definition: weaponListResponseAdmin.h:27
static std::string variableName()
Definition: weaponSelectionWidget.h:208
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void()> signal_receivedWeaponsList
Definition: weaponSelectionWidget.h:115
DtTaskSetVariableWidgetCreator< DtIndirectFireWeaponSelectionWidget > DtIndirectFireWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:219

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)