VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
forceSelectionEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
18 #include <vrvCore/DtForceManager.h>
19 #include <QtWidgets/QWidget>
20 #include <QtWidgets/QPushButton>
21 #endif
22 #include <boost/signals2.hpp>
23 
24 class QLabel;
25 class QComboBox;
26 class QHBoxLayout;
27 class QSpacerItem;
28 
29 namespace makVrv
30 {
31  class DtDe;
32 }
33 
34 namespace makVrf
35 {
36  class DtToolButtonWrapperWidget;
37 
39  {
40  public:
41  DtColorButton(QWidget* p);
42 
43  virtual ~DtColorButton() override {};
44  virtual void setColor(const QColor& c);
45  virtual void setOverlayPixmap(const QPixmap&);
46  virtual void changeEvent(QEvent*) override;
47 
48  const QPixmap& overlayPixmap() const
49  {
50  return myOverlayPixmap;
51  }
52 
53  protected:
54  virtual void updatePixmap();
55 
56  protected:
57  QColor myColor;
58  QPixmap myOverlayPixmap;
59  };
60 
63  {
64  Q_OBJECT
65 
66  public:
67  struct ForceInfo
68  {
69  ForceInfo() : force(0) {};
70  ForceInfo(const std::string& f, makVrv::DtForceManager::RGBAColor c, int i, const std::string& cc) :
71  forceName(f), forceColor(c), force(i), countryCode(cc) {};
72  ForceInfo(const ForceInfo& orig) : forceName(orig.forceName), forceColor(orig.forceColor), force(orig.force), countryCode(orig.countryCode) {};
73 
74  std::string forceName;
75  std::string countryCode;
77  int force;
78  };
79 
80  DtForceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
81 
82  //DTOR
83  virtual ~DtForceSelectionEntryWidget() override;
84 
86  virtual void setLabel(const QString&) override;
87  virtual QString label() const;
88 
90  virtual void setLabel(const std::string&) override;
91 
93  virtual void setRange(double bottom, double top) override;
94 
97  virtual void setDefaultValue(const std::string&) override;
98 
100  virtual void setVariableData(const std::string&) override;
101 
103  virtual void setupFrom(const std::set<makVrv::DtUniqueID>& data) override;
104 
106  virtual void setToolTip(const QString&) override;
107 
109  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
110 
112  virtual void addForce(const ForceInfo& f, bool layoutButtons = false);
113 
115  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
116 
118  virtual void setForce(int);
119 
121  virtual int force() const;
122 
124  virtual std::vector<int> forces() const;
125 
127  virtual void setIndent(int) override;
128 
129  virtual void clear();
130 
132  virtual bool isValid() const override {
133  return true;
134  }
135 
137  {
138  return makVrv::DtUnicode::tr("Integer (force type)");
139  }
140 
141  static std::string designerGroup()
142  {
143  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
144  }
145 
146  static std::string headerFile()
147  {
148  return tr("<vrfGuiDataEntryWidgets/forceSelectionEntryWidget.h>").toUtf8().constData();
149  }
150 
151  static std::string variableName()
152  {
153  return tr("forceSelection").toUtf8().constData();
154  }
155 
156  static bool includeInQtDesigner()
157  {
158  return true;
159  }
160 
162  virtual void setAddAllForce(bool b);
163  bool addAllForce() const
164  {
165  return myAddAllForce;
166  }
167 
170  virtual void setAllowMultipleForceSelection(bool b);
172  {
173  return myAllowMultipleForceSelection;
174  }
175 
178  virtual void setApplyGroundTruthFilter(bool);
179  virtual bool applyGroundTruthFilter() const;
180  virtual void initializeForces();
181 
183  virtual void setUseFixedWidth(bool);
184  virtual bool useFixedWidth() const;
185 
186  virtual std::string scriptedTaskVariableName() const override;
187  virtual void setAllowColorSelection(bool b);
188  bool allowColorSelection() const
189  {
190  return myAllowColorSelection;
191  }
192 
193  virtual void setMaximumColorButtons(int);
195  {
196  return myMaximumColorButtons;
197  }
198 
200  boost::signals2::signal<void (int)> signal_forceSelectionChanged;
201  boost::signals2::signal<void (const std::vector<int>&)> signal_forcesSelectionChanged;
202 
203  virtual void setOverlayFlags(bool);
204  bool overlayFlags() const
205  {
206  return myOverlayFlags;
207  }
208 
209  virtual bool forceCanBeCreatedByUser(int f) const;
210 
211  protected slots:
212  virtual void activated(int);
213  virtual void slot_onForceChangedByButton();
214 
215  protected:
216  virtual void countryChanged();
217  virtual void slot_spotReportOptionsChanged(const DtVrfSpotReportsSettingsRecord& s);
218  virtual void updateDisplay();
219  virtual void setSelection(const std::set<makVrv::DtUniqueID>&) override {};
220 
222  virtual std::string variableDataFromUiDesigner(
223  const QDomElement&, const DtScriptedTaskVariableLayoutConverter&) const override
224  {
225  return "";
226  }
227 
228  virtual void resetForcesDisplay();
229  virtual void resizeEvent(QResizeEvent*) override;
230  virtual void initialize();
231 
232  public:
235  QHBoxLayout* myContentLayout;
236  QSpacerItem* mySpacerItem;
238 
239  protected:
242  typedef std::map<int, ForceInfo> PotentialForces;
250  bool myAddAllForce = false;
251  bool myAllowMultipleForceSelection = false;
252  };
253 
255 }
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:62
PotentialForces myPotentialForces
Definition: forceSelectionEntryWidget.h:243
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::map< int, ForceInfo > PotentialForces
Definition: forceSelectionEntryWidget.h:242
This class will try and space out items such that they will wrap to multiple rows if buttons (or text...
Definition: toolButtonWrapperWidget.h:32
CreationFlags
Definition: taskSetVariableWidget.h:118
bool myAllowColorSelection
Definition: forceSelectionEntryWidget.h:246
makVrv::DtSignalConnectionManager myConnections
Definition: forceSelectionEntryWidget.h:245
Definition: DtForceManager.h:44
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
Definition: vrfSpotReportsSettingsRecord.h:33
makVrv::DtDe & myDe
Definition: forceSelectionEntryWidget.h:240
Definition: readerWriter.h:85
QColor myColor
Definition: forceSelectionEntryWidget.h:57
static bool includeInQtDesigner()
Definition: forceSelectionEntryWidget.h:156
QAbstractButton * myCurrentForceButtonSelected
Definition: forceSelectionEntryWidget.h:247
Definition: forceSelectionEntryWidget.h:38
QSpacerItem * mySpacerItem
Definition: forceSelectionEntryWidget.h:236
static std::string designerGroup()
Definition: forceSelectionEntryWidget.h:141
QComboBox * myForces
Definition: forceSelectionEntryWidget.h:234
virtual void setSelection(const std::set< makVrv::DtUniqueID > &) override
The selection set can be used to determine the display units to show.
Definition: forceSelectionEntryWidget.h:219
static std::string headerFile()
Definition: forceSelectionEntryWidget.h:146
static std::string variableName()
Definition: forceSelectionEntryWidget.h:151
QLabel * myForceLabel
Definition: forceSelectionEntryWidget.h:233
const QPixmap & overlayPixmap() const
Definition: forceSelectionEntryWidget.h:48
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
ForceInfo()
Definition: forceSelectionEntryWidget.h:69
Definition: taskSetVariableWidget.h:422
This class will define the interface needed for being a task set variable that can be used in task di...
Definition: taskSetVariableWidget.h:115
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int maximumColorButtons() const
Definition: forceSelectionEntryWidget.h:194
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
virtual std::string variableDataFromUiDesigner(const QDomElement &, const DtScriptedTaskVariableLayoutConverter &) const override
Given the Ui designer properties create a string that will represent the variable data for those prop...
Definition: forceSelectionEntryWidget.h:222
bool allowMultipleForceSelection() const
Definition: forceSelectionEntryWidget.h:171
virtual ~DtColorButton() override
Definition: forceSelectionEntryWidget.h:43
std::string countryCode
Definition: forceSelectionEntryWidget.h:75
Definition: forceSelectionEntryWidget.h:67
bool myOverlayFlags
Definition: forceSelectionEntryWidget.h:249
Contains makVrv::DtForceManager class.
bool myInitialized
Definition: forceSelectionEntryWidget.h:248
boost::signals2::signal< void(int)> signal_forceSelectionChanged
The integer is the new force type.
Definition: forceSelectionEntryWidget.h:200
Base class to provide boost signal/slot management.
virtual bool isValid() const override
Indicates the current selection is valid.
Definition: forceSelectionEntryWidget.h:132
static makVrv::DtUnicode codeVariableType()
Definition: forceSelectionEntryWidget.h:136
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
QPixmap myOverlayPixmap
Definition: forceSelectionEntryWidget.h:58
makVrv::DtForceManager::RGBAColor forceColor
Definition: forceSelectionEntryWidget.h:76
bool addAllForce() const
Definition: forceSelectionEntryWidget.h:163
bool overlayFlags() const
Definition: forceSelectionEntryWidget.h:204
DtToolButtonWrapperWidget * myForceContainer
Definition: forceSelectionEntryWidget.h:237
ForceInfo(const std::string &f, makVrv::DtForceManager::RGBAColor c, int i, const std::string &cc)
Definition: forceSelectionEntryWidget.h:70
bool allowColorSelection() const
Definition: forceSelectionEntryWidget.h:188
int myMaximumColorButtons
Definition: forceSelectionEntryWidget.h:244
QHBoxLayout * myContentLayout
Definition: forceSelectionEntryWidget.h:235
int force
Definition: forceSelectionEntryWidget.h:77
bool myApplyGroundTruthFilter
Definition: forceSelectionEntryWidget.h:241
DtTaskSetVariableWidgetCreator< DtForceSelectionEntryWidget > DtForceSelectionEntryWidgetCreator
Definition: forceSelectionEntryWidget.h:254

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)