VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpleMapVariableWidgets.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 
10 #include <QtWidgets/QWidget>
11 #include <QtGui/QValidator>
12 #include <QtCore/QVariant>
13 
14 #include <QtDesigner/QExtensionFactory>
15 #include <QtDesigner/QDesignerTaskMenuExtension>
16 
17 class QLabel;
18 class QHBoxLayout;
19 class QGridLayout;
20 class QPushButton;
21 class QScrollArea;
22 class QToolButton;
23 
24 namespace makVrf
25 {
29  {
30  Q_OBJECT
31  protected:
32 
33  struct TableItem
34  {
35  TableItem() : key(0), value(0), validator(0), removeButton(0) {};
36  TableItem(const TableItem& orig) : key(orig.key), value(orig.value), validator(orig.validator), removeButton(orig.removeButton) {};
37 
38  QWidget* key;
39  QWidget* value;
42  };
43 
44  public:
45  DtSimpleMapDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
46 
47  //DTOR
48  virtual ~DtSimpleMapDataWidget();
49 
51  virtual void setLabel(const std::string&);
52 
54  virtual void setDefaultValue(const std::string&);
55 
57  virtual void setLabel(const QString&);
58 
59  virtual QString label() const;
60 
61  virtual void clear();
62 
63  virtual void removeItem(int);
64 
65  protected slots:
66  virtual void onAddItem() = 0;
67  virtual void onRemoveItem();
68 
69  protected:
70  virtual int currentRowFor(QObject* sender) const;
71 
72  virtual DtString uniqueKey(const DtString&) const;
73 
74  virtual DtString keyFrom(const TableItem&) const;
75 
76  virtual QWidget* createKey(const DtString&);
77  virtual QWidget* createValue();
78  virtual void addItem(const TableItem&);
79 
80  public:
82  QScrollArea* myScrollArea;
84  QGridLayout* myGridLayout;
85 
87  QHBoxLayout* myButtonLayout;
88 
89  typedef std::vector<TableItem> Table;
90 
92  };
93 
96  {
97  Q_OBJECT
98  Q_PROPERTY(int rangeTop READ rangeTop WRITE setRangeTop)
99  Q_PROPERTY(int rangeBottom READ rangeBottom WRITE setRangeBottom)
100 
101  public:
102  DtSimpleIntegerMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
103 
104  //DTOR
105  virtual ~DtSimpleIntegerMapWidget();
106 
107  virtual void setRange(double bottom, double top);
108 
110  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
111 
113  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
114 
115  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
116 
117  static makVrv::DtUnicode codeVariableType()
118  {
119  return makVrv::DtUnicode::tr("Integer Map");
120  }
121 
122  static std::string designerGroup()
123  {
124  return tr("VR-Forces Data Entry").toUtf8().constData();
125  }
126 
127  static std::string headerFile()
128  {
129  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
130  }
131 
132  static std::string variableName()
133  {
134  return tr("integerMapValue").toUtf8().constData();
135  }
136 
137  virtual void addItem(const DtString&, int);
138  virtual void onAddItem();
139 
140  protected:
143  };
144 
146  {
147  Q_OBJECT
148  Q_PROPERTY(qreal rangeTop READ rangeTop WRITE setRangeTop)
149  Q_PROPERTY(qreal rangeBottom READ rangeBottom WRITE setRangeBottom)
150 
151  public:
152  DtSimpleDoubleMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
153 
154  //DTOR
155  virtual ~DtSimpleDoubleMapWidget();
156 
157  virtual void setRange(double bottom, double top);
158 
160  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
161 
163  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
164 
165  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
166 
167  static makVrv::DtUnicode codeVariableType()
168  {
169  return makVrv::DtUnicode::tr("Real Map");
170  }
171 
172  static std::string designerGroup()
173  {
174  return tr("VR-Forces Data Entry").toUtf8().constData();
175  }
176 
177  static std::string headerFile()
178  {
179  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
180  }
181 
182  static std::string variableName()
183  {
184  return tr("doubleMapValue").toUtf8().constData();
185  }
186 
187  virtual void addItem(const DtString&, double);
188  virtual void onAddItem();
189 
190  protected:
193  };
194 
196  {
197  Q_OBJECT
198 
199  public:
200  DtSimpleStringMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
201 
202  //DTOR
203  virtual ~DtSimpleStringMapWidget();
204 
205  virtual void setRange(double bottom, double top);
206 
208  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
209 
211  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
212 
214  {
215  return makVrv::DtUnicode::tr("String Map");
216  }
217 
218  static std::string designerGroup()
219  {
220  return tr("VR-Forces Data Entry").toUtf8().constData();
221  }
222 
223  static std::string headerFile()
224  {
225  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
226  }
227 
228  static std::string variableName()
229  {
230  return tr("stringMapValue").toUtf8().constData();
231  }
232 
233  virtual void addItem(const DtString&, const DtString&);
234 
235  protected:
236  virtual void onAddItem();
237  };
238 
242 }
DtTaskSetVariableWidgetCreator< DtSimpleStringMapWidget > DtSimpleStringMapWidgetCreator
Definition: simpleMapVariableWidgets.h:239
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:127
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:223
static std::string variableName()
Definition: simpleMapVariableWidgets.h:228
CreationFlags
Definition: taskSetVariableWidget.h:118
double myMaximumRange
Definition: simpleMapVariableWidgets.h:192
Simple integer container.
Definition: simpleMapVariableWidgets.h:95
Table myTable
Definition: simpleMapVariableWidgets.h:91
QToolButton * removeButton
Definition: simpleMapVariableWidgets.h:40
static makVrv::DtUnicode codeVariableType()
Definition: simpleMapVariableWidgets.h:213
Definition: readerWriter.h:85
int myMaximumRange
Definition: simpleMapVariableWidgets.h:142
DtTaskSetVariableWidgetCreator< DtSimpleDoubleMapWidget > DtSimpleDoubleMapWidgetCreator
Definition: simpleMapVariableWidgets.h:241
double myMinimumRange
Definition: simpleMapVariableWidgets.h:191
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:122
static std::string variableName()
Definition: simpleMapVariableWidgets.h:182
DtTaskSetVariableWidgetCreator< DtSimpleIntegerMapWidget > DtSimpleIntegerMapWidgetCreator
Definition: simpleMapVariableWidgets.h:240
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:172
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:228
QGridLayout * myGridLayout
Definition: simpleMapVariableWidgets.h:84
Definition: simpleMapVariableWidgets.h:33
Definition: simpleMapVariableWidgets.h:145
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
Definition: taskSetVariableWidget.h:419
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:218
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
QScrollArea * myScrollArea
Definition: simpleMapVariableWidgets.h:82
QToolButton * myAdd
Definition: simpleMapVariableWidgets.h:86
std::vector< TableItem > Table
Definition: simpleMapVariableWidgets.h:89
QWidget * myScrollAreaCanvas
Definition: simpleMapVariableWidgets.h:83
QLabel * myLabel
Definition: simpleMapVariableWidgets.h:81
These classes will define simple map data entry. The subclasses will create the right type of RW clas...
Definition: simpleMapVariableWidgets.h:28
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:177
static std::string variableName()
Definition: simpleMapVariableWidgets.h:132
Definition: simpleMapVariableWidgets.h:195
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
QWidget * value
Definition: simpleMapVariableWidgets.h:39
QValidator * validator
Definition: simpleMapVariableWidgets.h:41
int myMinimumRange
Definition: simpleMapVariableWidgets.h:141
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
TableItem(const TableItem &orig)
Definition: simpleMapVariableWidgets.h:36
QHBoxLayout * myButtonLayout
Definition: simpleMapVariableWidgets.h:87
TableItem()
Definition: simpleMapVariableWidgets.h:35

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)