VR-Forces 4.7 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("<vrfGuiCoreQt/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("<vrfGuiCoreQt/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 
212  static makVrv::DtUnicode codeVariableType()
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("<vrfGuiCoreQt/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 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)