Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkChartxyData.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef QmitkChartxyData_h
14 #define QmitkChartxyData_h
15 
16 #include <QVariant>
17 
25 class QmitkChartxyData : public QObject
26 {
27  Q_OBJECT
28 
29  Q_PROPERTY(QVariant m_LabelCount READ GetLabelCount CONSTANT);
30  Q_PROPERTY(QList<QVariant> m_YData READ GetYData WRITE SetYData NOTIFY SignalDataChanged);
31  Q_PROPERTY(QList<QVariant> m_XData READ GetXData WRITE SetXData NOTIFY SignalDataChanged);
32  Q_PROPERTY(
34  Q_PROPERTY(
36  Q_PROPERTY(
38  Q_PROPERTY(
40  Q_PROPERTY(
41  QList<QVariant> m_PieLabels READ GetPieLabels WRITE SetPieLabels NOTIFY SignalPieLabelsChanged);
42  Q_PROPERTY(QVariant m_ChartType READ GetChartType WRITE SetChartType NOTIFY SignalDiagramTypeChanged);
43  Q_PROPERTY(QVariant m_Color READ GetColor WRITE SetColor NOTIFY SignalColorChanged);
44  Q_PROPERTY(QVariant m_Label READ GetLabel WRITE SetLabel NOTIFY SignalLabelChanged);
45  Q_PROPERTY(QVariant m_LineStyleName READ GetLineStyle WRITE SetLineStyle NOTIFY SignalLineStyleChanged);
46  Q_PROPERTY(QVariant m_MarkerSymbolName READ GetMarkerSymbol WRITE SetMarkerSymbol NOTIFY SignalMarkerSymbolChanged);
47 
48 public:
49  explicit QmitkChartxyData(const std::vector< std::pair<double, double> > &data,
50  const QVariant &label,
51  const QVariant &diagramType,
52  const QVariant &position); // Constructor for Data2D (x:y=1:2, 2:6, 3:7)
53 
54  void SetData(const std::vector< std::pair<double, double> > &data);
55 
56  Q_INVOKABLE QVariant GetLabelCount() const { return m_LabelCount; }
57 
58  Q_INVOKABLE QList<QVariant> GetYData() const { return m_YData; };
59  Q_INVOKABLE void SetYData(const QList<QVariant> &yData)
60  {
61  m_YData = yData;
62  emit SignalDataChanged(yData);
63  };
64 
65  Q_INVOKABLE QList<QVariant> GetXData() const { return m_XData; };
66  Q_INVOKABLE void SetXData(const QList<QVariant> &xData)
67  {
68  m_XData = xData;
69  emit SignalDataChanged(xData);
70  };
71 
72  Q_INVOKABLE QList<QVariant> GetXErrorDataPlus() const { return m_XErrorDataPlus; };
73  Q_INVOKABLE void SetXErrorDataPlus(const QList<QVariant> &errorData)
74  {
75  m_XErrorDataPlus = errorData;
76  emit SignalErrorDataChanged(errorData);
77  };
78 
79  Q_INVOKABLE QList<QVariant> GetXErrorDataMinus() const { return m_XErrorDataMinus; };
80  Q_INVOKABLE void SetXErrorDataMinus(const QList<QVariant> &errorData)
81  {
82  m_XErrorDataMinus = errorData;
83  emit SignalErrorDataChanged(errorData);
84  };
85 
86  Q_INVOKABLE QList<QVariant> GetYErrorDataPlus() const { return m_YErrorDataPlus; };
87  Q_INVOKABLE void SetYErrorDataPlus(const QList<QVariant> &errorData)
88  {
89  m_YErrorDataPlus = errorData;
90  emit SignalErrorDataChanged(errorData);
91  };
92 
93  Q_INVOKABLE QList<QVariant> GetYErrorDataMinus() const { return m_YErrorDataMinus; };
94  Q_INVOKABLE void SetYErrorDataMinus(const QList<QVariant> &errorData)
95  {
96  m_YErrorDataMinus = errorData;
97  emit SignalErrorDataChanged(errorData);
98  };
99 
100  Q_INVOKABLE QVariant GetChartType() const { return m_ChartType; };
101  Q_INVOKABLE void SetChartType(const QVariant &chartType)
102  {
103  m_ChartType = chartType;
104  emit SignalDiagramTypeChanged(chartType);
105  };
106 
107  Q_INVOKABLE QVariant GetLabel() const { return m_Label; };
108  Q_INVOKABLE void SetLabel(const QVariant &label)
109  {
110  m_Label = label;
111  emit SignalLabelChanged(label);
112  };
113 
114  Q_INVOKABLE QList<QVariant> GetPieLabels() const { return m_PieLabels; };
115  Q_INVOKABLE void SetPieLabels(const QList<QVariant> &pieLabels) { m_PieLabels = pieLabels; };
116 
117  Q_INVOKABLE QVariant GetColor() const { return m_Color; };
118  Q_INVOKABLE void SetColor(const QVariant &color)
119  {
120  m_Color = color;
121  emit SignalColorChanged(color);
122  };
123 
124  Q_INVOKABLE QVariant GetMarkerSymbol() const { return m_MarkerSymbolName; };
125  Q_INVOKABLE void SetMarkerSymbol(const QVariant &markerSymbol)
126  {
127  m_MarkerSymbolName = markerSymbol;
128  emit SignalMarkerSymbolChanged(markerSymbol);
129  };
130 
131  Q_INVOKABLE QVariant GetLineStyle() const { return m_LineStyleName; };
132  Q_INVOKABLE void SetLineStyle(const QVariant &lineStyle)
133  {
134  m_LineStyleName = lineStyle;
135  emit SignalLineStyleChanged(lineStyle);
136  };
137 
143  void ClearData();
144 
146 
147 signals:
148  void SignalDataChanged(const QList<QVariant> data);
149  void SignalErrorDataChanged(const QList<QVariant> errorData);
150  void SignalDiagramTypeChanged(const QVariant diagramType);
151  void SignalColorChanged(const QVariant color);
152  void SignalLabelChanged(const QVariant label);
153  void SignalPieLabelsChanged(const QList<QVariant> pieLabels);
154  void SignalLineStyleChanged(const QVariant lineStyle);
155  void SignalMarkerSymbolChanged(const QVariant lineStyle);
156 
157 private:
159  const QVariant m_LabelCount;
160  QList<QVariant> m_YData;
161  QList<QVariant> m_XData;
162  QList<QVariant> m_XErrorDataPlus;
163  QList<QVariant> m_XErrorDataMinus;
164  QList<QVariant> m_YErrorDataPlus;
165  QList<QVariant> m_YErrorDataMinus;
166  QVariant m_Label;
167  QList<QVariant> m_PieLabels;
168  QVariant m_ChartType;
169  QVariant m_Color;
170  QVariant m_LineStyleName;
171  QVariant m_MarkerSymbolName;
172 };
173 
174 #endif
Holds data for chart generation via C3/Plotly.
Q_INVOKABLE void SetYErrorDataPlus(const QList< QVariant > &errorData)
Q_INVOKABLE QVariant GetLabelCount() const
void SignalDataChanged(const QList< QVariant > data)
void SignalColorChanged(const QVariant color)
QList< QVariant > m_XErrorDataMinus
Q_INVOKABLE void SetYErrorDataMinus(const QList< QVariant > &errorData)
Q_INVOKABLE void SetChartType(const QVariant &chartType)
QList< QVariant > m_YErrorDataMinus
QVariant m_LineStyleName
Q_INVOKABLE void SetLabel(const QVariant &label)
Q_INVOKABLE QVariant GetChartType() const
Q_INVOKABLE QVariant GetColor() const
Q_INVOKABLE QList< QVariant > GetXErrorDataMinus() const
QList< QVariant > m_YErrorDataPlus
QList< QVariant > m_XData
void SignalPieLabelsChanged(const QList< QVariant > pieLabels)
Q_INVOKABLE QVariant GetLabel() const
void SetData(const std::vector< std::pair< double, double > > &data)
void SignalLabelChanged(const QVariant label)
QmitkChartxyData(const std::vector< std::pair< double, double > > &data, const QVariant &label, const QVariant &diagramType, const QVariant &position)
QList< QVariant > m_PieLabels
Q_INVOKABLE QList< QVariant > GetXData() const
Q_INVOKABLE void SetLineStyle(const QVariant &lineStyle)
Q_INVOKABLE QList< QVariant > GetYErrorDataMinus() const
Q_INVOKABLE void SetYData(const QList< QVariant > &yData)
QVariant m_MarkerSymbolName
Q_INVOKABLE void SetMarkerSymbol(const QVariant &markerSymbol)
Q_INVOKABLE QVariant GetMarkerSymbol() const
Q_INVOKABLE void SetXErrorDataPlus(const QList< QVariant > &errorData)
Q_INVOKABLE QVariant GetLineStyle() const
Q_INVOKABLE QList< QVariant > GetYErrorDataPlus() const
void SignalLineStyleChanged(const QVariant lineStyle)
void ClearData()
Clears the Data.
Q_INVOKABLE QList< QVariant > GetPieLabels() const
Q_INVOKABLE void SetColor(const QVariant &color)
void SignalErrorDataChanged(const QList< QVariant > errorData)
Q_INVOKABLE void SetXErrorDataMinus(const QList< QVariant > &errorData)
Q_INVOKABLE QList< QVariant > GetXErrorDataPlus() const
Q_INVOKABLE void SetPieLabels(const QList< QVariant > &pieLabels)
QList< QVariant > m_XErrorDataPlus
Q_INVOKABLE QList< QVariant > GetYData() const
Q_INVOKABLE void SetXData(const QList< QVariant > &xData)
void SignalDiagramTypeChanged(const QVariant diagramType)
QList< QVariant > m_YData
void SignalMarkerSymbolChanged(const QVariant lineStyle)