VR-Forces 5.0.2 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)
17 #include <vrvCore/DtForceManager.h>
18 #include <QtWidgets/QWidget>
19 #include <QtWidgets/QPushButton>
20 #endif
21 #include <boost/signals2.hpp>
22 
23 class QLabel;
24 class QComboBox;
25 class QHBoxLayout;
26 class QSpacerItem;
27 
28 namespace makVrv
29 {
30  class DtDe;
31 }
32 
33 namespace makVrf
34 {
35  class DtToolButtonWrapperWidget;
36 
38  {
39  public:
40  DtColorButton(QWidget* p);
41 
42  virtual ~DtColorButton() {};
43  virtual void setColor(const QColor& c);
44  virtual void setOverlayPixmap(const QPixmap&);
45  virtual void changeEvent(QEvent*) override;
46 
47  const QPixmap& overlayPixmap() const
48  {
49  return myOverlayPixmap;
50  }
51 
52  protected:
53  virtual void updatePixmap();
54 
55  protected:
56  QColor myColor;
57  QPixmap myOverlayPixmap;
58  };
59 
62  {
63  Q_OBJECT
64 
65  public:
66  struct ForceInfo
67  {
68  ForceInfo() : force(0) {};
69  ForceInfo(const std::string& f, makVrv::DtForceManager::RGBAColor c, int i, const std::string& cc) :
70  forceName(f), forceColor(c), force(i), countryCode(cc) {};
71  ForceInfo(const ForceInfo& orig) : forceName(orig.forceName), forceColor(orig.forceColor), force(orig.force), countryCode(orig.countryCode) {};
72 
73  std::string forceName;
74  std::string countryCode;
76  int force;
77  };
78 
79  DtForceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
80 
81  //DTOR
82  virtual ~DtForceSelectionEntryWidget();
83 
85  virtual void setLabel(const QString&);
86  virtual QString label() const;
87 
89  virtual void setLabel(const std::string&);
90 
92  virtual void setRange(double bottom, double top);
93 
96  virtual void setDefaultValue(const std::string&);
97 
99  virtual void setVariableData(const std::string&);
100 
102  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
103 
105  virtual void setToolTip(const QString&);
106 
108  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
109 
111  virtual void addForce(const ForceInfo& f, bool layoutButtons = false);
112 
114  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
115 
117  virtual void setForce(int);
118 
120  virtual int force() const;
121 
123  virtual void setIndent(int);
124 
125  virtual void clear();
126 
128  virtual bool isValid() const
129  {
130  return true;
131  }
132 
134  {
135  return makVrv::DtUnicode::tr("Integer (force type)");
136  }
137 
138  static std::string designerGroup()
139  {
140  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
141  }
142 
143  static std::string headerFile()
144  {
145  return tr("<vrfGuiDataEntryWidgets/forceSelectionEntryWidget.h>").toUtf8().constData();
146  }
147 
148  static std::string variableName()
149  {
150  return tr("forceSelection").toUtf8().constData();
151  }
152 
153  static bool includeInQtDesigner()
154  {
155  return true;
156  }
157 
160  virtual void setApplyGroundTruthFilter(bool);
161  virtual bool applyGroundTruthFilter() const;
162  virtual void initializeForces();
163 
165  virtual void setUseFixedWidth(bool);
166  virtual bool useFixedWidth() const;
167 
168  virtual std::string scriptedTaskVariableName() const;
169  virtual void setAllowColorSelection(bool b);
170  bool allowColorSelection() const
171  {
172  return myAllowColorSelection;
173  }
174 
175  virtual void setMaximumColorButtons(int);
177  {
178  return myMaximumColorButtons;
179  }
180 
182  boost::signals2::signal<void (int)> signal_forceSelectionChanged;
183 
184  virtual void setOverlayFlags(bool);
185  bool overlayFlags() const
186  {
187  return myOverlayFlags;
188  }
189 
190  protected slots:
191  virtual void activated(int);
192  virtual void slot_onForceChangedByButton();
193 
194  protected:
195  virtual void countryChanged();
196  virtual bool forceCanBeCreatedByUser(int f) const;
197  virtual void slot_spotReportOptionsChanged(const DtVrfSpotReportsSettingsRecord& s);
198  virtual void updateDisplay();
199  void setSelection(const std::set<makVrv::DtUniqueID>&) {};
200  void setSelection(const std::vector<makVrv::DtSimEntry*>&) {};
201 
203  virtual std::string variableDataFromUiDesigner(const QDomElement&, const DtScriptedTaskVariableLayoutConverter&) const
204  {
205  return "";
206  }
207 
208  virtual void resetForcesDisplay();
209  virtual void resizeEvent(QResizeEvent*);
210  virtual void initialize();
211 
212  public:
215  QHBoxLayout* myContentLayout;
216  QSpacerItem* mySpacerItem;
218 
219  protected:
222  typedef std::map<int, ForceInfo> PotentialForces;
230  };
231 
233 }
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
PotentialForces myPotentialForces
Definition: forceSelectionEntryWidget.h:223
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:222
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:226
makVrv::DtSignalConnectionManager myConnections
Definition: forceSelectionEntryWidget.h:225
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
The Master Scenario Settings Dialog.
Definition: vrfSpotReportsSettingsRecord.h:33
makVrv::DtDe & myDe
Definition: forceSelectionEntryWidget.h:220
Definition: readerWriter.h:85
QColor myColor
Definition: forceSelectionEntryWidget.h:56
static bool includeInQtDesigner()
Definition: forceSelectionEntryWidget.h:153
QAbstractButton * myCurrentForceButtonSelected
Definition: forceSelectionEntryWidget.h:227
Definition: forceSelectionEntryWidget.h:37
QSpacerItem * mySpacerItem
Definition: forceSelectionEntryWidget.h:216
static std::string designerGroup()
Definition: forceSelectionEntryWidget.h:138
QComboBox * myForces
Definition: forceSelectionEntryWidget.h:214
static std::string headerFile()
Definition: forceSelectionEntryWidget.h:143
static std::string variableName()
Definition: forceSelectionEntryWidget.h:148
virtual std::string variableDataFromUiDesigner(const QDomElement &, const DtScriptedTaskVariableLayoutConverter &) const
Given the Ui designer properties create a string that will represent the variable data for those prop...
Definition: forceSelectionEntryWidget.h:203
QLabel * myForceLabel
Definition: forceSelectionEntryWidget.h:213
const QPixmap & overlayPixmap() const
Definition: forceSelectionEntryWidget.h:47
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:68
Definition: taskSetVariableWidget.h:419
This class will define the interface needed for being a task set variable that can be used in task di...
Definition: taskSetVariableWidget.h:115
void setSelection(const std::set< makVrv::DtUniqueID > &)
The selection set can be used to determine the diplay units to show.
Definition: forceSelectionEntryWidget.h:199
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int maximumColorButtons() const
Definition: forceSelectionEntryWidget.h:176
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
std::string countryCode
Definition: forceSelectionEntryWidget.h:74
Definition: forceSelectionEntryWidget.h:66
bool myOverlayFlags
Definition: forceSelectionEntryWidget.h:229
Contains makVrv::DtForceManager class.
bool myInitialized
Definition: forceSelectionEntryWidget.h:228
boost::signals2::signal< void(int)> signal_forceSelectionChanged
The integer is the new force type.
Definition: forceSelectionEntryWidget.h:182
Base class to provide boost signal/slot management.
virtual bool isValid() const
Indicates the current selection is valid.
Definition: forceSelectionEntryWidget.h:128
static makVrv::DtUnicode codeVariableType()
Definition: forceSelectionEntryWidget.h:133
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
QPixmap myOverlayPixmap
Definition: forceSelectionEntryWidget.h:57
makVrv::DtForceManager::RGBAColor forceColor
Definition: forceSelectionEntryWidget.h:75
bool overlayFlags() const
Definition: forceSelectionEntryWidget.h:185
DtToolButtonWrapperWidget * myForceContainer
Definition: forceSelectionEntryWidget.h:217
ForceInfo(const std::string &f, makVrv::DtForceManager::RGBAColor c, int i, const std::string &cc)
Definition: forceSelectionEntryWidget.h:69
virtual ~DtColorButton()
Definition: forceSelectionEntryWidget.h:42
bool allowColorSelection() const
Definition: forceSelectionEntryWidget.h:170
int myMaximumColorButtons
Definition: forceSelectionEntryWidget.h:224
QHBoxLayout * myContentLayout
Definition: forceSelectionEntryWidget.h:215
int force
Definition: forceSelectionEntryWidget.h:76
bool myApplyGroundTruthFilter
Definition: forceSelectionEntryWidget.h:221
DtTaskSetVariableWidgetCreator< DtForceSelectionEntryWidget > DtForceSelectionEntryWidgetCreator
Definition: forceSelectionEntryWidget.h:232
void setSelection(const std::vector< makVrv::DtSimEntry * > &)
Definition: forceSelectionEntryWidget.h:200

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)