Vuo  2.0.3
VuoDetailsEditorPoint.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
12 class VuoType;
13 
14 extern "C" {
15 #include "VuoPoint2d.h"
16 #include "VuoPoint3d.h"
17 #include "VuoPoint4d.h"
18 }
19 
24 class VuoDetailsEditorPoint: public QWidget
25 {
26  Q_OBJECT
27 public:
28  explicit VuoDetailsEditorPoint(VuoType *type, QWidget *parent=0);
29  json_object * show(QPoint portLeftCenter, json_object *originalDetails);
30 
31 protected:
32  void setUpDialog(QDialog &dialog, json_object *originalDetails);
33  void setUpLineEdit(QLineEdit *lineEdit, double value, bool populateText);
34  QString convertToLineEditFormat(double value);
35  json_object * convertFromLineEditsFormat(const QString &suggestedMinXValueAsString,
36  const QString &suggestedMaxValueAsString,
37  const QString &suggestedStepXValueAsString,
38  const QString &suggestedMinYValueAsString,
39  const QString &suggestedMaxYValueAsString,
40  const QString &suggestedStepYValueAsString,
41  const QString &suggestedMinZValueAsString,
42  const QString &suggestedMaxZValueAsString,
43  const QString &suggestedStepZValueAsString,
44  const QString &suggestedMinWValueAsString,
45  const QString &suggestedMaxWValueAsString,
46  const QString &suggestedStepWValueAsString);
48 
49 private:
50  enum detail
51  {
52  suggestedMinX,
53  suggestedMinY,
54  suggestedMinZ,
55  suggestedMinW,
56  suggestedMaxX,
57  suggestedMaxY,
58  suggestedMaxZ,
59  suggestedMaxW,
60  suggestedStepX,
61  suggestedStepY,
62  suggestedStepZ,
63  suggestedStepW
64  };
65 
66  VuoType *type;
67  map<detail, QLineEdit *> lineEditForDetail;
68  map<detail, QLabel *> labelForDetail;
69 
70  QString formatDoubleForJSON(QString doubleString);
71  QFont getDefaultFont(void);
72 };