VR-Forces 4.8 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 setRange(double bottom, double top);
53 
55  virtual void setDefaultValue(const std::string&);
56 
58  virtual void setVariableData(const QString&);
59 
61  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
62 
64  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
65 
67  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
68 
72  virtual void requestWeaponsFor(const std::vector<makVrv::DtSimEntry*>& data);
73  virtual void slot_receivedWeaponList(const DtUUID& entity);
74 
78  virtual bool includeResources() const;
79  virtual void setIncludeResources(const bool doInclude);
81 
83  virtual void setAllowMultipleSelection(bool);
84  virtual bool allowMultipleSelection() const;
85 
87  virtual QStringList selectedWeapons() const;
88 
90  virtual void selectWeapons(const QStringList&);
91 
93  {
94  return makVrv::DtUnicode::tr("String (weapon name)");
95  }
96  static std::string designerGroup()
97  {
98  return tr("VR-Forces Weapon Selection").toUtf8().constData();
99  }
100 
101  static std::string headerFile()
102  {
103  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
104  }
105 
106  static std::string variableName()
107  {
108  return tr("weapon").toUtf8().constData();
109  }
110 
111  boost::signals2::signal<void ()> signal_receivedWeaponsList;
112  boost::signals2::signal<void ()> signal_weaponSelectionChanged;
113 
114  protected:
115  virtual std::string variableDataFromUiDesigner(const QDomElement& element, const DtScriptedTaskVariableLayoutConverter& converter) const;
116  virtual void addWeapon(const WeaponSystem&);
117  virtual void weaponUpdated(const WeaponSystem&);
118  virtual void weaponChanged();
119  virtual void weaponCheckingDisabled();
120  virtual void weaponCheckComplete();
121  virtual void updateWeapons();
122  virtual void nextRequest();
123  virtual void setupForComboBox();
124  virtual void setupForListBox();
125 
126  protected slots:
127  virtual void weaponSelectionChanged();
128 
129  protected:
130  std::set<DtUUID> myToRequest;
132  std::set<DtUUID> myDidRequest;
133  std::vector<DtUUID> myCurrSelected;
138 
139  public:
142  QListWidget* myWeaponSystemsList;
143  QBoxLayout* myContentLayout;
144  QString myDefaultValue;
145 
146  protected:
148  QString myTitle;
149  };
150 
153  {
154  Q_OBJECT
155 
156  public:
157  DtDirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
158 
159  //DTOR
161 
162  static std::string designerGroup()
163  {
164  return tr("VR-Forces Weapon Selection").toUtf8().constData();
165  }
166 
167  static std::string headerFile()
168  {
169  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
170  }
171 
172  static std::string variableName()
173  {
174  return tr("directFire").toUtf8().constData();
175  }
176 
177  protected:
178  virtual void addWeapon(const WeaponSystem&);
179  };
180 
183  {
184  Q_OBJECT
185 
186  public:
187  DtIndirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
188 
189  //DTOR
191 
192  static std::string designerGroup()
193  {
194  return tr("VR-Forces Weapon Selection").toUtf8().constData();
195  }
196 
197  static std::string headerFile()
198  {
199  return tr("<vrfGuiDataEntryWidgets/weaponSelectionWidget.h>").toUtf8().constData();
200  }
201 
202  static std::string variableName()
203  {
204  return tr("indirectFire").toUtf8().constData();
205  }
206 
207  protected:
208  virtual void addWeapon(const WeaponSystem&);
209  };
210 
214 }
QBoxLayout * myContentLayout
Definition: weaponSelectionWidget.h:143
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:115
static std::string headerFile()
Definition: weaponSelectionWidget.h:101
Widget that only displays direct fire weapons.
Definition: weaponSelectionWidget.h:152
QListWidget * myWeaponSystemsList
Definition: weaponSelectionWidget.h:142
boost::signals2::signal< void()> signal_weaponSelectionChanged
Definition: weaponSelectionWidget.h:112
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:141
Definition: readerWriter.h:85
static std::string variableName()
Definition: weaponSelectionWidget.h:106
Widget that only displays indirect fire weapons.
Definition: weaponSelectionWidget.h:182
static makVrv::DtUnicode codeVariableType()
Definition: weaponSelectionWidget.h:92
QString myTitle
Definition: weaponSelectionWidget.h:148
static std::string headerFile()
Definition: weaponSelectionWidget.h:197
DtTaskSetVariableWidgetCreator< DtDirectFireWeaponSelectionWidget > DtDirectFireWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:212
std::set< DtUUID > myDidRequest
Definition: weaponSelectionWidget.h:132
bool myIncludeResources
Indicates whether the back end will be asked to include resources with the weapon names it returns; a...
Definition: weaponSelectionWidget.h:137
static std::string designerGroup()
Definition: weaponSelectionWidget.h:162
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:215
static std::string variableName()
Definition: weaponSelectionWidget.h:172
std::vector< DtUUID > myCurrSelected
Definition: weaponSelectionWidget.h:133
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:144
Definition: taskSetVariableWidget.h:393
static std::string headerFile()
Definition: weaponSelectionWidget.h:167
std::set< DtUUID > myAwaitingWeaponSystemResponse
Definition: weaponSelectionWidget.h:131
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:23
std::set< DtUUID > myToRequest
Definition: weaponSelectionWidget.h:130
bool myMultipleSelection
Definition: weaponSelectionWidget.h:147
QLabel * myWeaponLabel
Definition: weaponSelectionWidget.h:140
static std::string designerGroup()
Definition: weaponSelectionWidget.h:96
DtTaskSetVariableWidgetCreator< DtWeaponSelectionWidget > DtWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:211
static std::string designerGroup()
Definition: weaponSelectionWidget.h:192
Definition: weaponListResponseAdmin.h:26
static std::string variableName()
Definition: weaponSelectionWidget.h:202
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void()> signal_receivedWeaponsList
Definition: weaponSelectionWidget.h:111
DtTaskSetVariableWidgetCreator< DtIndirectFireWeaponSelectionWidget > DtIndirectFireWeaponSelectionWidgetCreator
Definition: weaponSelectionWidget.h:213

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)