VR-Forces 4.7 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 
16 #include <vrfutil/rwUUID.h>
17 
18 class QLabel;
19 class QBoxLayout;
20 class QString;
21 class QListWidget;
22 class QComboBox;
23 
24 namespace makVrv
25 {
26  class DtSimEntry;
27  class DtUnicode;
28 }
29 
30 namespace makVrf
31 {
34  {
35  Q_OBJECT
36  Q_PROPERTY(bool allowMultipleSelecion READ allowMultipleSelection WRITE setAllowMultipleSelection)
37 
38  public:
39  DtWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
40 
41  //DTOR
42  virtual ~DtWeaponSelectionWidget();
43 
45  virtual void setLabel(const QString&);
46  virtual QString label() const;
47 
49  virtual void setRange(double bottom, double top);
50 
52  virtual void setDefaultValue(const std::string&);
53 
55  virtual void setVariableData(const QString&);
56 
58  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
59 
61  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
62 
64  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
65 
69  virtual void requestWeaponsFor(const std::vector<makVrv::DtSimEntry*>& data);
70  virtual void slot_receivedWeaponList(const DtUUID& entity);
71 
75  virtual bool includeResources() const;
76  virtual void setIncludeResources(const bool doInclude);
78 
80  virtual void setAllowMultipleSelection(bool);
81  virtual bool allowMultipleSelection() const;
82 
84  virtual QStringList selectedWeapons() const;
85 
87  virtual void selectWeapons(const QStringList&);
88 
89  static makVrv::DtUnicode codeVariableType()
90  {
91  return makVrv::DtUnicode::tr("String (weapon name)");
92  }
93  static std::string designerGroup()
94  {
95  return tr("VR-Forces Weapon Selection").toUtf8().constData();
96  }
97 
98  static std::string headerFile()
99  {
100  return tr("<vrfGuiCoreQt/weaponSelectionWidget.h>").toUtf8().constData();
101  }
102 
103  static std::string variableName()
104  {
105  return tr("weapon").toUtf8().constData();
106  }
107 
108  boost::signal<void ()> signal_receivedWeaponsList;
109  boost::signal<void ()> signal_weaponSelectionChanged;
110 
111  protected:
112  virtual std::string variableDataFromUiDesigner(const QDomElement& element, const DtScriptedTaskVariableLayoutConverter& converter) const;
113  virtual void addWeapon(const WeaponSystem&);
114  virtual void weaponUpdated(const WeaponSystem&);
115  virtual void weaponChanged();
116  virtual void weaponCheckingDisabled();
117  virtual void weaponCheckComplete();
118  virtual void updateWeapons();
119  virtual void nextRequest();
120  virtual void setupForComboBox();
121  virtual void setupForListBox();
122 
123  protected slots:
124  virtual void weaponSelectionChanged();
125 
126  protected:
127  std::set<DtUUID> myToRequest;
129  std::set<DtUUID> myDidRequest;
130  std::vector<DtUUID> myCurrSelected;
135 
136  public:
139  QListWidget* myWeaponSystemsList;
140  QBoxLayout* myContentLayout;
141  QString myDefaultValue;
142 
143  protected:
145  QString myTitle;
146  };
147 
150  {
151  Q_OBJECT
152 
153  public:
154  DtDirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
155 
156  //DTOR
158 
159  static std::string designerGroup()
160  {
161  return tr("VR-Forces Weapon Selection").toUtf8().constData();
162  }
163 
164  static std::string headerFile()
165  {
166  return tr("<vrfGuiCoreQt/weaponSelectionWidget.h>").toUtf8().constData();
167  }
168 
169  static std::string variableName()
170  {
171  return tr("directFire").toUtf8().constData();
172  }
173 
174  protected:
175  virtual void addWeapon(const WeaponSystem&);
176  };
177 
180  {
181  Q_OBJECT
182 
183  public:
184  DtIndirectFireWeaponSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
185 
186  //DTOR
188 
189  static std::string designerGroup()
190  {
191  return tr("VR-Forces Weapon Selection").toUtf8().constData();
192  }
193 
194  static std::string headerFile()
195  {
196  return tr("<vrfGuiCoreQt/weaponSelectionWidget.h>").toUtf8().constData();
197  }
198 
199  static std::string variableName()
200  {
201  return tr("indirectFire").toUtf8().constData();
202  }
203 
204  protected:
205  virtual void addWeapon(const WeaponSystem&);
206  };
207 
211 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)