VR-Forces 4.8 Class Documentation
 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 
23 namespace makVrf
24 {
28  {
29  Q_OBJECT
30  protected:
31 
32  struct TableItem
33  {
34  TableItem() : key(0), value(0), validator(0), removeButton(0) {};
35  TableItem(const TableItem& orig) : key(orig.key), value(orig.value), validator(orig.validator), removeButton(orig.removeButton) {};
36 
37  QWidget* key;
38  QWidget* value;
41  };
42 
43  public:
44  DtSimpleMapDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
45 
46  //DTOR
47  virtual ~DtSimpleMapDataWidget();
48 
50  virtual void setLabel(const std::string&);
51 
53  virtual void setDefaultValue(const std::string&);
54 
56  virtual void setLabel(const QString&);
57 
58  virtual QString label() const;
59 
60  virtual void clear();
61 
62  virtual void removeItem(int);
63 
64  protected slots:
65  virtual void onAddItem() = 0;
66  virtual void onRemoveItem();
67 
68  protected:
69  virtual int currentRowFor(QObject* sender) const;
70 
71  virtual DtString uniqueKey(const DtString&) const;
72 
73  virtual DtString keyFrom(const TableItem&) const;
74 
75  virtual QWidget* createKey(const DtString&);
76  virtual QWidget* createValue();
77  virtual void addItem(const TableItem&);
78 
79  public:
81  QScrollArea* myScrollArea;
83  QGridLayout* myGridLayout;
84 
86  QHBoxLayout* myButtonLayout;
87 
88  typedef std::vector<TableItem> Table;
89 
91  };
92 
95  {
96  Q_OBJECT
97  Q_PROPERTY(int rangeTop READ rangeTop WRITE setRangeTop)
98  Q_PROPERTY(int rangeBottom READ rangeBottom WRITE setRangeBottom)
99 
100  public:
101  DtSimpleIntegerMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
102 
103  //DTOR
104  virtual ~DtSimpleIntegerMapWidget();
105 
106  virtual void setRange(double bottom, double top);
107 
109  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
110 
112  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
113 
114  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
115 
116  static makVrv::DtUnicode codeVariableType()
117  {
118  return makVrv::DtUnicode::tr("Integer Map");
119  }
120 
121  static std::string designerGroup()
122  {
123  return tr("VR-Forces Data Entry").toUtf8().constData();
124  }
125 
126  static std::string headerFile()
127  {
128  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
129  }
130 
131  static std::string variableName()
132  {
133  return tr("integerMapValue").toUtf8().constData();
134  }
135 
136  virtual void addItem(const DtString&, int);
137  virtual void onAddItem();
138 
139  protected:
142  };
143 
145  {
146  Q_OBJECT
147  Q_PROPERTY(qreal rangeTop READ rangeTop WRITE setRangeTop)
148  Q_PROPERTY(qreal rangeBottom READ rangeBottom WRITE setRangeBottom)
149 
150  public:
151  DtSimpleDoubleMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
152 
153  //DTOR
154  virtual ~DtSimpleDoubleMapWidget();
155 
156  virtual void setRange(double bottom, double top);
157 
159  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
160 
162  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
163 
164  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
165 
166  static makVrv::DtUnicode codeVariableType()
167  {
168  return makVrv::DtUnicode::tr("Real Map");
169  }
170 
171  static std::string designerGroup()
172  {
173  return tr("VR-Forces Data Entry").toUtf8().constData();
174  }
175 
176  static std::string headerFile()
177  {
178  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
179  }
180 
181  static std::string variableName()
182  {
183  return tr("doubleMapValue").toUtf8().constData();
184  }
185 
186  virtual void addItem(const DtString&, double);
187  virtual void onAddItem();
188 
189  protected:
192  };
193 
195  {
196  Q_OBJECT
197 
198  public:
199  DtSimpleStringMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
200 
201  //DTOR
202  virtual ~DtSimpleStringMapWidget();
203 
204  virtual void setRange(double bottom, double top);
205 
207  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
208 
210  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
211 
213  {
214  return makVrv::DtUnicode::tr("String Map");
215  }
216 
217  static std::string designerGroup()
218  {
219  return tr("VR-Forces Data Entry").toUtf8().constData();
220  }
221 
222  static std::string headerFile()
223  {
224  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
225  }
226 
227  static std::string variableName()
228  {
229  return tr("stringMapValue").toUtf8().constData();
230  }
231 
232  virtual void addItem(const DtString&, const DtString&);
233 
234  protected:
235  virtual void onAddItem();
236  };
237 
241 }
DtTaskSetVariableWidgetCreator< DtSimpleStringMapWidget > DtSimpleStringMapWidgetCreator
Definition: simpleMapVariableWidgets.h:238
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:126
A unicode string.
Definition: DtUnicode.h:33
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:222
static std::string variableName()
Definition: simpleMapVariableWidgets.h:227
CreationFlags
Definition: taskSetVariableWidget.h:115
double myMaximumRange
Definition: simpleMapVariableWidgets.h:191
Simple integer container.
Definition: simpleMapVariableWidgets.h:94
Table myTable
Definition: simpleMapVariableWidgets.h:90
static makVrv::DtUnicode codeVariableType()
Definition: simpleMapVariableWidgets.h:212
Definition: readerWriter.h:85
int myMaximumRange
Definition: simpleMapVariableWidgets.h:141
DtTaskSetVariableWidgetCreator< DtSimpleDoubleMapWidget > DtSimpleDoubleMapWidgetCreator
Definition: simpleMapVariableWidgets.h:240
double myMinimumRange
Definition: simpleMapVariableWidgets.h:190
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:121
static std::string variableName()
Definition: simpleMapVariableWidgets.h:181
DtTaskSetVariableWidgetCreator< DtSimpleIntegerMapWidget > DtSimpleIntegerMapWidgetCreator
Definition: simpleMapVariableWidgets.h:239
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:171
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:215
QGridLayout * myGridLayout
Definition: simpleMapVariableWidgets.h:83
Definition: simpleMapVariableWidgets.h:32
Definition: simpleMapVariableWidgets.h:144
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools.
Definition: DtUnicode.h:92
Definition: taskSetVariableWidget.h:393
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:217
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:23
QScrollArea * myScrollArea
Definition: simpleMapVariableWidgets.h:81
QPushButton * myAdd
Definition: simpleMapVariableWidgets.h:85
std::vector< TableItem > Table
Definition: simpleMapVariableWidgets.h:88
QWidget * myScrollAreaCanvas
Definition: simpleMapVariableWidgets.h:82
QLabel * myLabel
Definition: simpleMapVariableWidgets.h:80
These classes will define simple map data entry.
Definition: simpleMapVariableWidgets.h:27
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:176
static std::string variableName()
Definition: simpleMapVariableWidgets.h:131
Definition: simpleMapVariableWidgets.h:194
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QWidget * value
Definition: simpleMapVariableWidgets.h:38
QValidator * validator
Definition: simpleMapVariableWidgets.h:40
int myMinimumRange
Definition: simpleMapVariableWidgets.h:140
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:80
TableItem(const TableItem &orig)
Definition: simpleMapVariableWidgets.h:35
QPushButton * removeButton
Definition: simpleMapVariableWidgets.h:39
QHBoxLayout * myButtonLayout
Definition: simpleMapVariableWidgets.h:86
TableItem()
Definition: simpleMapVariableWidgets.h:34

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)