VR-Forces 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() override;
49 
51  virtual void setLabel(const std::string&) override;
52 
54  virtual void setDefaultValue(const std::string&) override;
55 
57  virtual void setLabel(const QString&) override;
58 
59  virtual QString label() const override;
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:
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() override;
106 
107  virtual void setRange(double bottom, double top) override;
108 
110  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
111 
113  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
114 
115  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(
116  QWidget* parent, const Qt::WindowFlags& flags = 0) const override;
117 
118  static makVrv::DtUnicode codeVariableType()
119  {
120  return makVrv::DtUnicode::tr("Integer Map");
121  }
122 
123  static std::string designerGroup()
124  {
125  return tr("VR-Forces Data Entry").toUtf8().constData();
126  }
127 
128  static std::string headerFile()
129  {
130  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
131  }
132 
133  static std::string variableName()
134  {
135  return tr("integerMapValue").toUtf8().constData();
136  }
137 
138  virtual void addItem(const DtString&, int);
139  virtual void onAddItem() override;
140 
141  protected:
144  };
145 
147  {
148  Q_OBJECT
149  Q_PROPERTY(qreal rangeTop READ rangeTop WRITE setRangeTop)
150  Q_PROPERTY(qreal rangeBottom READ rangeBottom WRITE setRangeBottom)
151 
152  public:
153  DtSimpleDoubleMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
154 
155  //DTOR
156  virtual ~DtSimpleDoubleMapWidget() override;
157 
158  virtual void setRange(double bottom, double top) override;
159 
161  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
162 
164  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
165 
166  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(
167  QWidget* parent, const Qt::WindowFlags& flags = 0) const override;
168 
169  static makVrv::DtUnicode codeVariableType()
170  {
171  return makVrv::DtUnicode::tr("Real Map");
172  }
173 
174  static std::string designerGroup()
175  {
176  return tr("VR-Forces Data Entry").toUtf8().constData();
177  }
178 
179  static std::string headerFile()
180  {
181  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
182  }
183 
184  static std::string variableName()
185  {
186  return tr("doubleMapValue").toUtf8().constData();
187  }
188 
189  virtual void addItem(const DtString&, double);
190  virtual void onAddItem() override;
191 
192  protected:
195  };
196 
198  {
199  Q_OBJECT
200 
201  public:
202  DtSimpleStringMapWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
203 
204  //DTOR
205  virtual ~DtSimpleStringMapWidget() override;
206 
207  virtual void setRange(double bottom, double top) override;
208 
210  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
211 
213  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
214 
216  {
217  return makVrv::DtUnicode::tr("String Map");
218  }
219 
220  static std::string designerGroup()
221  {
222  return tr("VR-Forces Data Entry").toUtf8().constData();
223  }
224 
225  static std::string headerFile()
226  {
227  return tr("<vrfGuiDataEntryWidgets/simpleMapVariableWidgets.h>").toUtf8().constData();
228  }
229 
230  static std::string variableName()
231  {
232  return tr("stringMapValue").toUtf8().constData();
233  }
234 
235  virtual void addItem(const DtString&, const DtString&);
236 
237  protected:
238  virtual void onAddItem() override;
239  };
240 
244 }
DtTaskSetVariableWidgetCreator< DtSimpleStringMapWidget > DtSimpleStringMapWidgetCreator
Definition: simpleMapVariableWidgets.h:241
static std::string headerFile()
Definition: simpleMapVariableWidgets.h:128
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:225
static std::string variableName()
Definition: simpleMapVariableWidgets.h:230
CreationFlags
Definition: taskSetVariableWidget.h:118
double myMaximumRange
Definition: simpleMapVariableWidgets.h:194
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:215
Definition: readerWriter.h:85
int myMaximumRange
Definition: simpleMapVariableWidgets.h:143
DtTaskSetVariableWidgetCreator< DtSimpleDoubleMapWidget > DtSimpleDoubleMapWidgetCreator
Definition: simpleMapVariableWidgets.h:243
double myMinimumRange
Definition: simpleMapVariableWidgets.h:193
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:123
static std::string variableName()
Definition: simpleMapVariableWidgets.h:184
DtTaskSetVariableWidgetCreator< DtSimpleIntegerMapWidget > DtSimpleIntegerMapWidgetCreator
Definition: simpleMapVariableWidgets.h:242
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:174
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:231
QGridLayout * myGridLayout
Definition: simpleMapVariableWidgets.h:84
Definition: simpleMapVariableWidgets.h:33
Definition: simpleMapVariableWidgets.h:146
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:422
static std::string designerGroup()
Definition: simpleMapVariableWidgets.h:220
#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:179
static std::string variableName()
Definition: simpleMapVariableWidgets.h:133
Definition: simpleMapVariableWidgets.h:197
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
QWidget * value
Definition: simpleMapVariableWidgets.h:39
QValidator * validator
Definition: simpleMapVariableWidgets.h:41
int myMinimumRange
Definition: simpleMapVariableWidgets.h:142
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 Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)