VR-Forces 4.10 Class Documentation
 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 <vrvVrl/DtForceManager.h>
18 #include <QtWidgets/QWidget>
19 #include <QtWidgets/QToolButton>
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) : QToolButton(p) {};
41 
42  virtual ~DtColorButton() {};
43  virtual void setColor(const QColor& c);
44  virtual void paintEvent(QPaintEvent* e);
45  virtual void setOverlayPixmap(const QPixmap&);
46  const QPixmap& overlayPixmap() const
47  {
48  return myOverlayPixmap;
49  }
50 
51  protected:
52  QColor myColor;
53  QPixmap myOverlayPixmap;
54  };
55 
58  {
59  Q_OBJECT
60 
61  public:
62  struct ForceInfo
63  {
64  ForceInfo() : force(0) {};
65  ForceInfo(const std::string& f, makVrv::DtForceManager::RGBAColor c, int i, const std::string& cc) :
66  forceName(f), forceColor(c), force(i), countryCode(cc) {};
67  ForceInfo(const ForceInfo& orig) : forceName(orig.forceName), forceColor(orig.forceColor), force(orig.force), countryCode(orig.countryCode) {};
68 
69  std::string forceName;
70  std::string countryCode;
72  int force;
73  };
74 
75  DtForceSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
76 
77  //DTOR
78  virtual ~DtForceSelectionEntryWidget();
79 
81  virtual void setLabel(const QString&);
82  virtual QString label() const;
83 
85  virtual void setLabel(const std::string&);
86 
88  virtual void setRange(double bottom, double top);
89 
92  virtual void setDefaultValue(const std::string&);
93 
95  virtual void setVariableData(const std::string&);
96 
98  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
99 
101  virtual void setToolTip(const QString&);
102 
104  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
105 
107  virtual void addForce(const ForceInfo& f, bool layoutButtons = false);
108 
110  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
111 
113  virtual void setForce(int);
114 
116  virtual int force() const;
117 
119  virtual void setIndent(int);
120 
121  virtual void clear();
122 
124  virtual bool isValid() const
125  {
126  return true;
127  }
128 
130  {
131  return makVrv::DtUnicode::tr("Integer (force type)");
132  }
133 
134  static std::string designerGroup()
135  {
136  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
137  }
138 
139  static std::string headerFile()
140  {
141  return tr("<vrfGuiDataEntryWidgets/forceSelectionEntryWidget.h>").toUtf8().constData();
142  }
143 
144  static std::string variableName()
145  {
146  return tr("forceSelection").toUtf8().constData();
147  }
148 
149  static bool includeInQtDesigner()
150  {
151  return true;
152  }
153 
156  virtual void setApplyGroundTruthFilter(bool);
157  virtual bool applyGroundTruthFilter() const;
158  virtual void initializeForces();
159 
161  virtual void setUseFixedWidth(bool);
162  virtual bool useFixedWidth() const;
163 
164  virtual std::string scriptedTaskVariableName() const;
165  virtual void setAllowColorSelection(bool b);
166  bool allowColorSelection() const
167  {
168  return myAllowColorSelection;
169  }
170 
171  virtual void setMaximumColorButtons(int);
173  {
174  return myMaximumColorButtons;
175  }
176 
178  boost::signals2::signal<void (int)> signal_forceSelectionChanged;
179 
180  virtual void setOverlayFlags(bool);
181  bool overlayFlags() const
182  {
183  return myOverlayFlags;
184  }
185 
186  protected slots:
187  virtual void activated(int);
188  virtual void slot_onForceChangedByButton();
189 
190  protected:
191  virtual void countryChanged();
192  virtual bool forceCanBeCreatedByUser(int f) const;
193  virtual void slot_spotReportOptionsChanged(const DtVrfSpotReportsSettingsRecord& s);
194  virtual void updateDisplay();
195  void setSelection(const std::set<makVrv::DtUniqueID>&) {};
196  void setSelection(const std::vector<makVrv::DtSimEntry*>&) {};
197 
199  virtual std::string variableDataFromUiDesigner(const QDomElement&, const DtScriptedTaskVariableLayoutConverter&) const
200  {
201  return "";
202  }
203 
204  virtual void resetForcesDisplay();
205  virtual void resizeEvent(QResizeEvent*);
206  virtual void initialize();
207 
208  public:
211  QHBoxLayout* myContentLayout;
212  QSpacerItem* mySpacerItem;
214 
215  protected:
218  typedef std::map<int, ForceInfo> PotentialForces;
226  };
227 
229 }
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:57
PotentialForces myPotentialForces
Definition: forceSelectionEntryWidget.h:219
A unicode string.
Definition: DtUnicode.h:33
std::map< int, ForceInfo > PotentialForces
Definition: forceSelectionEntryWidget.h:218
This class will try and space out items such that they will wrap to multiple rows if buttons (or text...
Definition: toolButtonWrapperWidget.h:29
CreationFlags
Definition: taskSetVariableWidget.h:118
bool myAllowColorSelection
Definition: forceSelectionEntryWidget.h:222
makVrv::DtSignalConnectionManager myConnections
Definition: forceSelectionEntryWidget.h:221
Definition: DtForceManager.h:46
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:216
Definition: readerWriter.h:85
QColor myColor
Definition: forceSelectionEntryWidget.h:52
static bool includeInQtDesigner()
Definition: forceSelectionEntryWidget.h:149
QAbstractButton * myCurrentForceButtonSelected
Definition: forceSelectionEntryWidget.h:223
Definition: forceSelectionEntryWidget.h:37
QSpacerItem * mySpacerItem
Definition: forceSelectionEntryWidget.h:212
static std::string designerGroup()
Definition: forceSelectionEntryWidget.h:134
QComboBox * myForces
Definition: forceSelectionEntryWidget.h:210
DtColorButton(QWidget *p)
Definition: forceSelectionEntryWidget.h:40
static std::string headerFile()
Definition: forceSelectionEntryWidget.h:139
static std::string variableName()
Definition: forceSelectionEntryWidget.h:144
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:199
QLabel * myForceLabel
Definition: forceSelectionEntryWidget.h:209
const QPixmap & overlayPixmap() const
Definition: forceSelectionEntryWidget.h:46
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools.
Definition: DtUnicode.h:92
ForceInfo()
Definition: forceSelectionEntryWidget.h:64
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:195
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int maximumColorButtons() const
Definition: forceSelectionEntryWidget.h:172
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:23
std::string countryCode
Definition: forceSelectionEntryWidget.h:70
Definition: forceSelectionEntryWidget.h:62
bool myOverlayFlags
Definition: forceSelectionEntryWidget.h:225
Contains makVrv::DtForceManager class.
bool myInitialized
Definition: forceSelectionEntryWidget.h:224
boost::signals2::signal< void(int)> signal_forceSelectionChanged
The integer is the new force type.
Definition: forceSelectionEntryWidget.h:178
Base class to provide boost signal/slot management.
virtual bool isValid() const
Indicates the current selection is valid.
Definition: forceSelectionEntryWidget.h:124
static makVrv::DtUnicode codeVariableType()
Definition: forceSelectionEntryWidget.h:129
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QPixmap myOverlayPixmap
Definition: forceSelectionEntryWidget.h:53
makVrv::DtForceManager::RGBAColor forceColor
Definition: forceSelectionEntryWidget.h:71
bool overlayFlags() const
Definition: forceSelectionEntryWidget.h:181
DtToolButtonWrapperWidget * myForceContainer
Definition: forceSelectionEntryWidget.h:213
ForceInfo(const std::string &f, makVrv::DtForceManager::RGBAColor c, int i, const std::string &cc)
Definition: forceSelectionEntryWidget.h:65
virtual ~DtColorButton()
Definition: forceSelectionEntryWidget.h:42
bool allowColorSelection() const
Definition: forceSelectionEntryWidget.h:166
int myMaximumColorButtons
Definition: forceSelectionEntryWidget.h:220
QHBoxLayout * myContentLayout
Definition: forceSelectionEntryWidget.h:211
int force
Definition: forceSelectionEntryWidget.h:72
bool myApplyGroundTruthFilter
Definition: forceSelectionEntryWidget.h:217
DtTaskSetVariableWidgetCreator< DtForceSelectionEntryWidget > DtForceSelectionEntryWidgetCreator
Definition: forceSelectionEntryWidget.h:228
void setSelection(const std::vector< makVrv::DtSimEntry * > &)
Definition: forceSelectionEntryWidget.h:196

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)