##// END OF EJS Templates
Added possibility to set labels position for QCategoryAxis...
Titta Heikkala -
r2780:740f4f94adf8
parent child
Show More
@@ -1,331 +1,366
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #include <QtCharts/QCategoryAxis>
19 #include <QtCharts/QCategoryAxis>
20 #include <private/qcategoryaxis_p.h>
20 #include <private/qcategoryaxis_p.h>
21 #include <private/chartcategoryaxisx_p.h>
21 #include <private/chartcategoryaxisx_p.h>
22 #include <private/chartcategoryaxisy_p.h>
22 #include <private/chartcategoryaxisy_p.h>
23 #include <private/polarchartcategoryaxisangular_p.h>
23 #include <private/polarchartcategoryaxisangular_p.h>
24 #include <private/polarchartcategoryaxisradial_p.h>
24 #include <private/polarchartcategoryaxisradial_p.h>
25 #include <QtCharts/QChart>
25 #include <QtCharts/QChart>
26 #include <QtCore/QtMath>
26 #include <QtCore/QtMath>
27 #include <QtCore/QDebug>
27 #include <QtCore/QDebug>
28
28
29 QT_CHARTS_BEGIN_NAMESPACE
29 QT_CHARTS_BEGIN_NAMESPACE
30 /*!
30 /*!
31 \class QCategoryAxis
31 \class QCategoryAxis
32 \inmodule Qt Charts
32 \inmodule Qt Charts
33 \brief The QCategoryAxis class allows putting a named ranges on the axis.
33 \brief The QCategoryAxis class allows putting a named ranges on the axis.
34 \mainclass
34 \mainclass
35
35
36 This class can be used when the underlying data needs to be given extra meaning.
36 This class can be used when the underlying data needs to be given extra meaning.
37 Unlike with the QBarCategoryAxis the QCategoryAxis allows the categories ranges widths to be specified freely.
37 Unlike with the QBarCategoryAxis the QCategoryAxis allows the categories ranges widths to be specified freely.
38
38
39 Example code on how to use QCategoryAxis:
39 Example code on how to use QCategoryAxis:
40 \image api_category_axis.png
40 \image api_category_axis.png
41 \code
41 \code
42 QChartView *chartView = new QChartView;
42 QChartView *chartView = new QChartView;
43 QLineSeries *series = new QLineSeries;
43 QLineSeries *series = new QLineSeries;
44 // ...
44 // ...
45 chartView->chart()->addSeries(series);
45 chartView->chart()->addSeries(series);
46
46
47 QCategoryAxis *axisY = new QCategoryAxis;
47 QCategoryAxis *axisY = new QCategoryAxis;
48 axisY->setMin(0);
48 axisY->setMin(0);
49 axisY->setMax(52);
49 axisY->setMax(52);
50 axisY->setStartValue(15);
50 axisY->setStartValue(15);
51 axisY->append("First", 20);
51 axisY->append("First", 20);
52 axisY->append("Second", 37);
52 axisY->append("Second", 37);
53 axisY->append("Third", 52);
53 axisY->append("Third", 52);
54 chartView->chart()->setAxisY(axisY, series);
54 chartView->chart()->setAxisY(axisY, series);
55 \endcode
55 \endcode
56 */
56 */
57 /*!
57 /*!
58 \qmltype CategoryAxis
58 \qmltype CategoryAxis
59 \instantiates QCategoryAxis
59 \instantiates QCategoryAxis
60 \inqmlmodule QtCharts
60 \inqmlmodule QtCharts
61
61
62 \inherits AbstractAxis
62 \inherits AbstractAxis
63 \brief CategoryAxis allows putting a named ranges on the axis.
63 \brief CategoryAxis allows putting a named ranges on the axis.
64
64
65 For example:
65 For example:
66 \image examples_qmlaxes3.png
66 \image examples_qmlaxes3.png
67 \snippet qmlaxes/qml/qmlaxes/View3.qml 1
67 \snippet qmlaxes/qml/qmlaxes/View3.qml 1
68 */
68 */
69
69
70 /*!
70 /*!
71 \property QCategoryAxis::startValue
71 \property QCategoryAxis::startValue
72 Defines the low end of the first category on the axis.
72 Defines the low end of the first category on the axis.
73 */
73 */
74 /*!
74 /*!
75 \qmlproperty int CategoryAxis::startValue
75 \qmlproperty int CategoryAxis::startValue
76 Defines the low end of the first category on the axis.
76 Defines the low end of the first category on the axis.
77 */
77 */
78
78
79 /*!
79 /*!
80 \property QCategoryAxis::count
80 \property QCategoryAxis::count
81 The count of categories.
81 The count of categories.
82 */
82 */
83 /*!
83 /*!
84 \qmlproperty int CategoryAxis::count
84 \qmlproperty int CategoryAxis::count
85 The count of categories.
85 The count of categories.
86 */
86 */
87
87
88 /*!
88 /*!
89 \property QCategoryAxis::categoriesLabels
89 \property QCategoryAxis::categoriesLabels
90 The category labels as a string list.
90 The category labels as a string list.
91 */
91 */
92 /*!
92 /*!
93 \qmlproperty StringList CategoryAxis::categoriesLabels
93 \qmlproperty StringList CategoryAxis::categoriesLabels
94 The category labels as a list of strings.
94 The category labels as a list of strings.
95 */
95 */
96
96
97 /*!
97 /*!
98 \fn void QCategoryAxis::categoriesChanged()
98 \fn void QCategoryAxis::categoriesChanged()
99 Axis emits signal when the categories of the axis have changed.
99 Axis emits signal when the categories of the axis have changed.
100 */
100 */
101
101
102 /*!
103 \enum QCategoryAxis::AxisLabelsPosition
104
105 This enum describes the position of the category labels.
106
107 \value AxisLabelsPositionCenter Labels are centered to category.
108 \value AxisLabelsPositionOnValue Labels are positioned to the high end limit of the category.
109 */
110 /*!
111 \property QCategoryAxis::labelsPosition
112 Defines the position of the category labels. The labels in the beginning and in the end of the
113 axes may overlap other axes labels when positioned on value.
114 */
115 /*!
116 \qmlproperty AxisLabelsPosition CategoryAxis::labelsPosition
117 Defines the position of the category labels. The labels in the beginning and in the end of the
118 axes may overlap other axes labels when positioned on value.
119 */
120
102
121
103 /*!
122 /*!
104 Constructs an axis object which is a child of \a parent.
123 Constructs an axis object which is a child of \a parent.
105 */
124 */
106 QCategoryAxis::QCategoryAxis(QObject *parent):
125 QCategoryAxis::QCategoryAxis(QObject *parent):
107 QValueAxis(*new QCategoryAxisPrivate(this), parent)
126 QValueAxis(*new QCategoryAxisPrivate(this), parent)
108 {
127 {
109 }
128 }
110
129
111 /*!
130 /*!
112 Destroys the object
131 Destroys the object
113 */
132 */
114 QCategoryAxis::~QCategoryAxis()
133 QCategoryAxis::~QCategoryAxis()
115 {
134 {
116 Q_D(QCategoryAxis);
135 Q_D(QCategoryAxis);
117 if (d->m_chart)
136 if (d->m_chart)
118 d->m_chart->removeAxis(this);
137 d->m_chart->removeAxis(this);
119 }
138 }
120
139
121 /*!
140 /*!
122 \internal
141 \internal
123 */
142 */
124 QCategoryAxis::QCategoryAxis(QCategoryAxisPrivate &d, QObject *parent): QValueAxis(d, parent)
143 QCategoryAxis::QCategoryAxis(QCategoryAxisPrivate &d, QObject *parent): QValueAxis(d, parent)
125 {
144 {
126
145
127 }
146 }
128
147
129 /*!
148 /*!
130 \qmlmethod CategoryAxis::append(string label, real endValue)
149 \qmlmethod CategoryAxis::append(string label, real endValue)
131 Appends new category to the axis with an \a label. Category label has to be unique.
150 Appends new category to the axis with an \a label. Category label has to be unique.
132 Parameter \a endValue specifies the high end limit of the category.
151 Parameter \a endValue specifies the high end limit of the category.
133 It has to be greater than the high end limit of the previous category.
152 It has to be greater than the high end limit of the previous category.
134 Otherwise the method returns without adding a new category.
153 Otherwise the method returns without adding a new category.
135 */
154 */
136 /*!
155 /*!
137 Appends new category to the axis with an \a categoryLabel.
156 Appends new category to the axis with an \a categoryLabel.
138 Category label has to be unique.
157 Category label has to be unique.
139 Parameter \a categoryEndValue specifies the high end limit of the category.
158 Parameter \a categoryEndValue specifies the high end limit of the category.
140 It has to be greater than the high end limit of the previous category.
159 It has to be greater than the high end limit of the previous category.
141 Otherwise the method returns without adding a new category.
160 Otherwise the method returns without adding a new category.
142 */
161 */
143 void QCategoryAxis::append(const QString &categoryLabel, qreal categoryEndValue)
162 void QCategoryAxis::append(const QString &categoryLabel, qreal categoryEndValue)
144 {
163 {
145 Q_D(QCategoryAxis);
164 Q_D(QCategoryAxis);
146
165
147 if (!d->m_categories.contains(categoryLabel)) {
166 if (!d->m_categories.contains(categoryLabel)) {
148 if (d->m_categories.isEmpty()) {
167 if (d->m_categories.isEmpty()) {
149 Range range(d->m_categoryMinimum, categoryEndValue);
168 Range range(d->m_categoryMinimum, categoryEndValue);
150 d->m_categoriesMap.insert(categoryLabel, range);
169 d->m_categoriesMap.insert(categoryLabel, range);
151 d->m_categories.append(categoryLabel);
170 d->m_categories.append(categoryLabel);
152 emit categoriesChanged();
171 emit categoriesChanged();
153 } else if (categoryEndValue > endValue(d->m_categories.last())) {
172 } else if (categoryEndValue > endValue(d->m_categories.last())) {
154 Range previousRange = d->m_categoriesMap.value(d->m_categories.last());
173 Range previousRange = d->m_categoriesMap.value(d->m_categories.last());
155 d->m_categoriesMap.insert(categoryLabel, Range(previousRange.second, categoryEndValue));
174 d->m_categoriesMap.insert(categoryLabel, Range(previousRange.second, categoryEndValue));
156 d->m_categories.append(categoryLabel);
175 d->m_categories.append(categoryLabel);
157 emit categoriesChanged();
176 emit categoriesChanged();
158 }
177 }
159 }
178 }
160 }
179 }
161
180
162 /*!
181 /*!
163 Sets \a min to be the low end limit of the first category on the axis.
182 Sets \a min to be the low end limit of the first category on the axis.
164 If there is already some categories added to the axis then passed value must be lower than the high end value of the already defined first category range.
183 If there is already some categories added to the axis then passed value must be lower than the high end value of the already defined first category range.
165 Otherwise nothing is done.
184 Otherwise nothing is done.
166 */
185 */
167 void QCategoryAxis::setStartValue(qreal min)
186 void QCategoryAxis::setStartValue(qreal min)
168 {
187 {
169 Q_D(QCategoryAxis);
188 Q_D(QCategoryAxis);
170 if (d->m_categories.isEmpty()) {
189 if (d->m_categories.isEmpty()) {
171 d->m_categoryMinimum = min;
190 d->m_categoryMinimum = min;
172 emit categoriesChanged();
191 emit categoriesChanged();
173 } else {
192 } else {
174 Range range = d->m_categoriesMap.value(d->m_categories.first());
193 Range range = d->m_categoriesMap.value(d->m_categories.first());
175 if (min < range.second) {
194 if (min < range.second) {
176 d->m_categoriesMap.insert(d->m_categories.first(), Range(min, range.second));
195 d->m_categoriesMap.insert(d->m_categories.first(), Range(min, range.second));
177 emit categoriesChanged();
196 emit categoriesChanged();
178 }
197 }
179 }
198 }
180 }
199 }
181
200
182 /*!
201 /*!
183 Returns the low end limit of the category specified by an \a categoryLabel
202 Returns the low end limit of the category specified by an \a categoryLabel
184 */
203 */
185 qreal QCategoryAxis::startValue(const QString &categoryLabel) const
204 qreal QCategoryAxis::startValue(const QString &categoryLabel) const
186 {
205 {
187 Q_D(const QCategoryAxis);
206 Q_D(const QCategoryAxis);
188 if (categoryLabel.isEmpty())
207 if (categoryLabel.isEmpty())
189 return d->m_categoryMinimum;
208 return d->m_categoryMinimum;
190 return d->m_categoriesMap.value(categoryLabel).first;
209 return d->m_categoriesMap.value(categoryLabel).first;
191 }
210 }
192
211
193 /*!
212 /*!
194 Returns the high end limit of the interval specified by an \a categoryLabel
213 Returns the high end limit of the interval specified by an \a categoryLabel
195 */
214 */
196 qreal QCategoryAxis::endValue(const QString &categoryLabel) const
215 qreal QCategoryAxis::endValue(const QString &categoryLabel) const
197 {
216 {
198 Q_D(const QCategoryAxis);
217 Q_D(const QCategoryAxis);
199 return d->m_categoriesMap.value(categoryLabel).second;
218 return d->m_categoriesMap.value(categoryLabel).second;
200 }
219 }
201
220
202 /*!
221 /*!
203 \qmlmethod CategoryAxis::remove(string label)
222 \qmlmethod CategoryAxis::remove(string label)
204 Removes a category specified by the \a label from the axis
223 Removes a category specified by the \a label from the axis
205 */
224 */
206 /*!
225 /*!
207 Removes an interval specified by the \a categoryLabel from the axis
226 Removes an interval specified by the \a categoryLabel from the axis
208 */
227 */
209 void QCategoryAxis::remove(const QString &categoryLabel)
228 void QCategoryAxis::remove(const QString &categoryLabel)
210 {
229 {
211 Q_D(QCategoryAxis);
230 Q_D(QCategoryAxis);
212 int labelIndex = d->m_categories.indexOf(categoryLabel);
231 int labelIndex = d->m_categories.indexOf(categoryLabel);
213
232
214 // check if such label exists
233 // check if such label exists
215 if (labelIndex != -1) {
234 if (labelIndex != -1) {
216 d->m_categories.removeAt(labelIndex);
235 d->m_categories.removeAt(labelIndex);
217 d->m_categoriesMap.remove(categoryLabel);
236 d->m_categoriesMap.remove(categoryLabel);
218
237
219 // the range of the interval that follows (if exists) needs to be updated
238 // the range of the interval that follows (if exists) needs to be updated
220 if (labelIndex < d->m_categories.count()) {
239 if (labelIndex < d->m_categories.count()) {
221 QString label = d->m_categories.at(labelIndex);
240 QString label = d->m_categories.at(labelIndex);
222 Range range = d->m_categoriesMap.value(label);
241 Range range = d->m_categoriesMap.value(label);
223
242
224 // set the range
243 // set the range
225 if (labelIndex == 0) {
244 if (labelIndex == 0) {
226 range.first = d->m_categoryMinimum;
245 range.first = d->m_categoryMinimum;
227 d->m_categoriesMap.insert(label, range);
246 d->m_categoriesMap.insert(label, range);
228 } else {
247 } else {
229 range.first = d->m_categoriesMap.value(d->m_categories.at(labelIndex - 1)).second;
248 range.first = d->m_categoriesMap.value(d->m_categories.at(labelIndex - 1)).second;
230 d->m_categoriesMap.insert(label, range);
249 d->m_categoriesMap.insert(label, range);
231 }
250 }
232 }
251 }
233 emit categoriesChanged();
252 emit categoriesChanged();
234 }
253 }
235 }
254 }
236
255
237 /*!
256 /*!
238 \qmlmethod CategoryAxis::replace(string oldLabel, string newLabel)
257 \qmlmethod CategoryAxis::replace(string oldLabel, string newLabel)
239 Replaces \a oldLabel of an existing category with a \a newLabel.
258 Replaces \a oldLabel of an existing category with a \a newLabel.
240 If the old label does not exist the method returns without making any changes.
259 If the old label does not exist the method returns without making any changes.
241 */
260 */
242 /*!
261 /*!
243 Replaces \a oldLabel of an existing category with a \a newLabel
262 Replaces \a oldLabel of an existing category with a \a newLabel
244 If the old label does not exist the method returns without making any changes.
263 If the old label does not exist the method returns without making any changes.
245 */
264 */
246 void QCategoryAxis::replaceLabel(const QString &oldLabel, const QString &newLabel)
265 void QCategoryAxis::replaceLabel(const QString &oldLabel, const QString &newLabel)
247 {
266 {
248 Q_D(QCategoryAxis);
267 Q_D(QCategoryAxis);
249 int labelIndex = d->m_categories.indexOf(oldLabel);
268 int labelIndex = d->m_categories.indexOf(oldLabel);
250
269
251 // check if such label exists
270 // check if such label exists
252 if (labelIndex != -1) {
271 if (labelIndex != -1) {
253 d->m_categories.replace(labelIndex, newLabel);
272 d->m_categories.replace(labelIndex, newLabel);
254 Range range = d->m_categoriesMap.value(oldLabel);
273 Range range = d->m_categoriesMap.value(oldLabel);
255 d->m_categoriesMap.remove(oldLabel);
274 d->m_categoriesMap.remove(oldLabel);
256 d->m_categoriesMap.insert(newLabel, range);
275 d->m_categoriesMap.insert(newLabel, range);
257 emit categoriesChanged();
276 emit categoriesChanged();
258 }
277 }
259 }
278 }
260
279
261 /*!
280 /*!
262 Returns the list of the intervals labels
281 Returns the list of the intervals labels
263 */
282 */
264 QStringList QCategoryAxis::categoriesLabels()
283 QStringList QCategoryAxis::categoriesLabels()
265 {
284 {
266 Q_D(QCategoryAxis);
285 Q_D(QCategoryAxis);
267 return d->m_categories;
286 return d->m_categories;
268 }
287 }
269
288
270 /*!
289 /*!
271 Returns number of intervals.
290 Returns number of intervals.
272 */
291 */
273 int QCategoryAxis::count() const
292 int QCategoryAxis::count() const
274 {
293 {
275 Q_D(const QCategoryAxis);
294 Q_D(const QCategoryAxis);
276 return d->m_categories.count();
295 return d->m_categories.count();
277 }
296 }
278
297
279 /*!
298 /*!
280 Returns the type of the axis
299 Returns the type of the axis
281 */
300 */
282 QAbstractAxis::AxisType QCategoryAxis::type() const
301 QAbstractAxis::AxisType QCategoryAxis::type() const
283 {
302 {
284 return QAbstractAxis::AxisTypeCategory;
303 return QAbstractAxis::AxisTypeCategory;
285 }
304 }
286
305
306 void QCategoryAxis::setLabelsPosition(QCategoryAxis::AxisLabelsPosition position)
307 {
308 Q_D(QCategoryAxis);
309 if (d->m_labelsPosition != position) {
310 d->m_labelsPosition = position;
311 emit labelsPositionChanged(position);
312 }
313 }
314
315 QCategoryAxis::AxisLabelsPosition QCategoryAxis::labelsPosition() const
316 {
317 Q_D(const QCategoryAxis);
318 return d->m_labelsPosition;
319 }
320
287 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
321 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
288
322
289 QCategoryAxisPrivate::QCategoryAxisPrivate(QCategoryAxis *q)
323 QCategoryAxisPrivate::QCategoryAxisPrivate(QCategoryAxis *q)
290 : QValueAxisPrivate(q),
324 : QValueAxisPrivate(q),
291 m_categoryMinimum(0)
325 m_categoryMinimum(0),
326 m_labelsPosition(QCategoryAxis::AxisLabelsPositionCenter)
292 {
327 {
293
328
294 }
329 }
295
330
296 QCategoryAxisPrivate::~QCategoryAxisPrivate()
331 QCategoryAxisPrivate::~QCategoryAxisPrivate()
297 {
332 {
298
333
299 }
334 }
300
335
301 int QCategoryAxisPrivate::ticksCount() const
336 int QCategoryAxisPrivate::ticksCount() const
302 {
337 {
303 return m_categories.count() + 1;
338 return m_categories.count() + 1;
304 }
339 }
305
340
306 void QCategoryAxisPrivate::initializeGraphics(QGraphicsItem *parent)
341 void QCategoryAxisPrivate::initializeGraphics(QGraphicsItem *parent)
307 {
342 {
308 Q_Q(QCategoryAxis);
343 Q_Q(QCategoryAxis);
309 ChartAxisElement *axis(0);
344 ChartAxisElement *axis(0);
310 if (m_chart->chartType() == QChart::ChartTypeCartesian) {
345 if (m_chart->chartType() == QChart::ChartTypeCartesian) {
311 if (orientation() == Qt::Vertical)
346 if (orientation() == Qt::Vertical)
312 axis = new ChartCategoryAxisY(q,parent);
347 axis = new ChartCategoryAxisY(q,parent);
313 else if (orientation() == Qt::Horizontal)
348 else if (orientation() == Qt::Horizontal)
314 axis = new ChartCategoryAxisX(q,parent);
349 axis = new ChartCategoryAxisX(q,parent);
315 }
350 }
316
351
317 if (m_chart->chartType() == QChart::ChartTypePolar) {
352 if (m_chart->chartType() == QChart::ChartTypePolar) {
318 if (orientation() == Qt::Vertical)
353 if (orientation() == Qt::Vertical)
319 axis = new PolarChartCategoryAxisRadial(q, parent);
354 axis = new PolarChartCategoryAxisRadial(q, parent);
320 if (orientation() == Qt::Horizontal)
355 if (orientation() == Qt::Horizontal)
321 axis = new PolarChartCategoryAxisAngular(q, parent);
356 axis = new PolarChartCategoryAxisAngular(q, parent);
322 }
357 }
323
358
324 m_item.reset(axis);
359 m_item.reset(axis);
325 QAbstractAxisPrivate::initializeGraphics(parent);
360 QAbstractAxisPrivate::initializeGraphics(parent);
326 }
361 }
327
362
328 #include "moc_qcategoryaxis.cpp"
363 #include "moc_qcategoryaxis.cpp"
329 #include "moc_qcategoryaxis_p.cpp"
364 #include "moc_qcategoryaxis_p.cpp"
330
365
331 QT_CHARTS_END_NAMESPACE
366 QT_CHARTS_END_NAMESPACE
@@ -1,68 +1,80
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #ifndef QCATEGORYAXIS_H
19 #ifndef QCATEGORYAXIS_H
20 #define QCATEGORYAXIS_H
20 #define QCATEGORYAXIS_H
21
21
22 #include <QtCharts/QAbstractAxis>
22 #include <QtCharts/QAbstractAxis>
23 #include <QtCharts/QValueAxis>
23 #include <QtCharts/QValueAxis>
24
24
25 QT_CHARTS_BEGIN_NAMESPACE
25 QT_CHARTS_BEGIN_NAMESPACE
26
26
27 class QCategoryAxisPrivate;
27 class QCategoryAxisPrivate;
28
28
29 class QT_CHARTS_EXPORT QCategoryAxis : public QValueAxis
29 class QT_CHARTS_EXPORT QCategoryAxis : public QValueAxis
30 {
30 {
31 Q_OBJECT
31 Q_OBJECT
32 Q_PROPERTY(qreal startValue READ startValue WRITE setStartValue)
32 Q_PROPERTY(qreal startValue READ startValue WRITE setStartValue)
33 Q_PROPERTY(int count READ count)
33 Q_PROPERTY(int count READ count)
34 Q_PROPERTY(QStringList categoriesLabels READ categoriesLabels)
34 Q_PROPERTY(QStringList categoriesLabels READ categoriesLabels)
35 Q_PROPERTY(AxisLabelsPosition labelsPosition READ labelsPosition WRITE setLabelsPosition NOTIFY labelsPositionChanged)
36 Q_ENUMS(AxisLabelsPosition)
35
37
36 public:
38 public:
39
40 enum AxisLabelsPosition {
41 AxisLabelsPositionCenter = 0x0,
42 AxisLabelsPositionOnValue = 0x1
43 };
44
37 explicit QCategoryAxis(QObject *parent = 0);
45 explicit QCategoryAxis(QObject *parent = 0);
38 ~QCategoryAxis();
46 ~QCategoryAxis();
39
47
40 protected:
48 protected:
41 QCategoryAxis(QCategoryAxisPrivate &d, QObject *parent = 0);
49 QCategoryAxis(QCategoryAxisPrivate &d, QObject *parent = 0);
42
50
43 public:
51 public:
44 AxisType type() const;
52 AxisType type() const;
45
53
46 void append(const QString &label, qreal categoryEndValue);
54 void append(const QString &label, qreal categoryEndValue);
47 void remove(const QString &label);
55 void remove(const QString &label);
48 void replaceLabel(const QString &oldLabel, const QString &newLabel);
56 void replaceLabel(const QString &oldLabel, const QString &newLabel);
49
57
50 qreal startValue(const QString &categoryLabel = QString()) const;
58 qreal startValue(const QString &categoryLabel = QString()) const;
51 void setStartValue(qreal min);
59 void setStartValue(qreal min);
52
60
53 qreal endValue(const QString &categoryLabel) const;
61 qreal endValue(const QString &categoryLabel) const;
54
62
55 QStringList categoriesLabels();
63 QStringList categoriesLabels();
56 int count() const;
64 int count() const;
57
65
66 QCategoryAxis::AxisLabelsPosition labelsPosition() const;
67 void setLabelsPosition(QCategoryAxis::AxisLabelsPosition position);
68
58 Q_SIGNALS:
69 Q_SIGNALS:
59 void categoriesChanged();
70 void categoriesChanged();
71 void labelsPositionChanged(QCategoryAxis::AxisLabelsPosition position);
60
72
61 private:
73 private:
62 Q_DECLARE_PRIVATE(QCategoryAxis)
74 Q_DECLARE_PRIVATE(QCategoryAxis)
63 Q_DISABLE_COPY(QCategoryAxis)
75 Q_DISABLE_COPY(QCategoryAxis)
64 };
76 };
65
77
66 QT_CHARTS_END_NAMESPACE
78 QT_CHARTS_END_NAMESPACE
67
79
68 #endif // QCATEGORYAXIS_H
80 #endif // QCATEGORYAXIS_H
@@ -1,60 +1,61
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 // W A R N I N G
19 // W A R N I N G
20 // -------------
20 // -------------
21 //
21 //
22 // This file is not part of the Qt Enterprise Chart API. It exists purely as an
22 // This file is not part of the Qt Enterprise Chart API. It exists purely as an
23 // implementation detail. This header file may change from version to
23 // implementation detail. This header file may change from version to
24 // version without notice, or even be removed.
24 // version without notice, or even be removed.
25 //
25 //
26 // We mean it.
26 // We mean it.
27
27
28 #ifndef QCATEGORYAXIS_P_H
28 #ifndef QCATEGORYAXIS_P_H
29 #define QCATEGORYAXIS_P_H
29 #define QCATEGORYAXIS_P_H
30
30
31 #include <QtCharts/QCategoryAxis>
31 #include <QtCharts/QCategoryAxis>
32 #include <private/qvalueaxis_p.h>
32 #include <private/qvalueaxis_p.h>
33
33
34 QT_CHARTS_BEGIN_NAMESPACE
34 QT_CHARTS_BEGIN_NAMESPACE
35
35
36 typedef QPair<qreal, qreal> Range;
36 typedef QPair<qreal, qreal> Range;
37
37
38 class QCategoryAxisPrivate : public QValueAxisPrivate
38 class QCategoryAxisPrivate : public QValueAxisPrivate
39 {
39 {
40 Q_OBJECT
40 Q_OBJECT
41
41
42 public:
42 public:
43 QCategoryAxisPrivate(QCategoryAxis *q);
43 QCategoryAxisPrivate(QCategoryAxis *q);
44 ~QCategoryAxisPrivate();
44 ~QCategoryAxisPrivate();
45
45
46 void initializeGraphics(QGraphicsItem* parent);
46 void initializeGraphics(QGraphicsItem* parent);
47 int ticksCount() const;
47 int ticksCount() const;
48
48
49 private:
49 private:
50 QMap<QString , Range> m_categoriesMap;
50 QMap<QString , Range> m_categoriesMap;
51 QStringList m_categories;
51 QStringList m_categories;
52 qreal m_categoryMinimum;
52 qreal m_categoryMinimum;
53 QCategoryAxis::AxisLabelsPosition m_labelsPosition;
53
54
54 private:
55 private:
55 Q_DECLARE_PUBLIC(QCategoryAxis)
56 Q_DECLARE_PUBLIC(QCategoryAxis)
56 };
57 };
57
58
58 QT_CHARTS_END_NAMESPACE
59 QT_CHARTS_END_NAMESPACE
59
60
60 #endif // QCATEGORYAXIS_P_H
61 #endif // QCATEGORYAXIS_P_H
@@ -1,247 +1,264
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #include <private/horizontalaxis_p.h>
19 #include <private/horizontalaxis_p.h>
20 #include <private/qabstractaxis_p.h>
20 #include <private/qabstractaxis_p.h>
21 #include <private/chartpresenter_p.h>
21 #include <private/chartpresenter_p.h>
22 #include <QtCharts/QCategoryAxis>
22 #include <QtCore/QtMath>
23 #include <QtCore/QtMath>
23 #include <QtCore/QDebug>
24 #include <QtCore/QDebug>
24
25
25 QT_CHARTS_BEGIN_NAMESPACE
26 QT_CHARTS_BEGIN_NAMESPACE
26
27
27 HorizontalAxis::HorizontalAxis(QAbstractAxis *axis, QGraphicsItem *item, bool intervalAxis)
28 HorizontalAxis::HorizontalAxis(QAbstractAxis *axis, QGraphicsItem *item, bool intervalAxis)
28 : CartesianChartAxis(axis, item, intervalAxis)
29 : CartesianChartAxis(axis, item, intervalAxis)
29 {
30 {
30 }
31 }
31
32
32 HorizontalAxis::~HorizontalAxis()
33 HorizontalAxis::~HorizontalAxis()
33 {
34 {
34 }
35 }
35
36
36 void HorizontalAxis::updateGeometry()
37 void HorizontalAxis::updateGeometry()
37 {
38 {
38 const QVector<qreal> &layout = ChartAxisElement::layout();
39 const QVector<qreal> &layout = ChartAxisElement::layout();
39
40
40 if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
41 if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
41 return;
42 return;
42
43
43 QStringList labelList = labels();
44 QStringList labelList = labels();
44
45
45 QList<QGraphicsItem *> labels = labelItems();
46 QList<QGraphicsItem *> labels = labelItems();
46 QList<QGraphicsItem *> arrow = arrowItems();
47 QList<QGraphicsItem *> arrow = arrowItems();
47 QGraphicsTextItem *title = titleItem();
48 QGraphicsTextItem *title = titleItem();
48
49
49 Q_ASSERT(labels.size() == labelList.size());
50 Q_ASSERT(labels.size() == labelList.size());
50 Q_ASSERT(layout.size() == labelList.size());
51 Q_ASSERT(layout.size() == labelList.size());
51
52
52 const QRectF &axisRect = axisGeometry();
53 const QRectF &axisRect = axisGeometry();
53 const QRectF &gridRect = gridGeometry();
54 const QRectF &gridRect = gridGeometry();
54
55
55 //arrow
56 //arrow
56 QGraphicsLineItem *arrowItem = static_cast<QGraphicsLineItem *>(arrow.at(0));
57 QGraphicsLineItem *arrowItem = static_cast<QGraphicsLineItem *>(arrow.at(0));
57
58
58 if (axis()->alignment() == Qt::AlignTop)
59 if (axis()->alignment() == Qt::AlignTop)
59 arrowItem->setLine(gridRect.left(), axisRect.bottom(), gridRect.right(), axisRect.bottom());
60 arrowItem->setLine(gridRect.left(), axisRect.bottom(), gridRect.right(), axisRect.bottom());
60 else if (axis()->alignment() == Qt::AlignBottom)
61 else if (axis()->alignment() == Qt::AlignBottom)
61 arrowItem->setLine(gridRect.left(), axisRect.top(), gridRect.right(), axisRect.top());
62 arrowItem->setLine(gridRect.left(), axisRect.top(), gridRect.right(), axisRect.top());
62
63
63 qreal width = 0;
64 qreal width = 0;
64 const QLatin1String ellipsis("...");
65 const QLatin1String ellipsis("...");
65
66
66 //title
67 //title
67 QRectF titleBoundingRect;
68 QRectF titleBoundingRect;
68 QString titleText = axis()->titleText();
69 QString titleText = axis()->titleText();
69 qreal availableSpace = axisRect.height() - labelPadding();
70 qreal availableSpace = axisRect.height() - labelPadding();
70 if (!titleText.isEmpty() && titleItem()->isVisible()) {
71 if (!titleText.isEmpty() && titleItem()->isVisible()) {
71 availableSpace -= titlePadding() * 2.0;
72 availableSpace -= titlePadding() * 2.0;
72 qreal minimumLabelHeight = ChartPresenter::textBoundingRect(axis()->labelsFont(),
73 qreal minimumLabelHeight = ChartPresenter::textBoundingRect(axis()->labelsFont(),
73 QStringLiteral("...")).height();
74 QStringLiteral("...")).height();
74 qreal titleSpace = availableSpace - minimumLabelHeight;
75 qreal titleSpace = availableSpace - minimumLabelHeight;
75 title->setHtml(ChartPresenter::truncatedText(axis()->titleFont(), titleText, qreal(0.0),
76 title->setHtml(ChartPresenter::truncatedText(axis()->titleFont(), titleText, qreal(0.0),
76 gridRect.width(), titleSpace,
77 gridRect.width(), titleSpace,
77 titleBoundingRect));
78 titleBoundingRect));
78 title->setTextWidth(titleBoundingRect.width());
79 title->setTextWidth(titleBoundingRect.width());
79
80
80 titleBoundingRect = title->boundingRect();
81 titleBoundingRect = title->boundingRect();
81
82
82 QPointF center = gridRect.center() - titleBoundingRect.center();
83 QPointF center = gridRect.center() - titleBoundingRect.center();
83 if (axis()->alignment() == Qt::AlignTop)
84 if (axis()->alignment() == Qt::AlignTop)
84 title->setPos(center.x(), axisRect.top() + titlePadding());
85 title->setPos(center.x(), axisRect.top() + titlePadding());
85 else if (axis()->alignment() == Qt::AlignBottom)
86 else if (axis()->alignment() == Qt::AlignBottom)
86 title->setPos(center.x(), axisRect.bottom() - titleBoundingRect.height() - titlePadding());
87 title->setPos(center.x(), axisRect.bottom() - titleBoundingRect.height() - titlePadding());
87
88
88 availableSpace -= titleBoundingRect.height();
89 availableSpace -= titleBoundingRect.height();
89 }
90 }
90
91
91 if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
92 if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
92 return;
93 return;
93
94
94 QList<QGraphicsItem *> lines = gridItems();
95 QList<QGraphicsItem *> lines = gridItems();
95 QList<QGraphicsItem *> shades = shadeItems();
96 QList<QGraphicsItem *> shades = shadeItems();
96
97
97 for (int i = 0; i < layout.size(); ++i) {
98 for (int i = 0; i < layout.size(); ++i) {
98 //items
99 //items
99 QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem*>(lines.at(i));
100 QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem*>(lines.at(i));
100 QGraphicsLineItem *tickItem = static_cast<QGraphicsLineItem*>(arrow.at(i + 1));
101 QGraphicsLineItem *tickItem = static_cast<QGraphicsLineItem*>(arrow.at(i + 1));
101 QGraphicsTextItem *labelItem = static_cast<QGraphicsTextItem *>(labels.at(i));
102 QGraphicsTextItem *labelItem = static_cast<QGraphicsTextItem *>(labels.at(i));
102
103
103 //grid line
104 //grid line
104 gridItem->setLine(layout[i], gridRect.top(), layout[i], gridRect.bottom());
105 gridItem->setLine(layout[i], gridRect.top(), layout[i], gridRect.bottom());
105
106
106 //label text wrapping
107 //label text wrapping
107 QString text = labelList.at(i);
108 QString text = labelList.at(i);
108 QRectF boundingRect;
109 QRectF boundingRect;
109 // don't truncate empty labels
110 // don't truncate empty labels
110 if (text.isEmpty()) {
111 if (text.isEmpty()) {
111 labelItem->setHtml(text);
112 labelItem->setHtml(text);
112 } else {
113 } else {
113 qreal labelWidth = axisRect.width() / layout.count() - (2 * labelPadding());
114 qreal labelWidth = axisRect.width() / layout.count() - (2 * labelPadding());
114 QString truncatedText = ChartPresenter::truncatedText(axis()->labelsFont(), text,
115 QString truncatedText = ChartPresenter::truncatedText(axis()->labelsFont(), text,
115 axis()->labelsAngle(),
116 axis()->labelsAngle(),
116 labelWidth,
117 labelWidth,
117 availableSpace, boundingRect);
118 availableSpace, boundingRect);
118 labelItem->setTextWidth(ChartPresenter::textBoundingRect(axis()->labelsFont(),
119 labelItem->setTextWidth(ChartPresenter::textBoundingRect(axis()->labelsFont(),
119 truncatedText).width());
120 truncatedText).width());
120 labelItem->setHtml(truncatedText);
121 labelItem->setHtml(truncatedText);
121 }
122 }
122
123
123 //label transformation origin point
124 //label transformation origin point
124 const QRectF& rect = labelItem->boundingRect();
125 const QRectF& rect = labelItem->boundingRect();
125 QPointF center = rect.center();
126 QPointF center = rect.center();
126 labelItem->setTransformOriginPoint(center.x(), center.y());
127 labelItem->setTransformOriginPoint(center.x(), center.y());
127 qreal heightDiff = rect.height() - boundingRect.height();
128 qreal heightDiff = rect.height() - boundingRect.height();
128 qreal widthDiff = rect.width() - boundingRect.width();
129 qreal widthDiff = rect.width() - boundingRect.width();
129
130
130 //ticks and label position
131 //ticks and label position
131 if (axis()->alignment() == Qt::AlignTop) {
132 if (axis()->alignment() == Qt::AlignTop) {
132 labelItem->setPos(layout[i] - center.x(), axisRect.bottom() - rect.height() + (heightDiff / 2.0) - labelPadding());
133 labelItem->setPos(layout[i] - center.x(), axisRect.bottom() - rect.height() + (heightDiff / 2.0) - labelPadding());
133 tickItem->setLine(layout[i], axisRect.bottom(), layout[i], axisRect.bottom() - labelPadding());
134 tickItem->setLine(layout[i], axisRect.bottom(), layout[i], axisRect.bottom() - labelPadding());
134 } else if (axis()->alignment() == Qt::AlignBottom) {
135 } else if (axis()->alignment() == Qt::AlignBottom) {
135 labelItem->setPos(layout[i] - center.x(), axisRect.top() - (heightDiff / 2.0) + labelPadding());
136 labelItem->setPos(layout[i] - center.x(), axisRect.top() - (heightDiff / 2.0) + labelPadding());
136 tickItem->setLine(layout[i], axisRect.top(), layout[i], axisRect.top() + labelPadding());
137 tickItem->setLine(layout[i], axisRect.top(), layout[i], axisRect.top() + labelPadding());
137 }
138 }
138
139
139 //label in between
140 //label in between
140 bool forceHide = false;
141 bool forceHide = false;
141 if (intervalAxis() && (i + 1) != layout.size()) {
142 if (intervalAxis() && (i + 1) != layout.size()) {
142 qreal leftBound = qMax(layout[i], gridRect.left());
143 qreal leftBound = qMax(layout[i], gridRect.left());
143 qreal rightBound = qMin(layout[i + 1], gridRect.right());
144 qreal rightBound = qMin(layout[i + 1], gridRect.right());
144 const qreal delta = rightBound - leftBound;
145 const qreal delta = rightBound - leftBound;
146 if (axis()->type() != QAbstractAxis::AxisTypeCategory) {
145 // Hide label in case visible part of the category at the grid edge is too narrow
147 // Hide label in case visible part of the category at the grid edge is too narrow
146 if (delta < boundingRect.width()
148 if (delta < boundingRect.width()
147 && (leftBound == gridRect.left() || rightBound == gridRect.right())) {
149 && (leftBound == gridRect.left() || rightBound == gridRect.right())) {
148 forceHide = true;
150 forceHide = true;
149 } else {
151 } else {
150 labelItem->setPos(leftBound + (delta / 2.0) - center.x(), labelItem->pos().y());
152 labelItem->setPos(leftBound + (delta / 2.0) - center.x(), labelItem->pos().y());
151 }
153 }
154 } else {
155 QCategoryAxis *categoryAxis = static_cast<QCategoryAxis *>(axis());
156 if (categoryAxis->labelsPosition() == QCategoryAxis::AxisLabelsPositionCenter) {
157 if (delta < boundingRect.width()
158 && (leftBound == gridRect.left() || rightBound == gridRect.right())) {
159 forceHide = true;
160 } else {
161 labelItem->setPos(leftBound + (delta / 2.0) - center.x(),
162 labelItem->pos().y());
163 }
164 } else if (categoryAxis->labelsPosition()
165 == QCategoryAxis::AxisLabelsPositionOnValue) {
166 labelItem->setPos(rightBound - center.x(), labelItem->pos().y());
167 }
168 }
152 }
169 }
153
170
154 //label overlap detection - compensate one pixel for rounding errors
171 //label overlap detection - compensate one pixel for rounding errors
155 if ((labelItem->pos().x() < width && labelItem->toPlainText() == ellipsis) || forceHide ||
172 if ((labelItem->pos().x() < width && labelItem->toPlainText() == ellipsis) || forceHide ||
156 (labelItem->pos().x() + (widthDiff / 2.0)) < (axisRect.left() - 1.0) ||
173 (labelItem->pos().x() + (widthDiff / 2.0)) < (axisRect.left() - 1.0) ||
157 (labelItem->pos().x() + (widthDiff / 2.0) - 1.0) > axisRect.right()) {
174 (labelItem->pos().x() + (widthDiff / 2.0) - 1.0) > axisRect.right()) {
158 labelItem->setVisible(false);
175 labelItem->setVisible(false);
159 } else {
176 } else {
160 labelItem->setVisible(true);
177 labelItem->setVisible(true);
161 width = boundingRect.width() + labelItem->pos().x();
178 width = boundingRect.width() + labelItem->pos().x();
162 }
179 }
163
180
164 //shades
181 //shades
165 QGraphicsRectItem *shadeItem = 0;
182 QGraphicsRectItem *shadeItem = 0;
166 if (i == 0)
183 if (i == 0)
167 shadeItem = static_cast<QGraphicsRectItem *>(shades.at(0));
184 shadeItem = static_cast<QGraphicsRectItem *>(shades.at(0));
168 else if (i % 2)
185 else if (i % 2)
169 shadeItem = static_cast<QGraphicsRectItem *>(shades.at((i / 2) + 1));
186 shadeItem = static_cast<QGraphicsRectItem *>(shades.at((i / 2) + 1));
170 if (shadeItem) {
187 if (shadeItem) {
171 qreal leftBound;
188 qreal leftBound;
172 qreal rightBound;
189 qreal rightBound;
173 if (i == 0) {
190 if (i == 0) {
174 leftBound = gridRect.left();
191 leftBound = gridRect.left();
175 rightBound = layout[0];
192 rightBound = layout[0];
176 } else {
193 } else {
177 leftBound = layout[i];
194 leftBound = layout[i];
178 if (i == layout.size() - 1)
195 if (i == layout.size() - 1)
179 rightBound = gridRect.right();
196 rightBound = gridRect.right();
180 else
197 else
181 rightBound = qMin(layout[i + 1], gridRect.right());
198 rightBound = qMin(layout[i + 1], gridRect.right());
182 }
199 }
183 if (leftBound < gridRect.left())
200 if (leftBound < gridRect.left())
184 leftBound = gridRect.left();
201 leftBound = gridRect.left();
185 if (rightBound > gridRect.right())
202 if (rightBound > gridRect.right())
186 rightBound = gridRect.right();
203 rightBound = gridRect.right();
187 shadeItem->setRect(leftBound, gridRect.top(), rightBound - leftBound,
204 shadeItem->setRect(leftBound, gridRect.top(), rightBound - leftBound,
188 gridRect.height());
205 gridRect.height());
189 if (shadeItem->rect().width() <= 0.0)
206 if (shadeItem->rect().width() <= 0.0)
190 shadeItem->setVisible(false);
207 shadeItem->setVisible(false);
191 else
208 else
192 shadeItem->setVisible(true);
209 shadeItem->setVisible(true);
193 }
210 }
194
211
195 // check if the grid line and the axis tick should be shown
212 // check if the grid line and the axis tick should be shown
196 qreal x = gridItem->line().p1().x();
213 qreal x = gridItem->line().p1().x();
197 if (x < gridRect.left() || x > gridRect.right()) {
214 if (x < gridRect.left() || x > gridRect.right()) {
198 gridItem->setVisible(false);
215 gridItem->setVisible(false);
199 tickItem->setVisible(false);
216 tickItem->setVisible(false);
200 } else {
217 } else {
201 gridItem->setVisible(true);
218 gridItem->setVisible(true);
202 tickItem->setVisible(true);
219 tickItem->setVisible(true);
203 }
220 }
204
221
205 }
222 }
206
223
207 //begin/end grid line in case labels between
224 //begin/end grid line in case labels between
208 if (intervalAxis()) {
225 if (intervalAxis()) {
209 QGraphicsLineItem *gridLine;
226 QGraphicsLineItem *gridLine;
210 gridLine = static_cast<QGraphicsLineItem *>(lines.at(layout.size()));
227 gridLine = static_cast<QGraphicsLineItem *>(lines.at(layout.size()));
211 gridLine->setLine(gridRect.right(), gridRect.top(), gridRect.right(), gridRect.bottom());
228 gridLine->setLine(gridRect.right(), gridRect.top(), gridRect.right(), gridRect.bottom());
212 gridLine->setVisible(true);
229 gridLine->setVisible(true);
213 gridLine = static_cast<QGraphicsLineItem*>(lines.at(layout.size()+1));
230 gridLine = static_cast<QGraphicsLineItem*>(lines.at(layout.size()+1));
214 gridLine->setLine(gridRect.left(), gridRect.top(), gridRect.left(), gridRect.bottom());
231 gridLine->setLine(gridRect.left(), gridRect.top(), gridRect.left(), gridRect.bottom());
215 gridLine->setVisible(true);
232 gridLine->setVisible(true);
216 }
233 }
217 }
234 }
218
235
219 QSizeF HorizontalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
236 QSizeF HorizontalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
220 {
237 {
221 Q_UNUSED(constraint);
238 Q_UNUSED(constraint);
222 QSizeF sh(0,0);
239 QSizeF sh(0,0);
223
240
224 if (axis()->titleText().isEmpty() || !titleItem()->isVisible())
241 if (axis()->titleText().isEmpty() || !titleItem()->isVisible())
225 return sh;
242 return sh;
226
243
227 switch (which) {
244 switch (which) {
228 case Qt::MinimumSize: {
245 case Qt::MinimumSize: {
229 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(),
246 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(),
230 QStringLiteral("..."));
247 QStringLiteral("..."));
231 sh = QSizeF(titleRect.width(), titleRect.height() + (titlePadding() * 2.0));
248 sh = QSizeF(titleRect.width(), titleRect.height() + (titlePadding() * 2.0));
232 break;
249 break;
233 }
250 }
234 case Qt::MaximumSize:
251 case Qt::MaximumSize:
235 case Qt::PreferredSize: {
252 case Qt::PreferredSize: {
236 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(), axis()->titleText());
253 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(), axis()->titleText());
237 sh = QSizeF(titleRect.width(), titleRect.height() + (titlePadding() * 2.0));
254 sh = QSizeF(titleRect.width(), titleRect.height() + (titlePadding() * 2.0));
238 break;
255 break;
239 }
256 }
240 default:
257 default:
241 break;
258 break;
242 }
259 }
243
260
244 return sh;
261 return sh;
245 }
262 }
246
263
247 QT_CHARTS_END_NAMESPACE
264 QT_CHARTS_END_NAMESPACE
@@ -1,251 +1,272
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #include <private/verticalaxis_p.h>
19 #include <private/verticalaxis_p.h>
20 #include <QtCharts/QAbstractAxis>
20 #include <QtCharts/QAbstractAxis>
21 #include <private/chartpresenter_p.h>
21 #include <private/chartpresenter_p.h>
22 #include <QtCharts/QCategoryAxis>
22 #include <QtCore/QDebug>
23 #include <QtCore/QDebug>
23
24
24 QT_CHARTS_BEGIN_NAMESPACE
25 QT_CHARTS_BEGIN_NAMESPACE
25
26
26 VerticalAxis::VerticalAxis(QAbstractAxis *axis, QGraphicsItem *item, bool intervalAxis)
27 VerticalAxis::VerticalAxis(QAbstractAxis *axis, QGraphicsItem *item, bool intervalAxis)
27 : CartesianChartAxis(axis, item, intervalAxis)
28 : CartesianChartAxis(axis, item, intervalAxis)
28 {
29 {
29 }
30 }
30
31
31 VerticalAxis::~VerticalAxis()
32 VerticalAxis::~VerticalAxis()
32 {
33 {
33 }
34 }
34
35
35 void VerticalAxis::updateGeometry()
36 void VerticalAxis::updateGeometry()
36 {
37 {
37 const QVector<qreal> &layout = ChartAxisElement::layout();
38 const QVector<qreal> &layout = ChartAxisElement::layout();
38
39
39 if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
40 if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
40 return;
41 return;
41
42
42 QStringList labelList = labels();
43 QStringList labelList = labels();
43
44
44 QList<QGraphicsItem *> labels = labelItems();
45 QList<QGraphicsItem *> labels = labelItems();
45 QList<QGraphicsItem *> arrow = arrowItems();
46 QList<QGraphicsItem *> arrow = arrowItems();
46 QGraphicsTextItem *title = titleItem();
47 QGraphicsTextItem *title = titleItem();
47
48
48 Q_ASSERT(labels.size() == labelList.size());
49 Q_ASSERT(labels.size() == labelList.size());
49 Q_ASSERT(layout.size() == labelList.size());
50 Q_ASSERT(layout.size() == labelList.size());
50
51
51 const QRectF &axisRect = axisGeometry();
52 const QRectF &axisRect = axisGeometry();
52 const QRectF &gridRect = gridGeometry();
53 const QRectF &gridRect = gridGeometry();
53
54
54 qreal height = axisRect.bottom();
55 qreal height = axisRect.bottom();
55
56
56 //arrow
57 //arrow
57 QGraphicsLineItem *arrowItem = static_cast<QGraphicsLineItem*>(arrow.at(0));
58 QGraphicsLineItem *arrowItem = static_cast<QGraphicsLineItem*>(arrow.at(0));
58
59
59 //arrow position
60 //arrow position
60 if (axis()->alignment() == Qt::AlignLeft)
61 if (axis()->alignment() == Qt::AlignLeft)
61 arrowItem->setLine(axisRect.right(), gridRect.top(), axisRect.right(), gridRect.bottom());
62 arrowItem->setLine(axisRect.right(), gridRect.top(), axisRect.right(), gridRect.bottom());
62 else if (axis()->alignment() == Qt::AlignRight)
63 else if (axis()->alignment() == Qt::AlignRight)
63 arrowItem->setLine(axisRect.left(), gridRect.top(), axisRect.left(), gridRect.bottom());
64 arrowItem->setLine(axisRect.left(), gridRect.top(), axisRect.left(), gridRect.bottom());
64
65
65 //title
66 //title
66 QRectF titleBoundingRect;
67 QRectF titleBoundingRect;
67 QString titleText = axis()->titleText();
68 QString titleText = axis()->titleText();
68 qreal availableSpace = axisRect.width() - labelPadding();
69 qreal availableSpace = axisRect.width() - labelPadding();
69 if (!titleText.isEmpty() && titleItem()->isVisible()) {
70 if (!titleText.isEmpty() && titleItem()->isVisible()) {
70 availableSpace -= titlePadding() * 2.0;
71 availableSpace -= titlePadding() * 2.0;
71 qreal minimumLabelWidth = ChartPresenter::textBoundingRect(axis()->labelsFont(),
72 qreal minimumLabelWidth = ChartPresenter::textBoundingRect(axis()->labelsFont(),
72 QStringLiteral("...")).width();
73 QStringLiteral("...")).width();
73 qreal titleSpace = availableSpace - minimumLabelWidth;
74 qreal titleSpace = availableSpace - minimumLabelWidth;
74 title->setHtml(ChartPresenter::truncatedText(axis()->titleFont(), titleText, qreal(90.0),
75 title->setHtml(ChartPresenter::truncatedText(axis()->titleFont(), titleText, qreal(90.0),
75 titleSpace, gridRect.height(),
76 titleSpace, gridRect.height(),
76 titleBoundingRect));
77 titleBoundingRect));
77 title->setTextWidth(titleBoundingRect.height());
78 title->setTextWidth(titleBoundingRect.height());
78
79
79 titleBoundingRect = title->boundingRect();
80 titleBoundingRect = title->boundingRect();
80
81
81 QPointF center = gridRect.center() - titleBoundingRect.center();
82 QPointF center = gridRect.center() - titleBoundingRect.center();
82 if (axis()->alignment() == Qt::AlignLeft)
83 if (axis()->alignment() == Qt::AlignLeft)
83 title->setPos(axisRect.left() - titleBoundingRect.width() / 2.0 + titleBoundingRect.height() / 2.0 + titlePadding(), center.y());
84 title->setPos(axisRect.left() - titleBoundingRect.width() / 2.0 + titleBoundingRect.height() / 2.0 + titlePadding(), center.y());
84 else if (axis()->alignment() == Qt::AlignRight)
85 else if (axis()->alignment() == Qt::AlignRight)
85 title->setPos(axisRect.right() - titleBoundingRect.width() / 2.0 - titleBoundingRect.height() / 2.0 - titlePadding(), center.y());
86 title->setPos(axisRect.right() - titleBoundingRect.width() / 2.0 - titleBoundingRect.height() / 2.0 - titlePadding(), center.y());
86
87
87 title->setTransformOriginPoint(titleBoundingRect.center());
88 title->setTransformOriginPoint(titleBoundingRect.center());
88 title->setRotation(270);
89 title->setRotation(270);
89
90
90 availableSpace -= titleBoundingRect.height();
91 availableSpace -= titleBoundingRect.height();
91 }
92 }
92
93
93 if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
94 if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
94 return;
95 return;
95
96
96 QList<QGraphicsItem *> lines = gridItems();
97 QList<QGraphicsItem *> lines = gridItems();
97 QList<QGraphicsItem *> shades = shadeItems();
98 QList<QGraphicsItem *> shades = shadeItems();
98
99
99 for (int i = 0; i < layout.size(); ++i) {
100 for (int i = 0; i < layout.size(); ++i) {
100 //items
101 //items
101 QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem *>(lines.at(i));
102 QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem *>(lines.at(i));
102 QGraphicsLineItem *tickItem = static_cast<QGraphicsLineItem *>(arrow.at(i + 1));
103 QGraphicsLineItem *tickItem = static_cast<QGraphicsLineItem *>(arrow.at(i + 1));
103 QGraphicsTextItem *labelItem = static_cast<QGraphicsTextItem *>(labels.at(i));
104 QGraphicsTextItem *labelItem = static_cast<QGraphicsTextItem *>(labels.at(i));
104
105
105 //grid line
106 //grid line
106 gridItem->setLine(gridRect.left(), layout[i], gridRect.right(), layout[i]);
107 gridItem->setLine(gridRect.left(), layout[i], gridRect.right(), layout[i]);
107
108
108 //label text wrapping
109 //label text wrapping
109 QString text = labelList.at(i);
110 QString text = labelList.at(i);
110 QRectF boundingRect;
111 QRectF boundingRect;
111 // don't truncate empty labels
112 // don't truncate empty labels
112 if (text.isEmpty()) {
113 if (text.isEmpty()) {
113 labelItem->setHtml(text);
114 labelItem->setHtml(text);
114 } else {
115 } else {
115 qreal labelHeight = (axisRect.height() / layout.count()) - (2 * labelPadding());
116 qreal labelHeight = (axisRect.height() / layout.count()) - (2 * labelPadding());
116 QString truncatedText = ChartPresenter::truncatedText(axis()->labelsFont(), text,
117 QString truncatedText = ChartPresenter::truncatedText(axis()->labelsFont(), text,
117 axis()->labelsAngle(),
118 axis()->labelsAngle(),
118 availableSpace,
119 availableSpace,
119 labelHeight, boundingRect);
120 labelHeight, boundingRect);
120 labelItem->setTextWidth(ChartPresenter::textBoundingRect(axis()->labelsFont(),
121 labelItem->setTextWidth(ChartPresenter::textBoundingRect(axis()->labelsFont(),
121 truncatedText).width());
122 truncatedText).width());
122 labelItem->setHtml(truncatedText);
123 labelItem->setHtml(truncatedText);
123 }
124 }
124
125
125 //label transformation origin point
126 //label transformation origin point
126 const QRectF &rect = labelItem->boundingRect();
127 const QRectF &rect = labelItem->boundingRect();
127 QPointF center = rect.center();
128 QPointF center = rect.center();
128 labelItem->setTransformOriginPoint(center.x(), center.y());
129 labelItem->setTransformOriginPoint(center.x(), center.y());
129 qreal widthDiff = rect.width() - boundingRect.width();
130 qreal widthDiff = rect.width() - boundingRect.width();
130 qreal heightDiff = rect.height() - boundingRect.height();
131 qreal heightDiff = rect.height() - boundingRect.height();
131
132
132 //ticks and label position
133 //ticks and label position
133 if (axis()->alignment() == Qt::AlignLeft) {
134 if (axis()->alignment() == Qt::AlignLeft) {
134 labelItem->setPos(axisRect.right() - rect.width() + (widthDiff / 2.0) - labelPadding(), layout[i] - center.y());
135 labelItem->setPos(axisRect.right() - rect.width() + (widthDiff / 2.0) - labelPadding(), layout[i] - center.y());
135 tickItem->setLine(axisRect.right() - labelPadding(), layout[i], axisRect.right(), layout[i]);
136 tickItem->setLine(axisRect.right() - labelPadding(), layout[i], axisRect.right(), layout[i]);
136 } else if (axis()->alignment() == Qt::AlignRight) {
137 } else if (axis()->alignment() == Qt::AlignRight) {
137 labelItem->setPos(axisRect.left() + labelPadding() - (widthDiff / 2.0), layout[i] - center.y());
138 labelItem->setPos(axisRect.left() + labelPadding() - (widthDiff / 2.0), layout[i] - center.y());
138 tickItem->setLine(axisRect.left(), layout[i], axisRect.left() + labelPadding(), layout[i]);
139 tickItem->setLine(axisRect.left(), layout[i], axisRect.left() + labelPadding(), layout[i]);
139 }
140 }
140
141
141 //label in between
142 //label in between
142 bool forceHide = false;
143 bool forceHide = false;
144 bool labelOnValue = false;
143 if (intervalAxis() && (i + 1) != layout.size()) {
145 if (intervalAxis() && (i + 1) != layout.size()) {
144 qreal lowerBound = qMin(layout[i], gridRect.bottom());
146 qreal lowerBound = qMin(layout[i], gridRect.bottom());
145 qreal upperBound = qMax(layout[i + 1], gridRect.top());
147 qreal upperBound = qMax(layout[i + 1], gridRect.top());
146 const qreal delta = lowerBound - upperBound;
148 const qreal delta = lowerBound - upperBound;
149 if (axis()->type() != QAbstractAxis::AxisTypeCategory) {
147 // Hide label in case visible part of the category at the grid edge is too narrow
150 // Hide label in case visible part of the category at the grid edge is too narrow
148 if (delta < boundingRect.height()
151 if (delta < boundingRect.height()
149 && (lowerBound == gridRect.bottom() || upperBound == gridRect.top())) {
152 && (lowerBound == gridRect.bottom() || upperBound == gridRect.top())) {
150 forceHide = true;
153 forceHide = true;
151 } else {
154 } else {
152 labelItem->setPos(labelItem->pos().x() , lowerBound - (delta / 2.0) - center.y());
155 labelItem->setPos(labelItem->pos().x(),
156 lowerBound - (delta / 2.0) - center.y());
157 }
158 } else {
159 QCategoryAxis *categoryAxis = static_cast<QCategoryAxis *>(axis());
160 if (categoryAxis->labelsPosition() == QCategoryAxis::AxisLabelsPositionCenter) {
161 if (delta < boundingRect.height()
162 && (lowerBound == gridRect.bottom() || upperBound == gridRect.top())) {
163 forceHide = true;
164 } else {
165 labelItem->setPos(labelItem->pos().x(),
166 lowerBound - (delta / 2.0) - center.y());
167 }
168 } else if (categoryAxis->labelsPosition()
169 == QCategoryAxis::AxisLabelsPositionOnValue) {
170 labelOnValue = true;
171 labelItem->setPos(labelItem->pos().x(), upperBound - center.y());
172 }
153 }
173 }
154 }
174 }
155
175
156 //label overlap detection - compensate one pixel for rounding errors
176 //label overlap detection - compensate one pixel for rounding errors
157 if (labelItem->pos().y() + boundingRect.height() > height || forceHide ||
177 if (labelItem->pos().y() + boundingRect.height() > height || forceHide ||
158 (labelItem->pos().y() + (heightDiff / 2.0) - 1.0) > axisRect.bottom() ||
178 ((labelItem->pos().y() + (heightDiff / 2.0) - 1.0) > axisRect.bottom()
159 labelItem->pos().y() + (heightDiff / 2.0) < (axisRect.top() - 1.0)) {
179 && !labelOnValue) ||
180 (labelItem->pos().y() + (heightDiff / 2.0) < (axisRect.top() - 1.0) && !labelOnValue)) {
160 labelItem->setVisible(false);
181 labelItem->setVisible(false);
161 }
182 }
162 else {
183 else {
163 labelItem->setVisible(true);
184 labelItem->setVisible(true);
164 height=labelItem->pos().y();
185 height=labelItem->pos().y();
165 }
186 }
166
187
167 //shades
188 //shades
168 QGraphicsRectItem *shadeItem = 0;
189 QGraphicsRectItem *shadeItem = 0;
169 if (i == 0)
190 if (i == 0)
170 shadeItem = static_cast<QGraphicsRectItem *>(shades.at(0));
191 shadeItem = static_cast<QGraphicsRectItem *>(shades.at(0));
171 else if (i % 2)
192 else if (i % 2)
172 shadeItem = static_cast<QGraphicsRectItem *>(shades.at((i / 2) + 1));
193 shadeItem = static_cast<QGraphicsRectItem *>(shades.at((i / 2) + 1));
173 if (shadeItem) {
194 if (shadeItem) {
174 qreal lowerBound;
195 qreal lowerBound;
175 qreal upperBound;
196 qreal upperBound;
176 if (i == 0) {
197 if (i == 0) {
177 lowerBound = gridRect.bottom();
198 lowerBound = gridRect.bottom();
178 upperBound = layout[0];
199 upperBound = layout[0];
179 } else {
200 } else {
180 lowerBound = layout[i];
201 lowerBound = layout[i];
181 if (i == layout.size() - 1)
202 if (i == layout.size() - 1)
182 upperBound = gridRect.top();
203 upperBound = gridRect.top();
183 else
204 else
184 upperBound = qMax(layout[i + 1], gridRect.top());
205 upperBound = qMax(layout[i + 1], gridRect.top());
185
206
186 }
207 }
187 if (lowerBound > gridRect.bottom())
208 if (lowerBound > gridRect.bottom())
188 lowerBound = gridRect.bottom();
209 lowerBound = gridRect.bottom();
189 if (upperBound < gridRect.top())
210 if (upperBound < gridRect.top())
190 upperBound = gridRect.top();
211 upperBound = gridRect.top();
191 shadeItem->setRect(gridRect.left(), upperBound, gridRect.width(),
212 shadeItem->setRect(gridRect.left(), upperBound, gridRect.width(),
192 lowerBound - upperBound);
213 lowerBound - upperBound);
193 if (shadeItem->rect().height() <= 0.0)
214 if (shadeItem->rect().height() <= 0.0)
194 shadeItem->setVisible(false);
215 shadeItem->setVisible(false);
195 else
216 else
196 shadeItem->setVisible(true);
217 shadeItem->setVisible(true);
197 }
218 }
198
219
199 // check if the grid line and the axis tick should be shown
220 // check if the grid line and the axis tick should be shown
200 qreal y = gridItem->line().p1().y();
221 qreal y = gridItem->line().p1().y();
201 if ((y < gridRect.top() || y > gridRect.bottom()))
222 if ((y < gridRect.top() || y > gridRect.bottom()))
202 {
223 {
203 gridItem->setVisible(false);
224 gridItem->setVisible(false);
204 tickItem->setVisible(false);
225 tickItem->setVisible(false);
205 }else{
226 }else{
206 gridItem->setVisible(true);
227 gridItem->setVisible(true);
207 tickItem->setVisible(true);
228 tickItem->setVisible(true);
208 }
229 }
209
230
210 }
231 }
211 //begin/end grid line in case labels between
232 //begin/end grid line in case labels between
212 if (intervalAxis()) {
233 if (intervalAxis()) {
213 QGraphicsLineItem *gridLine;
234 QGraphicsLineItem *gridLine;
214 gridLine = static_cast<QGraphicsLineItem *>(lines.at(layout.size()));
235 gridLine = static_cast<QGraphicsLineItem *>(lines.at(layout.size()));
215 gridLine->setLine(gridRect.left(), gridRect.top(), gridRect.right(), gridRect.top());
236 gridLine->setLine(gridRect.left(), gridRect.top(), gridRect.right(), gridRect.top());
216 gridLine->setVisible(true);
237 gridLine->setVisible(true);
217 gridLine = static_cast<QGraphicsLineItem*>(lines.at(layout.size() + 1));
238 gridLine = static_cast<QGraphicsLineItem*>(lines.at(layout.size() + 1));
218 gridLine->setLine(gridRect.left(), gridRect.bottom(), gridRect.right(), gridRect.bottom());
239 gridLine->setLine(gridRect.left(), gridRect.bottom(), gridRect.right(), gridRect.bottom());
219 gridLine->setVisible(true);
240 gridLine->setVisible(true);
220 }
241 }
221 }
242 }
222
243
223 QSizeF VerticalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
244 QSizeF VerticalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
224 {
245 {
225 Q_UNUSED(constraint);
246 Q_UNUSED(constraint);
226 QSizeF sh(0, 0);
247 QSizeF sh(0, 0);
227
248
228 if (axis()->titleText().isEmpty() || !titleItem()->isVisible())
249 if (axis()->titleText().isEmpty() || !titleItem()->isVisible())
229 return sh;
250 return sh;
230
251
231 switch (which) {
252 switch (which) {
232 case Qt::MinimumSize: {
253 case Qt::MinimumSize: {
233 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(),
254 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(),
234 QStringLiteral("..."));
255 QStringLiteral("..."));
235 sh = QSizeF(titleRect.height() + (titlePadding() * 2.0), titleRect.width());
256 sh = QSizeF(titleRect.height() + (titlePadding() * 2.0), titleRect.width());
236 break;
257 break;
237 }
258 }
238 case Qt::MaximumSize:
259 case Qt::MaximumSize:
239 case Qt::PreferredSize: {
260 case Qt::PreferredSize: {
240 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(), axis()->titleText());
261 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(), axis()->titleText());
241 sh = QSizeF(titleRect.height() + (titlePadding() * 2.0), titleRect.width());
262 sh = QSizeF(titleRect.height() + (titlePadding() * 2.0), titleRect.width());
242 break;
263 break;
243 }
264 }
244 default:
265 default:
245 break;
266 break;
246 }
267 }
247
268
248 return sh;
269 return sh;
249 }
270 }
250
271
251 QT_CHARTS_END_NAMESPACE
272 QT_CHARTS_END_NAMESPACE
@@ -1,310 +1,314
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #include <QtCharts/QChart>
19 #include <QtCharts/QChart>
20 #include <QtCharts/QAbstractAxis>
20 #include <QtCharts/QAbstractAxis>
21 #include <QtCharts/QValueAxis>
21 #include <QtCharts/QValueAxis>
22 #include <QtCharts/QLogValueAxis>
22 #include <QtCharts/QLogValueAxis>
23 #include "declarativecategoryaxis.h"
23 #include "declarativecategoryaxis.h"
24 #include <QtCharts/QBarCategoryAxis>
24 #include <QtCharts/QBarCategoryAxis>
25 #include "declarativechart.h"
25 #include "declarativechart.h"
26 #include "declarativepolarchart.h"
26 #include "declarativepolarchart.h"
27 #include "declarativexypoint.h"
27 #include "declarativexypoint.h"
28 #include "declarativelineseries.h"
28 #include "declarativelineseries.h"
29 #include "declarativesplineseries.h"
29 #include "declarativesplineseries.h"
30 #include "declarativeareaseries.h"
30 #include "declarativeareaseries.h"
31 #include "declarativescatterseries.h"
31 #include "declarativescatterseries.h"
32 #include "declarativebarseries.h"
32 #include "declarativebarseries.h"
33 #include "declarativeboxplotseries.h"
33 #include "declarativeboxplotseries.h"
34 #include "declarativepieseries.h"
34 #include "declarativepieseries.h"
35 #include "declarativeaxes.h"
35 #include "declarativeaxes.h"
36 #include <QtCharts/QVXYModelMapper>
36 #include <QtCharts/QVXYModelMapper>
37 #include <QtCharts/QHXYModelMapper>
37 #include <QtCharts/QHXYModelMapper>
38 #include <QtCharts/QHPieModelMapper>
38 #include <QtCharts/QHPieModelMapper>
39 #include <QtCharts/QVPieModelMapper>
39 #include <QtCharts/QVPieModelMapper>
40 #include <QtCharts/QHBarModelMapper>
40 #include <QtCharts/QHBarModelMapper>
41 #include <QtCharts/QVBarModelMapper>
41 #include <QtCharts/QVBarModelMapper>
42 #include "declarativemargins.h"
42 #include "declarativemargins.h"
43 #include <QtCharts/QAreaLegendMarker>
43 #include <QtCharts/QAreaLegendMarker>
44 #include <QtCharts/QBarLegendMarker>
44 #include <QtCharts/QBarLegendMarker>
45 #include <QtCharts/QPieLegendMarker>
45 #include <QtCharts/QPieLegendMarker>
46 #include <QtCharts/QXYLegendMarker>
46 #include <QtCharts/QXYLegendMarker>
47 #include <QtCharts/QBoxPlotModelMapper>
47 #include <QtCharts/QBoxPlotModelMapper>
48 #include <QtCharts/QVBoxPlotModelMapper>
48 #include <QtCharts/QVBoxPlotModelMapper>
49 #ifndef QT_ON_ARM
49 #ifndef QT_ON_ARM
50 #include <QtCharts/QDateTimeAxis>
50 #include <QtCharts/QDateTimeAxis>
51 #endif
51 #endif
52 #include <QtCore/QAbstractItemModel>
52 #include <QtCore/QAbstractItemModel>
53 #include <QtQml>
53 #include <QtQml>
54
54
55 QT_CHARTS_USE_NAMESPACE
55 QT_CHARTS_USE_NAMESPACE
56
56
57 QML_DECLARE_TYPE(QList<QPieSlice *>)
57 QML_DECLARE_TYPE(QList<QPieSlice *>)
58 QML_DECLARE_TYPE(QList<QBarSet *>)
58 QML_DECLARE_TYPE(QList<QBarSet *>)
59 QML_DECLARE_TYPE(QList<QAbstractAxis *>)
59 QML_DECLARE_TYPE(QList<QAbstractAxis *>)
60
60
61 QML_DECLARE_TYPE(DeclarativeChart)
61 QML_DECLARE_TYPE(DeclarativeChart)
62 QML_DECLARE_TYPE(DeclarativePolarChart)
62 QML_DECLARE_TYPE(DeclarativePolarChart)
63 QML_DECLARE_TYPE(DeclarativeMargins)
63 QML_DECLARE_TYPE(DeclarativeMargins)
64 QML_DECLARE_TYPE(DeclarativeAreaSeries)
64 QML_DECLARE_TYPE(DeclarativeAreaSeries)
65 QML_DECLARE_TYPE(DeclarativeBarSeries)
65 QML_DECLARE_TYPE(DeclarativeBarSeries)
66 QML_DECLARE_TYPE(DeclarativeBarSet)
66 QML_DECLARE_TYPE(DeclarativeBarSet)
67 QML_DECLARE_TYPE(DeclarativeBoxPlotSeries)
67 QML_DECLARE_TYPE(DeclarativeBoxPlotSeries)
68 QML_DECLARE_TYPE(DeclarativeBoxSet)
68 QML_DECLARE_TYPE(DeclarativeBoxSet)
69 QML_DECLARE_TYPE(DeclarativeLineSeries)
69 QML_DECLARE_TYPE(DeclarativeLineSeries)
70 QML_DECLARE_TYPE(DeclarativePieSeries)
70 QML_DECLARE_TYPE(DeclarativePieSeries)
71 QML_DECLARE_TYPE(DeclarativePieSlice)
71 QML_DECLARE_TYPE(DeclarativePieSlice)
72 QML_DECLARE_TYPE(DeclarativeScatterSeries)
72 QML_DECLARE_TYPE(DeclarativeScatterSeries)
73 QML_DECLARE_TYPE(DeclarativeSplineSeries)
73 QML_DECLARE_TYPE(DeclarativeSplineSeries)
74
74
75 QML_DECLARE_TYPE(QAbstractAxis)
75 QML_DECLARE_TYPE(QAbstractAxis)
76 QML_DECLARE_TYPE(QValueAxis)
76 QML_DECLARE_TYPE(QValueAxis)
77 QML_DECLARE_TYPE(QBarCategoryAxis)
77 QML_DECLARE_TYPE(QBarCategoryAxis)
78 QML_DECLARE_TYPE(QCategoryAxis)
78 QML_DECLARE_TYPE(QCategoryAxis)
79 QML_DECLARE_TYPE(QDateTimeAxis)
79 QML_DECLARE_TYPE(QDateTimeAxis)
80 QML_DECLARE_TYPE(QLogValueAxis)
80 QML_DECLARE_TYPE(QLogValueAxis)
81
81
82 QML_DECLARE_TYPE(QLegend)
82 QML_DECLARE_TYPE(QLegend)
83 QML_DECLARE_TYPE(QLegendMarker)
83 QML_DECLARE_TYPE(QLegendMarker)
84 QML_DECLARE_TYPE(QAreaLegendMarker)
84 QML_DECLARE_TYPE(QAreaLegendMarker)
85 QML_DECLARE_TYPE(QBarLegendMarker)
85 QML_DECLARE_TYPE(QBarLegendMarker)
86 QML_DECLARE_TYPE(QPieLegendMarker)
86 QML_DECLARE_TYPE(QPieLegendMarker)
87
87
88 QML_DECLARE_TYPE(QHPieModelMapper)
88 QML_DECLARE_TYPE(QHPieModelMapper)
89 QML_DECLARE_TYPE(QHXYModelMapper)
89 QML_DECLARE_TYPE(QHXYModelMapper)
90 QML_DECLARE_TYPE(QPieModelMapper)
90 QML_DECLARE_TYPE(QPieModelMapper)
91 QML_DECLARE_TYPE(QHBarModelMapper)
91 QML_DECLARE_TYPE(QHBarModelMapper)
92 QML_DECLARE_TYPE(QBarModelMapper)
92 QML_DECLARE_TYPE(QBarModelMapper)
93 QML_DECLARE_TYPE(QVBarModelMapper)
93 QML_DECLARE_TYPE(QVBarModelMapper)
94 QML_DECLARE_TYPE(QVPieModelMapper)
94 QML_DECLARE_TYPE(QVPieModelMapper)
95 QML_DECLARE_TYPE(QVXYModelMapper)
95 QML_DECLARE_TYPE(QVXYModelMapper)
96 QML_DECLARE_TYPE(QXYLegendMarker)
96 QML_DECLARE_TYPE(QXYLegendMarker)
97 QML_DECLARE_TYPE(QXYModelMapper)
97 QML_DECLARE_TYPE(QXYModelMapper)
98 QML_DECLARE_TYPE(QBoxPlotModelMapper)
98 QML_DECLARE_TYPE(QBoxPlotModelMapper)
99 QML_DECLARE_TYPE(QVBoxPlotModelMapper)
99 QML_DECLARE_TYPE(QVBoxPlotModelMapper)
100
100
101 QML_DECLARE_TYPE(QAbstractSeries)
101 QML_DECLARE_TYPE(QAbstractSeries)
102 QML_DECLARE_TYPE(QXYSeries)
102 QML_DECLARE_TYPE(QXYSeries)
103 QML_DECLARE_TYPE(QAbstractBarSeries)
103 QML_DECLARE_TYPE(QAbstractBarSeries)
104 QML_DECLARE_TYPE(QBarSeries)
104 QML_DECLARE_TYPE(QBarSeries)
105 QML_DECLARE_TYPE(QBarSet)
105 QML_DECLARE_TYPE(QBarSet)
106 QML_DECLARE_TYPE(QAreaSeries)
106 QML_DECLARE_TYPE(QAreaSeries)
107 QML_DECLARE_TYPE(QHorizontalBarSeries)
107 QML_DECLARE_TYPE(QHorizontalBarSeries)
108 QML_DECLARE_TYPE(QHorizontalPercentBarSeries)
108 QML_DECLARE_TYPE(QHorizontalPercentBarSeries)
109 QML_DECLARE_TYPE(QHorizontalStackedBarSeries)
109 QML_DECLARE_TYPE(QHorizontalStackedBarSeries)
110 QML_DECLARE_TYPE(QLineSeries)
110 QML_DECLARE_TYPE(QLineSeries)
111 QML_DECLARE_TYPE(QPercentBarSeries)
111 QML_DECLARE_TYPE(QPercentBarSeries)
112 QML_DECLARE_TYPE(QPieSeries)
112 QML_DECLARE_TYPE(QPieSeries)
113 QML_DECLARE_TYPE(QPieSlice)
113 QML_DECLARE_TYPE(QPieSlice)
114 QML_DECLARE_TYPE(QScatterSeries)
114 QML_DECLARE_TYPE(QScatterSeries)
115 QML_DECLARE_TYPE(QSplineSeries)
115 QML_DECLARE_TYPE(QSplineSeries)
116 QML_DECLARE_TYPE(QStackedBarSeries)
116 QML_DECLARE_TYPE(QStackedBarSeries)
117
117
118 QT_CHARTS_BEGIN_NAMESPACE
118 QT_CHARTS_BEGIN_NAMESPACE
119
119
120 class QtChartsQml2Plugin : public QQmlExtensionPlugin
120 class QtChartsQml2Plugin : public QQmlExtensionPlugin
121 {
121 {
122 Q_OBJECT
122 Q_OBJECT
123
123
124 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
124 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
125
125
126 public:
126 public:
127 virtual void registerTypes(const char *uri)
127 virtual void registerTypes(const char *uri)
128 {
128 {
129 Q_ASSERT(QLatin1String(uri) == QLatin1String("QtCharts"));
129 Q_ASSERT(QLatin1String(uri) == QLatin1String("QtCharts"));
130
130
131 // @uri QtCharts
131 // @uri QtCharts
132
132
133 qRegisterMetaType<QList<QPieSlice *> >();
133 qRegisterMetaType<QList<QPieSlice *> >();
134 qRegisterMetaType<QList<QBarSet *> >();
134 qRegisterMetaType<QList<QBarSet *> >();
135 qRegisterMetaType<QList<QAbstractAxis *> >();
135 qRegisterMetaType<QList<QAbstractAxis *> >();
136
136
137 // QtCharts 1.0
137 // QtCharts 1.0
138 qmlRegisterType<DeclarativeChart>(uri, 1, 0, "ChartView");
138 qmlRegisterType<DeclarativeChart>(uri, 1, 0, "ChartView");
139 qmlRegisterType<DeclarativeXYPoint>(uri, 1, 0, "XYPoint");
139 qmlRegisterType<DeclarativeXYPoint>(uri, 1, 0, "XYPoint");
140 qmlRegisterType<DeclarativeScatterSeries>(uri, 1, 0, "ScatterSeries");
140 qmlRegisterType<DeclarativeScatterSeries>(uri, 1, 0, "ScatterSeries");
141 qmlRegisterType<DeclarativeLineSeries>(uri, 1, 0, "LineSeries");
141 qmlRegisterType<DeclarativeLineSeries>(uri, 1, 0, "LineSeries");
142 qmlRegisterType<DeclarativeSplineSeries>(uri, 1, 0, "SplineSeries");
142 qmlRegisterType<DeclarativeSplineSeries>(uri, 1, 0, "SplineSeries");
143 qmlRegisterType<DeclarativeAreaSeries>(uri, 1, 0, "AreaSeries");
143 qmlRegisterType<DeclarativeAreaSeries>(uri, 1, 0, "AreaSeries");
144 qmlRegisterType<DeclarativeBarSeries>(uri, 1, 0, "BarSeries");
144 qmlRegisterType<DeclarativeBarSeries>(uri, 1, 0, "BarSeries");
145 qmlRegisterType<DeclarativeStackedBarSeries>(uri, 1, 0, "StackedBarSeries");
145 qmlRegisterType<DeclarativeStackedBarSeries>(uri, 1, 0, "StackedBarSeries");
146 qmlRegisterType<DeclarativePercentBarSeries>(uri, 1, 0, "PercentBarSeries");
146 qmlRegisterType<DeclarativePercentBarSeries>(uri, 1, 0, "PercentBarSeries");
147 qmlRegisterType<DeclarativePieSeries>(uri, 1, 0, "PieSeries");
147 qmlRegisterType<DeclarativePieSeries>(uri, 1, 0, "PieSeries");
148 qmlRegisterType<QPieSlice>(uri, 1, 0, "PieSlice");
148 qmlRegisterType<QPieSlice>(uri, 1, 0, "PieSlice");
149 qmlRegisterType<DeclarativeBarSet>(uri, 1, 0, "BarSet");
149 qmlRegisterType<DeclarativeBarSet>(uri, 1, 0, "BarSet");
150 qmlRegisterType<QHXYModelMapper>(uri, 1, 0, "HXYModelMapper");
150 qmlRegisterType<QHXYModelMapper>(uri, 1, 0, "HXYModelMapper");
151 qmlRegisterType<QVXYModelMapper>(uri, 1, 0, "VXYModelMapper");
151 qmlRegisterType<QVXYModelMapper>(uri, 1, 0, "VXYModelMapper");
152 qmlRegisterType<QHPieModelMapper>(uri, 1, 0, "HPieModelMapper");
152 qmlRegisterType<QHPieModelMapper>(uri, 1, 0, "HPieModelMapper");
153 qmlRegisterType<QVPieModelMapper>(uri, 1, 0, "VPieModelMapper");
153 qmlRegisterType<QVPieModelMapper>(uri, 1, 0, "VPieModelMapper");
154 qmlRegisterType<QHBarModelMapper>(uri, 1, 0, "HBarModelMapper");
154 qmlRegisterType<QHBarModelMapper>(uri, 1, 0, "HBarModelMapper");
155 qmlRegisterType<QVBarModelMapper>(uri, 1, 0, "VBarModelMapper");
155 qmlRegisterType<QVBarModelMapper>(uri, 1, 0, "VBarModelMapper");
156
156
157 qmlRegisterType<QValueAxis>(uri, 1, 0, "ValuesAxis");
157 qmlRegisterType<QValueAxis>(uri, 1, 0, "ValuesAxis");
158 qmlRegisterType<QBarCategoryAxis>(uri, 1, 0, "BarCategoriesAxis");
158 qmlRegisterType<QBarCategoryAxis>(uri, 1, 0, "BarCategoriesAxis");
159 qmlRegisterUncreatableType<QLegend>(uri, 1, 0, "Legend",
159 qmlRegisterUncreatableType<QLegend>(uri, 1, 0, "Legend",
160 QLatin1String("Trying to create uncreatable: Legend."));
160 QLatin1String("Trying to create uncreatable: Legend."));
161 qmlRegisterUncreatableType<QXYSeries>(uri, 1, 0, "XYSeries",
161 qmlRegisterUncreatableType<QXYSeries>(uri, 1, 0, "XYSeries",
162 QLatin1String("Trying to create uncreatable: XYSeries."));
162 QLatin1String("Trying to create uncreatable: XYSeries."));
163 qmlRegisterUncreatableType<QAbstractItemModel>(uri, 1, 0, "AbstractItemModel",
163 qmlRegisterUncreatableType<QAbstractItemModel>(uri, 1, 0, "AbstractItemModel",
164 QLatin1String("Trying to create uncreatable: AbstractItemModel."));
164 QLatin1String("Trying to create uncreatable: AbstractItemModel."));
165 qmlRegisterUncreatableType<QXYModelMapper>(uri, 1, 0, "XYModelMapper",
165 qmlRegisterUncreatableType<QXYModelMapper>(uri, 1, 0, "XYModelMapper",
166 QLatin1String("Trying to create uncreatable: XYModelMapper."));
166 QLatin1String("Trying to create uncreatable: XYModelMapper."));
167 qmlRegisterUncreatableType<QPieModelMapper>(uri, 1, 0, "PieModelMapper",
167 qmlRegisterUncreatableType<QPieModelMapper>(uri, 1, 0, "PieModelMapper",
168 QLatin1String("Trying to create uncreatable: PieModelMapper."));
168 QLatin1String("Trying to create uncreatable: PieModelMapper."));
169 qmlRegisterUncreatableType<QBarModelMapper>(uri, 1, 0, "BarModelMapper",
169 qmlRegisterUncreatableType<QBarModelMapper>(uri, 1, 0, "BarModelMapper",
170 QLatin1String("Trying to create uncreatable: BarModelMapper."));
170 QLatin1String("Trying to create uncreatable: BarModelMapper."));
171 qmlRegisterUncreatableType<QAbstractSeries>(uri, 1, 0, "AbstractSeries",
171 qmlRegisterUncreatableType<QAbstractSeries>(uri, 1, 0, "AbstractSeries",
172 QLatin1String("Trying to create uncreatable: AbstractSeries."));
172 QLatin1String("Trying to create uncreatable: AbstractSeries."));
173 qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 1, 0, "AbstractBarSeries",
173 qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 1, 0, "AbstractBarSeries",
174 QLatin1String("Trying to create uncreatable: AbstractBarSeries."));
174 QLatin1String("Trying to create uncreatable: AbstractBarSeries."));
175 qmlRegisterUncreatableType<QAbstractAxis>(uri, 1, 0, "AbstractAxis",
175 qmlRegisterUncreatableType<QAbstractAxis>(uri, 1, 0, "AbstractAxis",
176 QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead."));
176 QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead."));
177 qmlRegisterUncreatableType<QBarSet>(uri, 1, 0, "BarSetBase",
177 qmlRegisterUncreatableType<QBarSet>(uri, 1, 0, "BarSetBase",
178 QLatin1String("Trying to create uncreatable: BarsetBase."));
178 QLatin1String("Trying to create uncreatable: BarsetBase."));
179 qmlRegisterUncreatableType<QPieSeries>(uri, 1, 0, "QPieSeries",
179 qmlRegisterUncreatableType<QPieSeries>(uri, 1, 0, "QPieSeries",
180 QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead."));
180 QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead."));
181 qmlRegisterUncreatableType<DeclarativeAxes>(uri, 1, 0, "DeclarativeAxes",
181 qmlRegisterUncreatableType<DeclarativeAxes>(uri, 1, 0, "DeclarativeAxes",
182 QLatin1String("Trying to create uncreatable: DeclarativeAxes."));
182 QLatin1String("Trying to create uncreatable: DeclarativeAxes."));
183
183
184 // QtCharts 1.1
184 // QtCharts 1.1
185 qmlRegisterType<DeclarativeChart, 1>(uri, 1, 1, "ChartView");
185 qmlRegisterType<DeclarativeChart, 1>(uri, 1, 1, "ChartView");
186 qmlRegisterType<DeclarativeScatterSeries, 1>(uri, 1, 1, "ScatterSeries");
186 qmlRegisterType<DeclarativeScatterSeries, 1>(uri, 1, 1, "ScatterSeries");
187 qmlRegisterType<DeclarativeLineSeries, 1>(uri, 1, 1, "LineSeries");
187 qmlRegisterType<DeclarativeLineSeries, 1>(uri, 1, 1, "LineSeries");
188 qmlRegisterType<DeclarativeSplineSeries, 1>(uri, 1, 1, "SplineSeries");
188 qmlRegisterType<DeclarativeSplineSeries, 1>(uri, 1, 1, "SplineSeries");
189 qmlRegisterType<DeclarativeAreaSeries, 1>(uri, 1, 1, "AreaSeries");
189 qmlRegisterType<DeclarativeAreaSeries, 1>(uri, 1, 1, "AreaSeries");
190 qmlRegisterType<DeclarativeBarSeries, 1>(uri, 1, 1, "BarSeries");
190 qmlRegisterType<DeclarativeBarSeries, 1>(uri, 1, 1, "BarSeries");
191 qmlRegisterType<DeclarativeStackedBarSeries, 1>(uri, 1, 1, "StackedBarSeries");
191 qmlRegisterType<DeclarativeStackedBarSeries, 1>(uri, 1, 1, "StackedBarSeries");
192 qmlRegisterType<DeclarativePercentBarSeries, 1>(uri, 1, 1, "PercentBarSeries");
192 qmlRegisterType<DeclarativePercentBarSeries, 1>(uri, 1, 1, "PercentBarSeries");
193 qmlRegisterType<DeclarativeHorizontalBarSeries, 1>(uri, 1, 1, "HorizontalBarSeries");
193 qmlRegisterType<DeclarativeHorizontalBarSeries, 1>(uri, 1, 1, "HorizontalBarSeries");
194 qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 1>(uri, 1, 1, "HorizontalStackedBarSeries");
194 qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 1>(uri, 1, 1, "HorizontalStackedBarSeries");
195 qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 1>(uri, 1, 1, "HorizontalPercentBarSeries");
195 qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 1>(uri, 1, 1, "HorizontalPercentBarSeries");
196 qmlRegisterType<DeclarativePieSeries>(uri, 1, 1, "PieSeries");
196 qmlRegisterType<DeclarativePieSeries>(uri, 1, 1, "PieSeries");
197 qmlRegisterType<DeclarativeBarSet>(uri, 1, 1, "BarSet");
197 qmlRegisterType<DeclarativeBarSet>(uri, 1, 1, "BarSet");
198 qmlRegisterType<QValueAxis>(uri, 1, 1, "ValueAxis");
198 qmlRegisterType<QValueAxis>(uri, 1, 1, "ValueAxis");
199 #ifndef QT_ON_ARM
199 #ifndef QT_ON_ARM
200 qmlRegisterType<QDateTimeAxis>(uri, 1, 1, "DateTimeAxis");
200 qmlRegisterType<QDateTimeAxis>(uri, 1, 1, "DateTimeAxis");
201 #endif
201 #endif
202 qmlRegisterType<DeclarativeCategoryAxis>(uri, 1, 1, "CategoryAxis");
202 qmlRegisterType<DeclarativeCategoryAxis>(uri, 1, 1, "CategoryAxis");
203 qmlRegisterType<DeclarativeCategoryRange>(uri, 1, 1, "CategoryRange");
203 qmlRegisterType<DeclarativeCategoryRange>(uri, 1, 1, "CategoryRange");
204 qmlRegisterType<QBarCategoryAxis>(uri, 1, 1, "BarCategoryAxis");
204 qmlRegisterType<QBarCategoryAxis>(uri, 1, 1, "BarCategoryAxis");
205 qmlRegisterUncreatableType<DeclarativeMargins>(uri, 1, 1, "Margins",
205 qmlRegisterUncreatableType<DeclarativeMargins>(uri, 1, 1, "Margins",
206 QLatin1String("Trying to create uncreatable: Margins."));
206 QLatin1String("Trying to create uncreatable: Margins."));
207
207
208 // QtCharts 1.2
208 // QtCharts 1.2
209 qmlRegisterType<DeclarativeChart, 2>(uri, 1, 2, "ChartView");
209 qmlRegisterType<DeclarativeChart, 2>(uri, 1, 2, "ChartView");
210 qmlRegisterType<DeclarativeScatterSeries, 2>(uri, 1, 2, "ScatterSeries");
210 qmlRegisterType<DeclarativeScatterSeries, 2>(uri, 1, 2, "ScatterSeries");
211 qmlRegisterType<DeclarativeLineSeries, 2>(uri, 1, 2, "LineSeries");
211 qmlRegisterType<DeclarativeLineSeries, 2>(uri, 1, 2, "LineSeries");
212 qmlRegisterType<DeclarativeSplineSeries, 2>(uri, 1, 2, "SplineSeries");
212 qmlRegisterType<DeclarativeSplineSeries, 2>(uri, 1, 2, "SplineSeries");
213 qmlRegisterType<DeclarativeAreaSeries, 2>(uri, 1, 2, "AreaSeries");
213 qmlRegisterType<DeclarativeAreaSeries, 2>(uri, 1, 2, "AreaSeries");
214 qmlRegisterType<DeclarativeBarSeries, 2>(uri, 1, 2, "BarSeries");
214 qmlRegisterType<DeclarativeBarSeries, 2>(uri, 1, 2, "BarSeries");
215 qmlRegisterType<DeclarativeStackedBarSeries, 2>(uri, 1, 2, "StackedBarSeries");
215 qmlRegisterType<DeclarativeStackedBarSeries, 2>(uri, 1, 2, "StackedBarSeries");
216 qmlRegisterType<DeclarativePercentBarSeries, 2>(uri, 1, 2, "PercentBarSeries");
216 qmlRegisterType<DeclarativePercentBarSeries, 2>(uri, 1, 2, "PercentBarSeries");
217 qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 1, 2, "HorizontalBarSeries");
217 qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 1, 2, "HorizontalBarSeries");
218 qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 1, 2, "HorizontalStackedBarSeries");
218 qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 1, 2, "HorizontalStackedBarSeries");
219 qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 1, 2, "HorizontalPercentBarSeries");
219 qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 1, 2, "HorizontalPercentBarSeries");
220
220
221 // QtCharts 1.3
221 // QtCharts 1.3
222 qmlRegisterType<DeclarativeChart, 3>(uri, 1, 3, "ChartView");
222 qmlRegisterType<DeclarativeChart, 3>(uri, 1, 3, "ChartView");
223 qmlRegisterType<DeclarativePolarChart, 1>(uri, 1, 3, "PolarChartView");
223 qmlRegisterType<DeclarativePolarChart, 1>(uri, 1, 3, "PolarChartView");
224 qmlRegisterType<DeclarativeSplineSeries, 3>(uri, 1, 3, "SplineSeries");
224 qmlRegisterType<DeclarativeSplineSeries, 3>(uri, 1, 3, "SplineSeries");
225 qmlRegisterType<DeclarativeScatterSeries, 3>(uri, 1, 3, "ScatterSeries");
225 qmlRegisterType<DeclarativeScatterSeries, 3>(uri, 1, 3, "ScatterSeries");
226 qmlRegisterType<DeclarativeLineSeries, 3>(uri, 1, 3, "LineSeries");
226 qmlRegisterType<DeclarativeLineSeries, 3>(uri, 1, 3, "LineSeries");
227 qmlRegisterType<DeclarativeAreaSeries, 3>(uri, 1, 3, "AreaSeries");
227 qmlRegisterType<DeclarativeAreaSeries, 3>(uri, 1, 3, "AreaSeries");
228 qmlRegisterType<QLogValueAxis>(uri, 1, 3, "LogValueAxis");
228 qmlRegisterType<QLogValueAxis>(uri, 1, 3, "LogValueAxis");
229 qmlRegisterType<DeclarativeBoxPlotSeries>(uri, 1, 3, "BoxPlotSeries");
229 qmlRegisterType<DeclarativeBoxPlotSeries>(uri, 1, 3, "BoxPlotSeries");
230 qmlRegisterType<DeclarativeBoxSet>(uri, 1, 3, "BoxSet");
230 qmlRegisterType<DeclarativeBoxSet>(uri, 1, 3, "BoxSet");
231
231
232 // QtCharts 1.4
232 // QtCharts 1.4
233 qmlRegisterType<DeclarativeAreaSeries, 4>(uri, 1, 4, "AreaSeries");
233 qmlRegisterType<DeclarativeAreaSeries, 4>(uri, 1, 4, "AreaSeries");
234 qmlRegisterType<DeclarativeBarSet, 2>(uri, 1, 4, "BarSet");
234 qmlRegisterType<DeclarativeBarSet, 2>(uri, 1, 4, "BarSet");
235 qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 1, 4, "BoxPlotSeries");
235 qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 1, 4, "BoxPlotSeries");
236 qmlRegisterType<DeclarativeBoxSet, 1>(uri, 1, 4, "BoxSet");
236 qmlRegisterType<DeclarativeBoxSet, 1>(uri, 1, 4, "BoxSet");
237 qmlRegisterType<DeclarativePieSlice>(uri, 1, 4, "PieSlice");
237 qmlRegisterType<DeclarativePieSlice>(uri, 1, 4, "PieSlice");
238 qmlRegisterType<DeclarativeScatterSeries, 4>(uri, 1, 4, "ScatterSeries");
238 qmlRegisterType<DeclarativeScatterSeries, 4>(uri, 1, 4, "ScatterSeries");
239
239
240 // QtCharts 2.0
240 // QtCharts 2.0
241 qmlRegisterType<QVBoxPlotModelMapper>(uri, 2, 0, "VBoxPlotModelMapper");
241 qmlRegisterType<QVBoxPlotModelMapper>(uri, 2, 0, "VBoxPlotModelMapper");
242 qmlRegisterUncreatableType<QBoxPlotModelMapper>(uri, 2, 0, "BoxPlotModelMapper",
242 qmlRegisterUncreatableType<QBoxPlotModelMapper>(uri, 2, 0, "BoxPlotModelMapper",
243 QLatin1String("Trying to create uncreatable: BoxPlotModelMapper."));
243 QLatin1String("Trying to create uncreatable: BoxPlotModelMapper."));
244 qmlRegisterType<DeclarativeChart, 4>(uri, 2, 0, "ChartView");
244 qmlRegisterType<DeclarativeChart, 4>(uri, 2, 0, "ChartView");
245 qmlRegisterType<DeclarativeXYPoint>(uri, 2, 0, "XYPoint");
245 qmlRegisterType<DeclarativeXYPoint>(uri, 2, 0, "XYPoint");
246 qmlRegisterType<DeclarativeScatterSeries, 4>(uri, 2, 0, "ScatterSeries");
246 qmlRegisterType<DeclarativeScatterSeries, 4>(uri, 2, 0, "ScatterSeries");
247 qmlRegisterType<DeclarativeLineSeries, 3>(uri, 2, 0, "LineSeries");
247 qmlRegisterType<DeclarativeLineSeries, 3>(uri, 2, 0, "LineSeries");
248 qmlRegisterType<DeclarativeSplineSeries, 3>(uri, 2, 0, "SplineSeries");
248 qmlRegisterType<DeclarativeSplineSeries, 3>(uri, 2, 0, "SplineSeries");
249 qmlRegisterType<DeclarativeAreaSeries, 4>(uri, 2, 0, "AreaSeries");
249 qmlRegisterType<DeclarativeAreaSeries, 4>(uri, 2, 0, "AreaSeries");
250 qmlRegisterType<DeclarativeBarSeries, 2>(uri, 2, 0, "BarSeries");
250 qmlRegisterType<DeclarativeBarSeries, 2>(uri, 2, 0, "BarSeries");
251 qmlRegisterType<DeclarativeStackedBarSeries, 2>(uri, 2, 0, "StackedBarSeries");
251 qmlRegisterType<DeclarativeStackedBarSeries, 2>(uri, 2, 0, "StackedBarSeries");
252 qmlRegisterType<DeclarativePercentBarSeries, 2>(uri, 2, 0, "PercentBarSeries");
252 qmlRegisterType<DeclarativePercentBarSeries, 2>(uri, 2, 0, "PercentBarSeries");
253 qmlRegisterType<DeclarativePieSeries>(uri, 2, 0, "PieSeries");
253 qmlRegisterType<DeclarativePieSeries>(uri, 2, 0, "PieSeries");
254 qmlRegisterType<QPieSlice>(uri, 2, 0, "PieSlice");
254 qmlRegisterType<QPieSlice>(uri, 2, 0, "PieSlice");
255 qmlRegisterType<DeclarativeBarSet, 2>(uri, 2, 0, "BarSet");
255 qmlRegisterType<DeclarativeBarSet, 2>(uri, 2, 0, "BarSet");
256 qmlRegisterType<QHXYModelMapper>(uri, 2, 0, "HXYModelMapper");
256 qmlRegisterType<QHXYModelMapper>(uri, 2, 0, "HXYModelMapper");
257 qmlRegisterType<QVXYModelMapper>(uri, 2, 0, "VXYModelMapper");
257 qmlRegisterType<QVXYModelMapper>(uri, 2, 0, "VXYModelMapper");
258 qmlRegisterType<QHPieModelMapper>(uri, 2, 0, "HPieModelMapper");
258 qmlRegisterType<QHPieModelMapper>(uri, 2, 0, "HPieModelMapper");
259 qmlRegisterType<QVPieModelMapper>(uri, 2, 0, "VPieModelMapper");
259 qmlRegisterType<QVPieModelMapper>(uri, 2, 0, "VPieModelMapper");
260 qmlRegisterType<QHBarModelMapper>(uri, 2, 0, "HBarModelMapper");
260 qmlRegisterType<QHBarModelMapper>(uri, 2, 0, "HBarModelMapper");
261 qmlRegisterType<QVBarModelMapper>(uri, 2, 0, "VBarModelMapper");
261 qmlRegisterType<QVBarModelMapper>(uri, 2, 0, "VBarModelMapper");
262 qmlRegisterType<QValueAxis>(uri, 2, 0, "ValueAxis");
262 qmlRegisterType<QValueAxis>(uri, 2, 0, "ValueAxis");
263 #ifndef QT_ON_ARM
263 #ifndef QT_ON_ARM
264 qmlRegisterType<QDateTimeAxis>(uri, 2, 0, "DateTimeAxis");
264 qmlRegisterType<QDateTimeAxis>(uri, 2, 0, "DateTimeAxis");
265 #endif
265 #endif
266 qmlRegisterType<DeclarativeCategoryAxis>(uri, 2, 0, "CategoryAxis");
266 qmlRegisterType<DeclarativeCategoryAxis>(uri, 2, 0, "CategoryAxis");
267 qmlRegisterType<DeclarativeCategoryRange>(uri, 2, 0, "CategoryRange");
267 qmlRegisterType<DeclarativeCategoryRange>(uri, 2, 0, "CategoryRange");
268 qmlRegisterType<QBarCategoryAxis>(uri, 2, 0, "BarCategoryAxis");
268 qmlRegisterType<QBarCategoryAxis>(uri, 2, 0, "BarCategoryAxis");
269 qmlRegisterType<DeclarativePolarChart, 1>(uri, 2, 0, "PolarChartView");
269 qmlRegisterType<DeclarativePolarChart, 1>(uri, 2, 0, "PolarChartView");
270 qmlRegisterType<QLogValueAxis, 1>(uri, 2, 0, "LogValueAxis");
270 qmlRegisterType<QLogValueAxis, 1>(uri, 2, 0, "LogValueAxis");
271 qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 2, 0, "BoxPlotSeries");
271 qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 2, 0, "BoxPlotSeries");
272 qmlRegisterType<DeclarativeBoxSet, 1>(uri, 2, 0, "BoxSet");
272 qmlRegisterType<DeclarativeBoxSet, 1>(uri, 2, 0, "BoxSet");
273 qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 2, 0, "HorizontalBarSeries");
273 qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 2, 0, "HorizontalBarSeries");
274 qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 2, 0, "HorizontalStackedBarSeries");
274 qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 2, 0, "HorizontalStackedBarSeries");
275 qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 2, 0, "HorizontalPercentBarSeries");
275 qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 2, 0, "HorizontalPercentBarSeries");
276 qmlRegisterType<DeclarativePieSlice>(uri, 2, 0, "PieSlice");
276 qmlRegisterType<DeclarativePieSlice>(uri, 2, 0, "PieSlice");
277 qmlRegisterUncreatableType<QLegend>(uri, 2, 0, "Legend",
277 qmlRegisterUncreatableType<QLegend>(uri, 2, 0, "Legend",
278 QLatin1String("Trying to create uncreatable: Legend."));
278 QLatin1String("Trying to create uncreatable: Legend."));
279 qmlRegisterUncreatableType<QXYSeries>(uri, 2, 0, "XYSeries",
279 qmlRegisterUncreatableType<QXYSeries>(uri, 2, 0, "XYSeries",
280 QLatin1String("Trying to create uncreatable: XYSeries."));
280 QLatin1String("Trying to create uncreatable: XYSeries."));
281 qmlRegisterUncreatableType<QAbstractItemModel>(uri, 2, 0, "AbstractItemModel",
281 qmlRegisterUncreatableType<QAbstractItemModel>(uri, 2, 0, "AbstractItemModel",
282 QLatin1String("Trying to create uncreatable: AbstractItemModel."));
282 QLatin1String("Trying to create uncreatable: AbstractItemModel."));
283 qmlRegisterUncreatableType<QXYModelMapper>(uri, 2, 0, "XYModelMapper",
283 qmlRegisterUncreatableType<QXYModelMapper>(uri, 2, 0, "XYModelMapper",
284 QLatin1String("Trying to create uncreatable: XYModelMapper."));
284 QLatin1String("Trying to create uncreatable: XYModelMapper."));
285 qmlRegisterUncreatableType<QPieModelMapper>(uri, 2, 0, "PieModelMapper",
285 qmlRegisterUncreatableType<QPieModelMapper>(uri, 2, 0, "PieModelMapper",
286 QLatin1String("Trying to create uncreatable: PieModelMapper."));
286 QLatin1String("Trying to create uncreatable: PieModelMapper."));
287 qmlRegisterUncreatableType<QBarModelMapper>(uri, 2, 0, "BarModelMapper",
287 qmlRegisterUncreatableType<QBarModelMapper>(uri, 2, 0, "BarModelMapper",
288 QLatin1String("Trying to create uncreatable: BarModelMapper."));
288 QLatin1String("Trying to create uncreatable: BarModelMapper."));
289 qmlRegisterUncreatableType<QAbstractSeries>(uri, 2, 0, "AbstractSeries",
289 qmlRegisterUncreatableType<QAbstractSeries>(uri, 2, 0, "AbstractSeries",
290 QLatin1String("Trying to create uncreatable: AbstractSeries."));
290 QLatin1String("Trying to create uncreatable: AbstractSeries."));
291 qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 2, 0, "AbstractBarSeries",
291 qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 2, 0, "AbstractBarSeries",
292 QLatin1String("Trying to create uncreatable: AbstractBarSeries."));
292 QLatin1String("Trying to create uncreatable: AbstractBarSeries."));
293 qmlRegisterUncreatableType<QAbstractAxis>(uri, 2, 0, "AbstractAxis",
293 qmlRegisterUncreatableType<QAbstractAxis>(uri, 2, 0, "AbstractAxis",
294 QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead."));
294 QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead."));
295 qmlRegisterUncreatableType<QBarSet>(uri, 2, 0, "BarSetBase",
295 qmlRegisterUncreatableType<QBarSet>(uri, 2, 0, "BarSetBase",
296 QLatin1String("Trying to create uncreatable: BarsetBase."));
296 QLatin1String("Trying to create uncreatable: BarsetBase."));
297 qmlRegisterUncreatableType<QPieSeries>(uri, 2, 0, "QPieSeries",
297 qmlRegisterUncreatableType<QPieSeries>(uri, 2, 0, "QPieSeries",
298 QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead."));
298 QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead."));
299 qmlRegisterUncreatableType<DeclarativeAxes>(uri, 2, 0, "DeclarativeAxes",
299 qmlRegisterUncreatableType<DeclarativeAxes>(uri, 2, 0, "DeclarativeAxes",
300 QLatin1String("Trying to create uncreatable: DeclarativeAxes."));
300 QLatin1String("Trying to create uncreatable: DeclarativeAxes."));
301 qmlRegisterUncreatableType<DeclarativeMargins>(uri, 2, 0, "Margins",
301 qmlRegisterUncreatableType<DeclarativeMargins>(uri, 2, 0, "Margins",
302 QLatin1String("Trying to create uncreatable: Margins."));
302 QLatin1String("Trying to create uncreatable: Margins."));
303
304 // QtCharts 2.1
305 qmlRegisterType<DeclarativeCategoryAxis, 1>(uri, 2, 1, "CategoryAxis");
303 }
306 }
307
304 };
308 };
305
309
306 QT_CHARTS_END_NAMESPACE
310 QT_CHARTS_END_NAMESPACE
307
311
308 #include "chartsqml2_plugin.moc"
312 #include "chartsqml2_plugin.moc"
309
313
310 QT_CHARTS_USE_NAMESPACE
314 QT_CHARTS_USE_NAMESPACE
@@ -1,98 +1,112
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #include "declarativecategoryaxis.h"
19 #include "declarativecategoryaxis.h"
20 #include <QtCore/QDebug>
20 #include <QtCore/QDebug>
21
21
22 QT_CHARTS_BEGIN_NAMESPACE
22 QT_CHARTS_BEGIN_NAMESPACE
23
23
24 /*!
24 /*!
25 \qmltype CategoryRange
25 \qmltype CategoryRange
26 \inqmlmodule QtCharts
26 \inqmlmodule QtCharts
27
27
28 \brief With CategoryRange you can define a range used by a CategoryAxis.
28 \brief With CategoryRange you can define a range used by a CategoryAxis.
29 \sa CategoryAxis
29 \sa CategoryAxis
30 */
30 */
31
31
32 DeclarativeCategoryRange::DeclarativeCategoryRange(QObject *parent) :
32 DeclarativeCategoryRange::DeclarativeCategoryRange(QObject *parent) :
33 QObject(parent),
33 QObject(parent),
34 m_endValue(0),
34 m_endValue(0),
35 m_label(QString())
35 m_label(QString())
36 {
36 {
37 }
37 }
38
38
39 DeclarativeCategoryAxis::DeclarativeCategoryAxis(QObject *parent) :
39 DeclarativeCategoryAxis::DeclarativeCategoryAxis(QObject *parent) :
40 QCategoryAxis(parent)
40 QCategoryAxis(parent)
41 {
41 {
42 }
42 }
43
43
44 void DeclarativeCategoryAxis::classBegin()
44 void DeclarativeCategoryAxis::classBegin()
45 {
45 {
46 }
46 }
47
47
48 void DeclarativeCategoryAxis::componentComplete()
48 void DeclarativeCategoryAxis::componentComplete()
49 {
49 {
50 QList<QPair<QString, qreal> > ranges;
50 QList<QPair<QString, qreal> > ranges;
51 foreach (QObject *child, children()) {
51 foreach (QObject *child, children()) {
52 if (qobject_cast<DeclarativeCategoryRange *>(child)) {
52 if (qobject_cast<DeclarativeCategoryRange *>(child)) {
53 DeclarativeCategoryRange *range = qobject_cast<DeclarativeCategoryRange *>(child);
53 DeclarativeCategoryRange *range = qobject_cast<DeclarativeCategoryRange *>(child);
54 ranges.append(QPair<QString, qreal>(range->label(), range->endValue()));
54 ranges.append(QPair<QString, qreal>(range->label(), range->endValue()));
55 }
55 }
56 }
56 }
57
57
58 // Sort and append the range objects according to end value
58 // Sort and append the range objects according to end value
59 qSort(ranges.begin(), ranges.end(), endValueLessThan);
59 qSort(ranges.begin(), ranges.end(), endValueLessThan);
60 for (int i(0); i < ranges.count(); i++)
60 for (int i(0); i < ranges.count(); i++)
61 append(ranges.at(i).first, ranges.at(i).second);
61 append(ranges.at(i).first, ranges.at(i).second);
62 }
62 }
63
63
64 bool DeclarativeCategoryAxis::endValueLessThan(const QPair<QString, qreal> &value1, const QPair<QString, qreal> &value2)
64 bool DeclarativeCategoryAxis::endValueLessThan(const QPair<QString, qreal> &value1, const QPair<QString, qreal> &value2)
65 {
65 {
66 return value1.second < value2.second;
66 return value1.second < value2.second;
67 }
67 }
68
68
69 QQmlListProperty<QObject> DeclarativeCategoryAxis::axisChildren()
69 QQmlListProperty<QObject> DeclarativeCategoryAxis::axisChildren()
70 {
70 {
71 return QQmlListProperty<QObject>(this, 0, &DeclarativeCategoryAxis::appendAxisChildren ,0,0,0);
71 return QQmlListProperty<QObject>(this, 0, &DeclarativeCategoryAxis::appendAxisChildren ,0,0,0);
72 }
72 }
73
73
74 void DeclarativeCategoryAxis::append(const QString &label, qreal categoryEndValue)
74 void DeclarativeCategoryAxis::append(const QString &label, qreal categoryEndValue)
75 {
75 {
76 QCategoryAxis::append(label, categoryEndValue);
76 QCategoryAxis::append(label, categoryEndValue);
77 }
77 }
78
78
79 void DeclarativeCategoryAxis::remove(const QString &label)
79 void DeclarativeCategoryAxis::remove(const QString &label)
80 {
80 {
81 QCategoryAxis::remove(label);
81 QCategoryAxis::remove(label);
82 }
82 }
83
83
84 void DeclarativeCategoryAxis::replace(const QString &oldLabel, const QString &newLabel)
84 void DeclarativeCategoryAxis::replace(const QString &oldLabel, const QString &newLabel)
85 {
85 {
86 QCategoryAxis::replaceLabel(oldLabel, newLabel);
86 QCategoryAxis::replaceLabel(oldLabel, newLabel);
87 }
87 }
88
88
89 void DeclarativeCategoryAxis::appendAxisChildren(QQmlListProperty<QObject> *list, QObject *element)
89 void DeclarativeCategoryAxis::appendAxisChildren(QQmlListProperty<QObject> *list, QObject *element)
90 {
90 {
91 // Empty implementation; the children are parsed in componentComplete instead
91 // Empty implementation; the children are parsed in componentComplete instead
92 Q_UNUSED(list)
92 Q_UNUSED(list)
93 Q_UNUSED(element)
93 Q_UNUSED(element)
94 }
94 }
95
95
96 DeclarativeCategoryAxis::AxisLabelsPosition DeclarativeCategoryAxis::labelsPosition() const
97 {
98 return (DeclarativeCategoryAxis::AxisLabelsPosition) QCategoryAxis::labelsPosition();
99 }
100
101 void DeclarativeCategoryAxis::setLabelsPosition(AxisLabelsPosition position)
102 {
103 QCategoryAxis::AxisLabelsPosition labelsPosition = (QCategoryAxis::AxisLabelsPosition) position;
104 if (labelsPosition != m_labelsPosition) {
105 QCategoryAxis::setLabelsPosition(labelsPosition);
106 emit labelsPositionChanged(position);
107 }
108 }
109
96 #include "moc_declarativecategoryaxis.cpp"
110 #include "moc_declarativecategoryaxis.cpp"
97
111
98 QT_CHARTS_END_NAMESPACE
112 QT_CHARTS_END_NAMESPACE
@@ -1,74 +1,93
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #ifndef DECLARATIVECATEGORYAXIS_H
19 #ifndef DECLARATIVECATEGORYAXIS_H
20 #define DECLARATIVECATEGORYAXIS_H
20 #define DECLARATIVECATEGORYAXIS_H
21
21
22 #include <QtCharts/QCategoryAxis>
22 #include <QtCharts/QCategoryAxis>
23
23
24 #include <QtQml/QQmlListProperty>
24 #include <QtQml/QQmlListProperty>
25 #include <QtQml/QQmlParserStatus>
25 #include <QtQml/QQmlParserStatus>
26
26
27 QT_CHARTS_BEGIN_NAMESPACE
27 QT_CHARTS_BEGIN_NAMESPACE
28
28
29 class DeclarativeCategoryRange : public QObject
29 class DeclarativeCategoryRange : public QObject
30 {
30 {
31 Q_OBJECT
31 Q_OBJECT
32 Q_PROPERTY(qreal endValue READ endValue WRITE setEndValue)
32 Q_PROPERTY(qreal endValue READ endValue WRITE setEndValue)
33 Q_PROPERTY(QString label READ label WRITE setLabel)
33 Q_PROPERTY(QString label READ label WRITE setLabel)
34
34
35 public:
35 public:
36 explicit DeclarativeCategoryRange(QObject *parent = 0);
36 explicit DeclarativeCategoryRange(QObject *parent = 0);
37 qreal endValue() { return m_endValue; }
37 qreal endValue() { return m_endValue; }
38 void setEndValue(qreal endValue) { m_endValue = endValue; }
38 void setEndValue(qreal endValue) { m_endValue = endValue; }
39 QString label() { return m_label; }
39 QString label() { return m_label; }
40 void setLabel(QString label) { m_label = label; }
40 void setLabel(QString label) { m_label = label; }
41
41
42 private:
42 private:
43 qreal m_endValue;
43 qreal m_endValue;
44 QString m_label;
44 QString m_label;
45 };
45 };
46
46
47 class DeclarativeCategoryAxis : public QCategoryAxis, public QQmlParserStatus
47 class DeclarativeCategoryAxis : public QCategoryAxis, public QQmlParserStatus
48 {
48 {
49 Q_OBJECT
49 Q_OBJECT
50 Q_INTERFACES(QQmlParserStatus)
50 Q_INTERFACES(QQmlParserStatus)
51 Q_PROPERTY(QQmlListProperty<QObject> axisChildren READ axisChildren)
51 Q_PROPERTY(QQmlListProperty<QObject> axisChildren READ axisChildren)
52 Q_CLASSINFO("DefaultProperty", "axisChildren")
52 Q_CLASSINFO("DefaultProperty", "axisChildren")
53 Q_PROPERTY(AxisLabelsPosition labelsPosition READ labelsPosition WRITE setLabelsPosition NOTIFY labelsPositionChanged REVISION 1)
54 Q_ENUMS(AxisLabelsPosition)
53
55
54 public:
56 public:
57 // duplicating enums from QChart to make the QML api namings 1-to-1 with the C++ api
58 enum AxisLabelsPosition {
59 AxisLabelsPositionCenter = 0x0,
60 AxisLabelsPositionOnValue = 0x1
61 };
62
55 explicit DeclarativeCategoryAxis(QObject *parent = 0);
63 explicit DeclarativeCategoryAxis(QObject *parent = 0);
56 QQmlListProperty<QObject> axisChildren();
64 QQmlListProperty<QObject> axisChildren();
57
65
66
58 public: // from QDeclarativeParserStatus
67 public: // from QDeclarativeParserStatus
59 void classBegin();
68 void classBegin();
60 void componentComplete();
69 void componentComplete();
61
70
71 public:
72 AxisLabelsPosition labelsPosition() const;
73 void setLabelsPosition(AxisLabelsPosition position);
74
75 Q_SIGNALS:
76 Q_REVISION(1) void labelsPositionChanged(AxisLabelsPosition position);
77
62 public Q_SLOTS:
78 public Q_SLOTS:
63 Q_INVOKABLE void append(const QString &label, qreal categoryEndValue);
79 Q_INVOKABLE void append(const QString &label, qreal categoryEndValue);
64 Q_INVOKABLE void remove(const QString &label);
80 Q_INVOKABLE void remove(const QString &label);
65 Q_INVOKABLE void replace(const QString &oldLabel, const QString &newLabel);
81 Q_INVOKABLE void replace(const QString &oldLabel, const QString &newLabel);
66 static void appendAxisChildren(QQmlListProperty<QObject> *list, QObject *element);
82 static void appendAxisChildren(QQmlListProperty<QObject> *list, QObject *element);
67
83
68 private:
84 private:
69 static bool endValueLessThan(const QPair<QString, qreal> &value1, const QPair<QString, qreal> &value2);
85 static bool endValueLessThan(const QPair<QString, qreal> &value1, const QPair<QString, qreal> &value2);
86
87 private:
88 AxisLabelsPosition m_labelsPosition;
70 };
89 };
71
90
72 QT_CHARTS_END_NAMESPACE
91 QT_CHARTS_END_NAMESPACE
73
92
74 #endif // DECLARATIVECATEGORYAXIS_H
93 #endif // DECLARATIVECATEGORYAXIS_H
@@ -1,2378 +1,2407
1 import QtQuick.tooling 1.1
1 import QtQuick.tooling 1.1
2
2
3 // This file describes the plugin-supplied types contained in the library.
3 // This file describes the plugin-supplied types contained in the library.
4 // It is used for QML tooling purposes only.
4 // It is used for QML tooling purposes only.
5 //
5 //
6 // This file was auto-generated by:
6 // This file was auto-generated by:
7 // 'qmlplugindump -nonrelocatable QtCharts 2.0'
7 // 'qmlplugindump -nonrelocatable QtCharts 2.0'
8
8
9 Module {
9 Module {
10 Component {
10 Component {
11 name: "QGraphicsObject"
11 name: "QGraphicsObject"
12 defaultProperty: "children"
12 defaultProperty: "children"
13 prototype: "QObject"
13 prototype: "QObject"
14 Property { name: "parent"; type: "QGraphicsObject"; isPointer: true }
14 Property { name: "parent"; type: "QGraphicsObject"; isPointer: true }
15 Property { name: "opacity"; type: "double" }
15 Property { name: "opacity"; type: "double" }
16 Property { name: "enabled"; type: "bool" }
16 Property { name: "enabled"; type: "bool" }
17 Property { name: "visible"; type: "bool" }
17 Property { name: "visible"; type: "bool" }
18 Property { name: "pos"; type: "QPointF" }
18 Property { name: "pos"; type: "QPointF" }
19 Property { name: "x"; type: "double" }
19 Property { name: "x"; type: "double" }
20 Property { name: "y"; type: "double" }
20 Property { name: "y"; type: "double" }
21 Property { name: "z"; type: "double" }
21 Property { name: "z"; type: "double" }
22 Property { name: "rotation"; type: "double" }
22 Property { name: "rotation"; type: "double" }
23 Property { name: "scale"; type: "double" }
23 Property { name: "scale"; type: "double" }
24 Property { name: "transformOriginPoint"; type: "QPointF" }
24 Property { name: "transformOriginPoint"; type: "QPointF" }
25 Property { name: "effect"; type: "QGraphicsEffect"; isPointer: true }
25 Property { name: "effect"; type: "QGraphicsEffect"; isPointer: true }
26 Property {
26 Property {
27 name: "children"
27 name: "children"
28 type: "QDeclarativeListProperty<QGraphicsObject>"
28 type: "QDeclarativeListProperty<QGraphicsObject>"
29 isReadonly: true
29 isReadonly: true
30 }
30 }
31 Property { name: "width"; type: "double" }
31 Property { name: "width"; type: "double" }
32 Property { name: "height"; type: "double" }
32 Property { name: "height"; type: "double" }
33 }
33 }
34 Component {
34 Component {
35 name: "QGraphicsWidget"
35 name: "QGraphicsWidget"
36 defaultProperty: "children"
36 defaultProperty: "children"
37 prototype: "QGraphicsObject"
37 prototype: "QGraphicsObject"
38 Property { name: "palette"; type: "QPalette" }
38 Property { name: "palette"; type: "QPalette" }
39 Property { name: "font"; type: "QFont" }
39 Property { name: "font"; type: "QFont" }
40 Property { name: "layoutDirection"; type: "Qt::LayoutDirection" }
40 Property { name: "layoutDirection"; type: "Qt::LayoutDirection" }
41 Property { name: "size"; type: "QSizeF" }
41 Property { name: "size"; type: "QSizeF" }
42 Property { name: "minimumSize"; type: "QSizeF" }
42 Property { name: "minimumSize"; type: "QSizeF" }
43 Property { name: "preferredSize"; type: "QSizeF" }
43 Property { name: "preferredSize"; type: "QSizeF" }
44 Property { name: "maximumSize"; type: "QSizeF" }
44 Property { name: "maximumSize"; type: "QSizeF" }
45 Property { name: "sizePolicy"; type: "QSizePolicy" }
45 Property { name: "sizePolicy"; type: "QSizePolicy" }
46 Property { name: "focusPolicy"; type: "Qt::FocusPolicy" }
46 Property { name: "focusPolicy"; type: "Qt::FocusPolicy" }
47 Property { name: "windowFlags"; type: "Qt::WindowFlags" }
47 Property { name: "windowFlags"; type: "Qt::WindowFlags" }
48 Property { name: "windowTitle"; type: "string" }
48 Property { name: "windowTitle"; type: "string" }
49 Property { name: "geometry"; type: "QRectF" }
49 Property { name: "geometry"; type: "QRectF" }
50 Property { name: "autoFillBackground"; type: "bool" }
50 Property { name: "autoFillBackground"; type: "bool" }
51 Property { name: "layout"; type: "QGraphicsLayout"; isPointer: true }
51 Property { name: "layout"; type: "QGraphicsLayout"; isPointer: true }
52 Method { name: "close"; type: "bool" }
52 Method { name: "close"; type: "bool" }
53 }
53 }
54 Component {
54 Component {
55 name: "QtCharts::DeclarativeAreaSeries"
55 name: "QtCharts::DeclarativeAreaSeries"
56 prototype: "QtCharts::QAreaSeries"
56 prototype: "QtCharts::QAreaSeries"
57 exports: [
57 exports: [
58 "QtCharts/AreaSeries 1.0",
58 "QtCharts/AreaSeries 1.0",
59 "QtCharts/AreaSeries 1.1",
59 "QtCharts/AreaSeries 1.1",
60 "QtCharts/AreaSeries 1.2",
60 "QtCharts/AreaSeries 1.2",
61 "QtCharts/AreaSeries 1.3",
61 "QtCharts/AreaSeries 1.3",
62 "QtCharts/AreaSeries 1.4",
62 "QtCharts/AreaSeries 1.4",
63 "QtCharts/AreaSeries 2.0"
63 "QtCharts/AreaSeries 2.0"
64 ]
64 ]
65 exportMetaObjectRevisions: [0, 1, 2, 3, 4, 4]
65 exportMetaObjectRevisions: [0, 1, 2, 3, 4, 4]
66 Property { name: "upperSeries"; type: "DeclarativeLineSeries"; isPointer: true }
66 Property { name: "upperSeries"; type: "DeclarativeLineSeries"; isPointer: true }
67 Property { name: "lowerSeries"; type: "DeclarativeLineSeries"; isPointer: true }
67 Property { name: "lowerSeries"; type: "DeclarativeLineSeries"; isPointer: true }
68 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
68 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
69 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
69 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
70 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
70 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
71 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
71 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
72 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
72 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
73 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
73 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
74 Property { name: "borderWidth"; revision: 1; type: "double" }
74 Property { name: "borderWidth"; revision: 1; type: "double" }
75 Property { name: "brushFilename"; revision: 4; type: "string" }
75 Property { name: "brushFilename"; revision: 4; type: "string" }
76 Property { name: "brush"; revision: 4; type: "QBrush" }
76 Property { name: "brush"; revision: 4; type: "QBrush" }
77 Signal {
77 Signal {
78 name: "axisXChanged"
78 name: "axisXChanged"
79 revision: 1
79 revision: 1
80 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
80 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
81 }
81 }
82 Signal {
82 Signal {
83 name: "axisYChanged"
83 name: "axisYChanged"
84 revision: 1
84 revision: 1
85 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
85 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
86 }
86 }
87 Signal {
87 Signal {
88 name: "borderWidthChanged"
88 name: "borderWidthChanged"
89 revision: 1
89 revision: 1
90 Parameter { name: "width"; type: "double" }
90 Parameter { name: "width"; type: "double" }
91 }
91 }
92 Signal {
92 Signal {
93 name: "axisXTopChanged"
93 name: "axisXTopChanged"
94 revision: 2
94 revision: 2
95 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
95 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
96 }
96 }
97 Signal {
97 Signal {
98 name: "axisYRightChanged"
98 name: "axisYRightChanged"
99 revision: 2
99 revision: 2
100 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
100 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
101 }
101 }
102 Signal {
102 Signal {
103 name: "axisAngularChanged"
103 name: "axisAngularChanged"
104 revision: 3
104 revision: 3
105 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
105 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
106 }
106 }
107 Signal {
107 Signal {
108 name: "axisRadialChanged"
108 name: "axisRadialChanged"
109 revision: 3
109 revision: 3
110 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
110 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
111 }
111 }
112 Signal { name: "brushChanged"; revision: 4 }
112 Signal { name: "brushChanged"; revision: 4 }
113 Signal {
113 Signal {
114 name: "brushFilenameChanged"
114 name: "brushFilenameChanged"
115 revision: 4
115 revision: 4
116 Parameter { name: "brushFilename"; type: "string" }
116 Parameter { name: "brushFilename"; type: "string" }
117 }
117 }
118 }
118 }
119 Component {
119 Component {
120 name: "QtCharts::DeclarativeAxes"
120 name: "QtCharts::DeclarativeAxes"
121 prototype: "QObject"
121 prototype: "QObject"
122 exports: [
122 exports: [
123 "QtCharts/DeclarativeAxes 1.0",
123 "QtCharts/DeclarativeAxes 1.0",
124 "QtCharts/DeclarativeAxes 2.0"
124 "QtCharts/DeclarativeAxes 2.0"
125 ]
125 ]
126 isCreatable: false
126 isCreatable: false
127 exportMetaObjectRevisions: [0, 0]
127 exportMetaObjectRevisions: [0, 0]
128 Property { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
128 Property { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
129 Property { name: "axisY"; type: "QAbstractAxis"; isPointer: true }
129 Property { name: "axisY"; type: "QAbstractAxis"; isPointer: true }
130 Property { name: "axisXTop"; type: "QAbstractAxis"; isPointer: true }
130 Property { name: "axisXTop"; type: "QAbstractAxis"; isPointer: true }
131 Property { name: "axisYRight"; type: "QAbstractAxis"; isPointer: true }
131 Property { name: "axisYRight"; type: "QAbstractAxis"; isPointer: true }
132 Signal {
132 Signal {
133 name: "axisXChanged"
133 name: "axisXChanged"
134 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
134 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
135 }
135 }
136 Signal {
136 Signal {
137 name: "axisYChanged"
137 name: "axisYChanged"
138 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
138 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
139 }
139 }
140 Signal {
140 Signal {
141 name: "axisXTopChanged"
141 name: "axisXTopChanged"
142 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
142 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
143 }
143 }
144 Signal {
144 Signal {
145 name: "axisYRightChanged"
145 name: "axisYRightChanged"
146 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
146 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
147 }
147 }
148 }
148 }
149 Component {
149 Component {
150 name: "QtCharts::DeclarativeBarSeries"
150 name: "QtCharts::DeclarativeBarSeries"
151 defaultProperty: "seriesChildren"
151 defaultProperty: "seriesChildren"
152 prototype: "QtCharts::QBarSeries"
152 prototype: "QtCharts::QBarSeries"
153 exports: [
153 exports: [
154 "QtCharts/BarSeries 1.0",
154 "QtCharts/BarSeries 1.0",
155 "QtCharts/BarSeries 1.1",
155 "QtCharts/BarSeries 1.1",
156 "QtCharts/BarSeries 1.2",
156 "QtCharts/BarSeries 1.2",
157 "QtCharts/BarSeries 2.0"
157 "QtCharts/BarSeries 2.0"
158 ]
158 ]
159 exportMetaObjectRevisions: [0, 1, 2, 2]
159 exportMetaObjectRevisions: [0, 1, 2, 2]
160 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
160 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
161 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
161 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
162 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
162 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
163 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
163 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
164 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
164 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
165 Signal {
165 Signal {
166 name: "axisXChanged"
166 name: "axisXChanged"
167 revision: 1
167 revision: 1
168 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
168 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
169 }
169 }
170 Signal {
170 Signal {
171 name: "axisYChanged"
171 name: "axisYChanged"
172 revision: 1
172 revision: 1
173 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
173 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
174 }
174 }
175 Signal {
175 Signal {
176 name: "axisXTopChanged"
176 name: "axisXTopChanged"
177 revision: 2
177 revision: 2
178 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
178 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
179 }
179 }
180 Signal {
180 Signal {
181 name: "axisYRightChanged"
181 name: "axisYRightChanged"
182 revision: 2
182 revision: 2
183 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
183 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
184 }
184 }
185 Method {
185 Method {
186 name: "appendSeriesChildren"
186 name: "appendSeriesChildren"
187 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
187 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
188 Parameter { name: "element"; type: "QObject"; isPointer: true }
188 Parameter { name: "element"; type: "QObject"; isPointer: true }
189 }
189 }
190 Method {
190 Method {
191 name: "at"
191 name: "at"
192 type: "DeclarativeBarSet*"
192 type: "DeclarativeBarSet*"
193 Parameter { name: "index"; type: "int" }
193 Parameter { name: "index"; type: "int" }
194 }
194 }
195 Method {
195 Method {
196 name: "append"
196 name: "append"
197 type: "DeclarativeBarSet*"
197 type: "DeclarativeBarSet*"
198 Parameter { name: "label"; type: "string" }
198 Parameter { name: "label"; type: "string" }
199 Parameter { name: "values"; type: "QVariantList" }
199 Parameter { name: "values"; type: "QVariantList" }
200 }
200 }
201 Method {
201 Method {
202 name: "insert"
202 name: "insert"
203 type: "DeclarativeBarSet*"
203 type: "DeclarativeBarSet*"
204 Parameter { name: "index"; type: "int" }
204 Parameter { name: "index"; type: "int" }
205 Parameter { name: "label"; type: "string" }
205 Parameter { name: "label"; type: "string" }
206 Parameter { name: "values"; type: "QVariantList" }
206 Parameter { name: "values"; type: "QVariantList" }
207 }
207 }
208 Method {
208 Method {
209 name: "remove"
209 name: "remove"
210 type: "bool"
210 type: "bool"
211 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
211 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
212 }
212 }
213 Method { name: "clear" }
213 Method { name: "clear" }
214 }
214 }
215 Component {
215 Component {
216 name: "QtCharts::DeclarativeBarSet"
216 name: "QtCharts::DeclarativeBarSet"
217 prototype: "QtCharts::QBarSet"
217 prototype: "QtCharts::QBarSet"
218 exports: [
218 exports: [
219 "QtCharts/BarSet 1.0",
219 "QtCharts/BarSet 1.0",
220 "QtCharts/BarSet 1.1",
220 "QtCharts/BarSet 1.1",
221 "QtCharts/BarSet 1.4",
221 "QtCharts/BarSet 1.4",
222 "QtCharts/BarSet 2.0"
222 "QtCharts/BarSet 2.0"
223 ]
223 ]
224 exportMetaObjectRevisions: [0, 0, 2, 2]
224 exportMetaObjectRevisions: [0, 0, 2, 2]
225 Property { name: "values"; type: "QVariantList" }
225 Property { name: "values"; type: "QVariantList" }
226 Property { name: "borderWidth"; revision: 1; type: "double" }
226 Property { name: "borderWidth"; revision: 1; type: "double" }
227 Property { name: "count"; type: "int"; isReadonly: true }
227 Property { name: "count"; type: "int"; isReadonly: true }
228 Property { name: "brushFilename"; revision: 2; type: "string" }
228 Property { name: "brushFilename"; revision: 2; type: "string" }
229 Signal {
229 Signal {
230 name: "countChanged"
230 name: "countChanged"
231 Parameter { name: "count"; type: "int" }
231 Parameter { name: "count"; type: "int" }
232 }
232 }
233 Signal {
233 Signal {
234 name: "borderWidthChanged"
234 name: "borderWidthChanged"
235 revision: 1
235 revision: 1
236 Parameter { name: "width"; type: "double" }
236 Parameter { name: "width"; type: "double" }
237 }
237 }
238 Signal {
238 Signal {
239 name: "brushFilenameChanged"
239 name: "brushFilenameChanged"
240 revision: 2
240 revision: 2
241 Parameter { name: "brushFilename"; type: "string" }
241 Parameter { name: "brushFilename"; type: "string" }
242 }
242 }
243 Method {
243 Method {
244 name: "append"
244 name: "append"
245 Parameter { name: "value"; type: "double" }
245 Parameter { name: "value"; type: "double" }
246 }
246 }
247 Method {
247 Method {
248 name: "remove"
248 name: "remove"
249 Parameter { name: "index"; type: "int" }
249 Parameter { name: "index"; type: "int" }
250 Parameter { name: "count"; type: "int" }
250 Parameter { name: "count"; type: "int" }
251 }
251 }
252 Method {
252 Method {
253 name: "remove"
253 name: "remove"
254 Parameter { name: "index"; type: "int" }
254 Parameter { name: "index"; type: "int" }
255 }
255 }
256 Method {
256 Method {
257 name: "replace"
257 name: "replace"
258 Parameter { name: "index"; type: "int" }
258 Parameter { name: "index"; type: "int" }
259 Parameter { name: "value"; type: "double" }
259 Parameter { name: "value"; type: "double" }
260 }
260 }
261 Method {
261 Method {
262 name: "at"
262 name: "at"
263 type: "double"
263 type: "double"
264 Parameter { name: "index"; type: "int" }
264 Parameter { name: "index"; type: "int" }
265 }
265 }
266 }
266 }
267 Component {
267 Component {
268 name: "QtCharts::DeclarativeBoxPlotSeries"
268 name: "QtCharts::DeclarativeBoxPlotSeries"
269 defaultProperty: "seriesChildren"
269 defaultProperty: "seriesChildren"
270 prototype: "QtCharts::QBoxPlotSeries"
270 prototype: "QtCharts::QBoxPlotSeries"
271 exports: [
271 exports: [
272 "QtCharts/BoxPlotSeries 1.3",
272 "QtCharts/BoxPlotSeries 1.3",
273 "QtCharts/BoxPlotSeries 1.4",
273 "QtCharts/BoxPlotSeries 1.4",
274 "QtCharts/BoxPlotSeries 2.0"
274 "QtCharts/BoxPlotSeries 2.0"
275 ]
275 ]
276 exportMetaObjectRevisions: [0, 1, 1]
276 exportMetaObjectRevisions: [0, 1, 1]
277 Property { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
277 Property { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
278 Property { name: "axisY"; type: "QAbstractAxis"; isPointer: true }
278 Property { name: "axisY"; type: "QAbstractAxis"; isPointer: true }
279 Property { name: "axisXTop"; type: "QAbstractAxis"; isPointer: true }
279 Property { name: "axisXTop"; type: "QAbstractAxis"; isPointer: true }
280 Property { name: "axisYRight"; type: "QAbstractAxis"; isPointer: true }
280 Property { name: "axisYRight"; type: "QAbstractAxis"; isPointer: true }
281 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
281 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
282 Property { name: "brushFilename"; revision: 1; type: "string" }
282 Property { name: "brushFilename"; revision: 1; type: "string" }
283 Signal {
283 Signal {
284 name: "axisXChanged"
284 name: "axisXChanged"
285 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
285 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
286 }
286 }
287 Signal {
287 Signal {
288 name: "axisYChanged"
288 name: "axisYChanged"
289 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
289 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
290 }
290 }
291 Signal {
291 Signal {
292 name: "axisXTopChanged"
292 name: "axisXTopChanged"
293 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
293 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
294 }
294 }
295 Signal {
295 Signal {
296 name: "axisYRightChanged"
296 name: "axisYRightChanged"
297 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
297 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
298 }
298 }
299 Signal {
299 Signal {
300 name: "clicked"
300 name: "clicked"
301 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
301 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
302 }
302 }
303 Signal {
303 Signal {
304 name: "hovered"
304 name: "hovered"
305 Parameter { name: "status"; type: "bool" }
305 Parameter { name: "status"; type: "bool" }
306 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
306 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
307 }
307 }
308 Signal {
308 Signal {
309 name: "pressed"
309 name: "pressed"
310 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
310 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
311 }
311 }
312 Signal {
312 Signal {
313 name: "released"
313 name: "released"
314 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
314 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
315 }
315 }
316 Signal {
316 Signal {
317 name: "doubleClicked"
317 name: "doubleClicked"
318 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
318 Parameter { name: "boxset"; type: "DeclarativeBoxSet"; isPointer: true }
319 }
319 }
320 Signal {
320 Signal {
321 name: "brushFilenameChanged"
321 name: "brushFilenameChanged"
322 revision: 1
322 revision: 1
323 Parameter { name: "brushFilename"; type: "string" }
323 Parameter { name: "brushFilename"; type: "string" }
324 }
324 }
325 Method {
325 Method {
326 name: "appendSeriesChildren"
326 name: "appendSeriesChildren"
327 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
327 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
328 Parameter { name: "element"; type: "QObject"; isPointer: true }
328 Parameter { name: "element"; type: "QObject"; isPointer: true }
329 }
329 }
330 Method {
330 Method {
331 name: "onHovered"
331 name: "onHovered"
332 Parameter { name: "status"; type: "bool" }
332 Parameter { name: "status"; type: "bool" }
333 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
333 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
334 }
334 }
335 Method {
335 Method {
336 name: "onClicked"
336 name: "onClicked"
337 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
337 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
338 }
338 }
339 Method {
339 Method {
340 name: "onPressed"
340 name: "onPressed"
341 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
341 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
342 }
342 }
343 Method {
343 Method {
344 name: "onReleased"
344 name: "onReleased"
345 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
345 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
346 }
346 }
347 Method {
347 Method {
348 name: "onDoubleClicked"
348 name: "onDoubleClicked"
349 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
349 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
350 }
350 }
351 Method {
351 Method {
352 name: "at"
352 name: "at"
353 type: "DeclarativeBoxSet*"
353 type: "DeclarativeBoxSet*"
354 Parameter { name: "index"; type: "int" }
354 Parameter { name: "index"; type: "int" }
355 }
355 }
356 Method {
356 Method {
357 name: "append"
357 name: "append"
358 type: "DeclarativeBoxSet*"
358 type: "DeclarativeBoxSet*"
359 Parameter { name: "label"; type: "string" }
359 Parameter { name: "label"; type: "string" }
360 Parameter { name: "values"; type: "QVariantList" }
360 Parameter { name: "values"; type: "QVariantList" }
361 }
361 }
362 Method {
362 Method {
363 name: "append"
363 name: "append"
364 Parameter { name: "box"; type: "DeclarativeBoxSet"; isPointer: true }
364 Parameter { name: "box"; type: "DeclarativeBoxSet"; isPointer: true }
365 }
365 }
366 Method {
366 Method {
367 name: "insert"
367 name: "insert"
368 type: "DeclarativeBoxSet*"
368 type: "DeclarativeBoxSet*"
369 Parameter { name: "index"; type: "int" }
369 Parameter { name: "index"; type: "int" }
370 Parameter { name: "label"; type: "string" }
370 Parameter { name: "label"; type: "string" }
371 Parameter { name: "values"; type: "QVariantList" }
371 Parameter { name: "values"; type: "QVariantList" }
372 }
372 }
373 Method {
373 Method {
374 name: "remove"
374 name: "remove"
375 type: "bool"
375 type: "bool"
376 Parameter { name: "box"; type: "DeclarativeBoxSet"; isPointer: true }
376 Parameter { name: "box"; type: "DeclarativeBoxSet"; isPointer: true }
377 }
377 }
378 Method { name: "clear" }
378 Method { name: "clear" }
379 }
379 }
380 Component {
380 Component {
381 name: "QtCharts::DeclarativeBoxSet"
381 name: "QtCharts::DeclarativeBoxSet"
382 prototype: "QtCharts::QBoxSet"
382 prototype: "QtCharts::QBoxSet"
383 exports: [
383 exports: [
384 "QtCharts/BoxSet 1.3",
384 "QtCharts/BoxSet 1.3",
385 "QtCharts/BoxSet 1.4",
385 "QtCharts/BoxSet 1.4",
386 "QtCharts/BoxSet 2.0"
386 "QtCharts/BoxSet 2.0"
387 ]
387 ]
388 exportMetaObjectRevisions: [0, 1, 1]
388 exportMetaObjectRevisions: [0, 1, 1]
389 Enum {
389 Enum {
390 name: "ValuePositions"
390 name: "ValuePositions"
391 values: {
391 values: {
392 "LowerExtreme": 0,
392 "LowerExtreme": 0,
393 "LowerQuartile": 1,
393 "LowerQuartile": 1,
394 "Median": 2,
394 "Median": 2,
395 "UpperQuartile": 3,
395 "UpperQuartile": 3,
396 "UpperExtreme": 4
396 "UpperExtreme": 4
397 }
397 }
398 }
398 }
399 Property { name: "values"; type: "QVariantList" }
399 Property { name: "values"; type: "QVariantList" }
400 Property { name: "label"; type: "string" }
400 Property { name: "label"; type: "string" }
401 Property { name: "count"; type: "int"; isReadonly: true }
401 Property { name: "count"; type: "int"; isReadonly: true }
402 Property { name: "brushFilename"; revision: 1; type: "string" }
402 Property { name: "brushFilename"; revision: 1; type: "string" }
403 Signal { name: "changedValues" }
403 Signal { name: "changedValues" }
404 Signal {
404 Signal {
405 name: "changedValue"
405 name: "changedValue"
406 Parameter { name: "index"; type: "int" }
406 Parameter { name: "index"; type: "int" }
407 }
407 }
408 Signal {
408 Signal {
409 name: "brushFilenameChanged"
409 name: "brushFilenameChanged"
410 revision: 1
410 revision: 1
411 Parameter { name: "brushFilename"; type: "string" }
411 Parameter { name: "brushFilename"; type: "string" }
412 }
412 }
413 Method {
413 Method {
414 name: "append"
414 name: "append"
415 Parameter { name: "value"; type: "double" }
415 Parameter { name: "value"; type: "double" }
416 }
416 }
417 Method { name: "clear" }
417 Method { name: "clear" }
418 Method {
418 Method {
419 name: "at"
419 name: "at"
420 type: "double"
420 type: "double"
421 Parameter { name: "index"; type: "int" }
421 Parameter { name: "index"; type: "int" }
422 }
422 }
423 Method {
423 Method {
424 name: "setValue"
424 name: "setValue"
425 Parameter { name: "index"; type: "int" }
425 Parameter { name: "index"; type: "int" }
426 Parameter { name: "value"; type: "double" }
426 Parameter { name: "value"; type: "double" }
427 }
427 }
428 }
428 }
429 Component {
429 Component {
430 name: "QtCharts::DeclarativeCategoryAxis"
430 name: "QtCharts::DeclarativeCategoryAxis"
431 defaultProperty: "axisChildren"
431 defaultProperty: "axisChildren"
432 prototype: "QtCharts::QCategoryAxis"
432 prototype: "QtCharts::QCategoryAxis"
433 exports: ["QtCharts/CategoryAxis 1.1", "QtCharts/CategoryAxis 2.0"]
433 exports: [
434 exportMetaObjectRevisions: [0, 0]
434 "QtCharts/CategoryAxis 1.1",
435 "QtCharts/CategoryAxis 2.0",
436 "QtCharts/CategoryAxis 2.1"
437 ]
438 exportMetaObjectRevisions: [0, 0, 1]
439 Enum {
440 name: "AxisLabelsPosition"
441 values: {
442 "AxisLabelsPositionCenter": 0,
443 "AxisLabelsPositionOnValue": 1
444 }
445 }
435 Property { name: "axisChildren"; type: "QObject"; isList: true; isReadonly: true }
446 Property { name: "axisChildren"; type: "QObject"; isList: true; isReadonly: true }
447 Property { name: "labelsPosition"; revision: 1; type: "AxisLabelsPosition" }
448 Signal {
449 name: "labelsPositionChanged"
450 revision: 1
451 Parameter { name: "position"; type: "AxisLabelsPosition" }
452 }
436 Method {
453 Method {
437 name: "append"
454 name: "append"
438 Parameter { name: "label"; type: "string" }
455 Parameter { name: "label"; type: "string" }
439 Parameter { name: "categoryEndValue"; type: "double" }
456 Parameter { name: "categoryEndValue"; type: "double" }
440 }
457 }
441 Method {
458 Method {
442 name: "remove"
459 name: "remove"
443 Parameter { name: "label"; type: "string" }
460 Parameter { name: "label"; type: "string" }
444 }
461 }
445 Method {
462 Method {
446 name: "replace"
463 name: "replace"
447 Parameter { name: "oldLabel"; type: "string" }
464 Parameter { name: "oldLabel"; type: "string" }
448 Parameter { name: "newLabel"; type: "string" }
465 Parameter { name: "newLabel"; type: "string" }
449 }
466 }
450 Method {
467 Method {
451 name: "appendAxisChildren"
468 name: "appendAxisChildren"
452 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
469 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
453 Parameter { name: "element"; type: "QObject"; isPointer: true }
470 Parameter { name: "element"; type: "QObject"; isPointer: true }
454 }
471 }
455 }
472 }
456 Component {
473 Component {
457 name: "QtCharts::DeclarativeCategoryRange"
474 name: "QtCharts::DeclarativeCategoryRange"
458 prototype: "QObject"
475 prototype: "QObject"
459 exports: ["QtCharts/CategoryRange 1.1", "QtCharts/CategoryRange 2.0"]
476 exports: ["QtCharts/CategoryRange 1.1", "QtCharts/CategoryRange 2.0"]
460 exportMetaObjectRevisions: [0, 0]
477 exportMetaObjectRevisions: [0, 0]
461 Property { name: "endValue"; type: "double" }
478 Property { name: "endValue"; type: "double" }
462 Property { name: "label"; type: "string" }
479 Property { name: "label"; type: "string" }
463 }
480 }
464 Component {
481 Component {
465 name: "QtCharts::DeclarativeChart"
482 name: "QtCharts::DeclarativeChart"
466 defaultProperty: "data"
483 defaultProperty: "data"
467 prototype: "QQuickPaintedItem"
484 prototype: "QQuickPaintedItem"
468 exports: [
485 exports: [
469 "QtCharts/ChartView 1.0",
486 "QtCharts/ChartView 1.0",
470 "QtCharts/ChartView 1.1",
487 "QtCharts/ChartView 1.1",
471 "QtCharts/ChartView 1.2",
488 "QtCharts/ChartView 1.2",
472 "QtCharts/ChartView 1.3",
489 "QtCharts/ChartView 1.3",
473 "QtCharts/ChartView 2.0"
490 "QtCharts/ChartView 2.0"
474 ]
491 ]
475 exportMetaObjectRevisions: [0, 1, 2, 3, 4]
492 exportMetaObjectRevisions: [0, 1, 2, 3, 4]
476 Enum {
493 Enum {
477 name: "Theme"
494 name: "Theme"
478 values: {
495 values: {
479 "ChartThemeLight": 0,
496 "ChartThemeLight": 0,
480 "ChartThemeBlueCerulean": 1,
497 "ChartThemeBlueCerulean": 1,
481 "ChartThemeDark": 2,
498 "ChartThemeDark": 2,
482 "ChartThemeBrownSand": 3,
499 "ChartThemeBrownSand": 3,
483 "ChartThemeBlueNcs": 4,
500 "ChartThemeBlueNcs": 4,
484 "ChartThemeHighContrast": 5,
501 "ChartThemeHighContrast": 5,
485 "ChartThemeBlueIcy": 6,
502 "ChartThemeBlueIcy": 6,
486 "ChartThemeQt": 7
503 "ChartThemeQt": 7
487 }
504 }
488 }
505 }
489 Enum {
506 Enum {
490 name: "Animation"
507 name: "Animation"
491 values: {
508 values: {
492 "NoAnimation": 0,
509 "NoAnimation": 0,
493 "GridAxisAnimations": 1,
510 "GridAxisAnimations": 1,
494 "SeriesAnimations": 2,
511 "SeriesAnimations": 2,
495 "AllAnimations": 3
512 "AllAnimations": 3
496 }
513 }
497 }
514 }
498 Enum {
515 Enum {
499 name: "SeriesType"
516 name: "SeriesType"
500 values: {
517 values: {
501 "SeriesTypeLine": 0,
518 "SeriesTypeLine": 0,
502 "SeriesTypeArea": 1,
519 "SeriesTypeArea": 1,
503 "SeriesTypeBar": 2,
520 "SeriesTypeBar": 2,
504 "SeriesTypeStackedBar": 3,
521 "SeriesTypeStackedBar": 3,
505 "SeriesTypePercentBar": 4,
522 "SeriesTypePercentBar": 4,
506 "SeriesTypeBoxPlot": 5,
523 "SeriesTypeBoxPlot": 5,
507 "SeriesTypePie": 6,
524 "SeriesTypePie": 6,
508 "SeriesTypeScatter": 7,
525 "SeriesTypeScatter": 7,
509 "SeriesTypeSpline": 8,
526 "SeriesTypeSpline": 8,
510 "SeriesTypeHorizontalBar": 9,
527 "SeriesTypeHorizontalBar": 9,
511 "SeriesTypeHorizontalStackedBar": 10,
528 "SeriesTypeHorizontalStackedBar": 10,
512 "SeriesTypeHorizontalPercentBar": 11
529 "SeriesTypeHorizontalPercentBar": 11
513 }
530 }
514 }
531 }
515 Property { name: "theme"; type: "Theme" }
532 Property { name: "theme"; type: "Theme" }
516 Property { name: "animationOptions"; type: "Animation" }
533 Property { name: "animationOptions"; type: "Animation" }
517 Property { name: "title"; type: "string" }
534 Property { name: "title"; type: "string" }
518 Property { name: "titleFont"; type: "QFont" }
535 Property { name: "titleFont"; type: "QFont" }
519 Property { name: "titleColor"; type: "QColor" }
536 Property { name: "titleColor"; type: "QColor" }
520 Property { name: "legend"; type: "QLegend"; isReadonly: true; isPointer: true }
537 Property { name: "legend"; type: "QLegend"; isReadonly: true; isPointer: true }
521 Property { name: "count"; type: "int"; isReadonly: true }
538 Property { name: "count"; type: "int"; isReadonly: true }
522 Property { name: "backgroundColor"; type: "QColor" }
539 Property { name: "backgroundColor"; type: "QColor" }
523 Property { name: "dropShadowEnabled"; type: "bool" }
540 Property { name: "dropShadowEnabled"; type: "bool" }
524 Property { name: "backgroundRoundness"; revision: 3; type: "double" }
541 Property { name: "backgroundRoundness"; revision: 3; type: "double" }
525 Property {
542 Property {
526 name: "margins"
543 name: "margins"
527 revision: 2
544 revision: 2
528 type: "DeclarativeMargins"
545 type: "DeclarativeMargins"
529 isReadonly: true
546 isReadonly: true
530 isPointer: true
547 isPointer: true
531 }
548 }
532 Property { name: "plotArea"; revision: 1; type: "QRectF"; isReadonly: true }
549 Property { name: "plotArea"; revision: 1; type: "QRectF"; isReadonly: true }
533 Property { name: "plotAreaColor"; revision: 3; type: "QColor" }
550 Property { name: "plotAreaColor"; revision: 3; type: "QColor" }
534 Property { name: "axes"; revision: 2; type: "QAbstractAxis"; isList: true; isReadonly: true }
551 Property { name: "axes"; revision: 2; type: "QAbstractAxis"; isList: true; isReadonly: true }
535 Property { name: "localizeNumbers"; revision: 4; type: "bool" }
552 Property { name: "localizeNumbers"; revision: 4; type: "bool" }
536 Property { name: "locale"; revision: 4; type: "QLocale" }
553 Property { name: "locale"; revision: 4; type: "QLocale" }
537 Signal { name: "axisLabelsChanged" }
554 Signal { name: "axisLabelsChanged" }
538 Signal {
555 Signal {
539 name: "titleColorChanged"
556 name: "titleColorChanged"
540 Parameter { name: "color"; type: "QColor" }
557 Parameter { name: "color"; type: "QColor" }
541 }
558 }
542 Signal {
559 Signal {
543 name: "dropShadowEnabledChanged"
560 name: "dropShadowEnabledChanged"
544 Parameter { name: "enabled"; type: "bool" }
561 Parameter { name: "enabled"; type: "bool" }
545 }
562 }
546 Signal { name: "marginsChanged"; revision: 2 }
563 Signal { name: "marginsChanged"; revision: 2 }
547 Signal {
564 Signal {
548 name: "plotAreaChanged"
565 name: "plotAreaChanged"
549 Parameter { name: "plotArea"; type: "QRectF" }
566 Parameter { name: "plotArea"; type: "QRectF" }
550 }
567 }
551 Signal {
568 Signal {
552 name: "seriesAdded"
569 name: "seriesAdded"
553 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
570 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
554 }
571 }
555 Signal {
572 Signal {
556 name: "seriesRemoved"
573 name: "seriesRemoved"
557 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
574 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
558 }
575 }
559 Signal { name: "plotAreaColorChanged"; revision: 3 }
576 Signal { name: "plotAreaColorChanged"; revision: 3 }
560 Signal {
577 Signal {
561 name: "backgroundRoundnessChanged"
578 name: "backgroundRoundnessChanged"
562 revision: 3
579 revision: 3
563 Parameter { name: "diameter"; type: "double" }
580 Parameter { name: "diameter"; type: "double" }
564 }
581 }
565 Signal { name: "localizeNumbersChanged"; revision: 4 }
582 Signal { name: "localizeNumbersChanged"; revision: 4 }
566 Signal { name: "localeChanged"; revision: 4 }
583 Signal { name: "localeChanged"; revision: 4 }
567 Method {
584 Method {
568 name: "series"
585 name: "series"
569 type: "QAbstractSeries*"
586 type: "QAbstractSeries*"
570 Parameter { name: "index"; type: "int" }
587 Parameter { name: "index"; type: "int" }
571 }
588 }
572 Method {
589 Method {
573 name: "series"
590 name: "series"
574 type: "QAbstractSeries*"
591 type: "QAbstractSeries*"
575 Parameter { name: "seriesName"; type: "string" }
592 Parameter { name: "seriesName"; type: "string" }
576 }
593 }
577 Method {
594 Method {
578 name: "createSeries"
595 name: "createSeries"
579 type: "QAbstractSeries*"
596 type: "QAbstractSeries*"
580 Parameter { name: "type"; type: "int" }
597 Parameter { name: "type"; type: "int" }
581 Parameter { name: "name"; type: "string" }
598 Parameter { name: "name"; type: "string" }
582 Parameter { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
599 Parameter { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
583 Parameter { name: "axisY"; type: "QAbstractAxis"; isPointer: true }
600 Parameter { name: "axisY"; type: "QAbstractAxis"; isPointer: true }
584 }
601 }
585 Method {
602 Method {
586 name: "createSeries"
603 name: "createSeries"
587 type: "QAbstractSeries*"
604 type: "QAbstractSeries*"
588 Parameter { name: "type"; type: "int" }
605 Parameter { name: "type"; type: "int" }
589 Parameter { name: "name"; type: "string" }
606 Parameter { name: "name"; type: "string" }
590 Parameter { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
607 Parameter { name: "axisX"; type: "QAbstractAxis"; isPointer: true }
591 }
608 }
592 Method {
609 Method {
593 name: "createSeries"
610 name: "createSeries"
594 type: "QAbstractSeries*"
611 type: "QAbstractSeries*"
595 Parameter { name: "type"; type: "int" }
612 Parameter { name: "type"; type: "int" }
596 Parameter { name: "name"; type: "string" }
613 Parameter { name: "name"; type: "string" }
597 }
614 }
598 Method {
615 Method {
599 name: "createSeries"
616 name: "createSeries"
600 type: "QAbstractSeries*"
617 type: "QAbstractSeries*"
601 Parameter { name: "type"; type: "int" }
618 Parameter { name: "type"; type: "int" }
602 }
619 }
603 Method {
620 Method {
604 name: "removeSeries"
621 name: "removeSeries"
605 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
622 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
606 }
623 }
607 Method { name: "removeAllSeries" }
624 Method { name: "removeAllSeries" }
608 Method {
625 Method {
609 name: "setAxisX"
626 name: "setAxisX"
610 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
627 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
611 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
628 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
612 }
629 }
613 Method {
630 Method {
614 name: "setAxisX"
631 name: "setAxisX"
615 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
632 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
616 }
633 }
617 Method {
634 Method {
618 name: "setAxisY"
635 name: "setAxisY"
619 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
636 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
620 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
637 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
621 }
638 }
622 Method {
639 Method {
623 name: "setAxisY"
640 name: "setAxisY"
624 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
641 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
625 }
642 }
626 Method {
643 Method {
627 name: "axisX"
644 name: "axisX"
628 type: "QAbstractAxis*"
645 type: "QAbstractAxis*"
629 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
646 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
630 }
647 }
631 Method { name: "axisX"; type: "QAbstractAxis*" }
648 Method { name: "axisX"; type: "QAbstractAxis*" }
632 Method {
649 Method {
633 name: "axisY"
650 name: "axisY"
634 type: "QAbstractAxis*"
651 type: "QAbstractAxis*"
635 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
652 Parameter { name: "series"; type: "QAbstractSeries"; isPointer: true }
636 }
653 }
637 Method { name: "axisY"; type: "QAbstractAxis*" }
654 Method { name: "axisY"; type: "QAbstractAxis*" }
638 Method {
655 Method {
639 name: "zoom"
656 name: "zoom"
640 Parameter { name: "factor"; type: "double" }
657 Parameter { name: "factor"; type: "double" }
641 }
658 }
642 Method {
659 Method {
643 name: "scrollLeft"
660 name: "scrollLeft"
644 Parameter { name: "pixels"; type: "double" }
661 Parameter { name: "pixels"; type: "double" }
645 }
662 }
646 Method {
663 Method {
647 name: "scrollRight"
664 name: "scrollRight"
648 Parameter { name: "pixels"; type: "double" }
665 Parameter { name: "pixels"; type: "double" }
649 }
666 }
650 Method {
667 Method {
651 name: "scrollUp"
668 name: "scrollUp"
652 Parameter { name: "pixels"; type: "double" }
669 Parameter { name: "pixels"; type: "double" }
653 }
670 }
654 Method {
671 Method {
655 name: "scrollDown"
672 name: "scrollDown"
656 Parameter { name: "pixels"; type: "double" }
673 Parameter { name: "pixels"; type: "double" }
657 }
674 }
658 }
675 }
659 Component {
676 Component {
660 name: "QtCharts::DeclarativeHorizontalBarSeries"
677 name: "QtCharts::DeclarativeHorizontalBarSeries"
661 defaultProperty: "seriesChildren"
678 defaultProperty: "seriesChildren"
662 prototype: "QtCharts::QHorizontalBarSeries"
679 prototype: "QtCharts::QHorizontalBarSeries"
663 exports: [
680 exports: [
664 "QtCharts/HorizontalBarSeries 1.1",
681 "QtCharts/HorizontalBarSeries 1.1",
665 "QtCharts/HorizontalBarSeries 1.2",
682 "QtCharts/HorizontalBarSeries 1.2",
666 "QtCharts/HorizontalBarSeries 2.0"
683 "QtCharts/HorizontalBarSeries 2.0"
667 ]
684 ]
668 exportMetaObjectRevisions: [1, 2, 2]
685 exportMetaObjectRevisions: [1, 2, 2]
669 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
686 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
670 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
687 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
671 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
688 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
672 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
689 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
673 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
690 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
674 Signal {
691 Signal {
675 name: "axisXChanged"
692 name: "axisXChanged"
676 revision: 1
693 revision: 1
677 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
694 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
678 }
695 }
679 Signal {
696 Signal {
680 name: "axisYChanged"
697 name: "axisYChanged"
681 revision: 1
698 revision: 1
682 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
699 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
683 }
700 }
684 Signal {
701 Signal {
685 name: "axisXTopChanged"
702 name: "axisXTopChanged"
686 revision: 2
703 revision: 2
687 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
704 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
688 }
705 }
689 Signal {
706 Signal {
690 name: "axisYRightChanged"
707 name: "axisYRightChanged"
691 revision: 2
708 revision: 2
692 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
709 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
693 }
710 }
694 Method {
711 Method {
695 name: "appendSeriesChildren"
712 name: "appendSeriesChildren"
696 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
713 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
697 Parameter { name: "element"; type: "QObject"; isPointer: true }
714 Parameter { name: "element"; type: "QObject"; isPointer: true }
698 }
715 }
699 Method {
716 Method {
700 name: "at"
717 name: "at"
701 type: "DeclarativeBarSet*"
718 type: "DeclarativeBarSet*"
702 Parameter { name: "index"; type: "int" }
719 Parameter { name: "index"; type: "int" }
703 }
720 }
704 Method {
721 Method {
705 name: "append"
722 name: "append"
706 type: "DeclarativeBarSet*"
723 type: "DeclarativeBarSet*"
707 Parameter { name: "label"; type: "string" }
724 Parameter { name: "label"; type: "string" }
708 Parameter { name: "values"; type: "QVariantList" }
725 Parameter { name: "values"; type: "QVariantList" }
709 }
726 }
710 Method {
727 Method {
711 name: "insert"
728 name: "insert"
712 type: "DeclarativeBarSet*"
729 type: "DeclarativeBarSet*"
713 Parameter { name: "index"; type: "int" }
730 Parameter { name: "index"; type: "int" }
714 Parameter { name: "label"; type: "string" }
731 Parameter { name: "label"; type: "string" }
715 Parameter { name: "values"; type: "QVariantList" }
732 Parameter { name: "values"; type: "QVariantList" }
716 }
733 }
717 Method {
734 Method {
718 name: "remove"
735 name: "remove"
719 type: "bool"
736 type: "bool"
720 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
737 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
721 }
738 }
722 Method { name: "clear" }
739 Method { name: "clear" }
723 }
740 }
724 Component {
741 Component {
725 name: "QtCharts::DeclarativeHorizontalPercentBarSeries"
742 name: "QtCharts::DeclarativeHorizontalPercentBarSeries"
726 defaultProperty: "seriesChildren"
743 defaultProperty: "seriesChildren"
727 prototype: "QtCharts::QHorizontalPercentBarSeries"
744 prototype: "QtCharts::QHorizontalPercentBarSeries"
728 exports: [
745 exports: [
729 "QtCharts/HorizontalPercentBarSeries 1.1",
746 "QtCharts/HorizontalPercentBarSeries 1.1",
730 "QtCharts/HorizontalPercentBarSeries 1.2",
747 "QtCharts/HorizontalPercentBarSeries 1.2",
731 "QtCharts/HorizontalPercentBarSeries 2.0"
748 "QtCharts/HorizontalPercentBarSeries 2.0"
732 ]
749 ]
733 exportMetaObjectRevisions: [1, 2, 2]
750 exportMetaObjectRevisions: [1, 2, 2]
734 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
751 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
735 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
752 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
736 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
753 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
737 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
754 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
738 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
755 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
739 Signal {
756 Signal {
740 name: "axisXChanged"
757 name: "axisXChanged"
741 revision: 1
758 revision: 1
742 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
759 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
743 }
760 }
744 Signal {
761 Signal {
745 name: "axisYChanged"
762 name: "axisYChanged"
746 revision: 1
763 revision: 1
747 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
764 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
748 }
765 }
749 Signal {
766 Signal {
750 name: "axisXTopChanged"
767 name: "axisXTopChanged"
751 revision: 2
768 revision: 2
752 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
769 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
753 }
770 }
754 Signal {
771 Signal {
755 name: "axisYRightChanged"
772 name: "axisYRightChanged"
756 revision: 2
773 revision: 2
757 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
774 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
758 }
775 }
759 Method {
776 Method {
760 name: "appendSeriesChildren"
777 name: "appendSeriesChildren"
761 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
778 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
762 Parameter { name: "element"; type: "QObject"; isPointer: true }
779 Parameter { name: "element"; type: "QObject"; isPointer: true }
763 }
780 }
764 Method {
781 Method {
765 name: "at"
782 name: "at"
766 type: "DeclarativeBarSet*"
783 type: "DeclarativeBarSet*"
767 Parameter { name: "index"; type: "int" }
784 Parameter { name: "index"; type: "int" }
768 }
785 }
769 Method {
786 Method {
770 name: "append"
787 name: "append"
771 type: "DeclarativeBarSet*"
788 type: "DeclarativeBarSet*"
772 Parameter { name: "label"; type: "string" }
789 Parameter { name: "label"; type: "string" }
773 Parameter { name: "values"; type: "QVariantList" }
790 Parameter { name: "values"; type: "QVariantList" }
774 }
791 }
775 Method {
792 Method {
776 name: "insert"
793 name: "insert"
777 type: "DeclarativeBarSet*"
794 type: "DeclarativeBarSet*"
778 Parameter { name: "index"; type: "int" }
795 Parameter { name: "index"; type: "int" }
779 Parameter { name: "label"; type: "string" }
796 Parameter { name: "label"; type: "string" }
780 Parameter { name: "values"; type: "QVariantList" }
797 Parameter { name: "values"; type: "QVariantList" }
781 }
798 }
782 Method {
799 Method {
783 name: "remove"
800 name: "remove"
784 type: "bool"
801 type: "bool"
785 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
802 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
786 }
803 }
787 Method { name: "clear" }
804 Method { name: "clear" }
788 }
805 }
789 Component {
806 Component {
790 name: "QtCharts::DeclarativeHorizontalStackedBarSeries"
807 name: "QtCharts::DeclarativeHorizontalStackedBarSeries"
791 defaultProperty: "seriesChildren"
808 defaultProperty: "seriesChildren"
792 prototype: "QtCharts::QHorizontalStackedBarSeries"
809 prototype: "QtCharts::QHorizontalStackedBarSeries"
793 exports: [
810 exports: [
794 "QtCharts/HorizontalStackedBarSeries 1.1",
811 "QtCharts/HorizontalStackedBarSeries 1.1",
795 "QtCharts/HorizontalStackedBarSeries 1.2",
812 "QtCharts/HorizontalStackedBarSeries 1.2",
796 "QtCharts/HorizontalStackedBarSeries 2.0"
813 "QtCharts/HorizontalStackedBarSeries 2.0"
797 ]
814 ]
798 exportMetaObjectRevisions: [1, 2, 2]
815 exportMetaObjectRevisions: [1, 2, 2]
799 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
816 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
800 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
817 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
801 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
818 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
802 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
819 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
803 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
820 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
804 Signal {
821 Signal {
805 name: "axisXChanged"
822 name: "axisXChanged"
806 revision: 1
823 revision: 1
807 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
824 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
808 }
825 }
809 Signal {
826 Signal {
810 name: "axisYChanged"
827 name: "axisYChanged"
811 revision: 1
828 revision: 1
812 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
829 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
813 }
830 }
814 Signal {
831 Signal {
815 name: "axisXTopChanged"
832 name: "axisXTopChanged"
816 revision: 2
833 revision: 2
817 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
834 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
818 }
835 }
819 Signal {
836 Signal {
820 name: "axisYRightChanged"
837 name: "axisYRightChanged"
821 revision: 2
838 revision: 2
822 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
839 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
823 }
840 }
824 Method {
841 Method {
825 name: "appendSeriesChildren"
842 name: "appendSeriesChildren"
826 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
843 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
827 Parameter { name: "element"; type: "QObject"; isPointer: true }
844 Parameter { name: "element"; type: "QObject"; isPointer: true }
828 }
845 }
829 Method {
846 Method {
830 name: "at"
847 name: "at"
831 type: "DeclarativeBarSet*"
848 type: "DeclarativeBarSet*"
832 Parameter { name: "index"; type: "int" }
849 Parameter { name: "index"; type: "int" }
833 }
850 }
834 Method {
851 Method {
835 name: "append"
852 name: "append"
836 type: "DeclarativeBarSet*"
853 type: "DeclarativeBarSet*"
837 Parameter { name: "label"; type: "string" }
854 Parameter { name: "label"; type: "string" }
838 Parameter { name: "values"; type: "QVariantList" }
855 Parameter { name: "values"; type: "QVariantList" }
839 }
856 }
840 Method {
857 Method {
841 name: "insert"
858 name: "insert"
842 type: "DeclarativeBarSet*"
859 type: "DeclarativeBarSet*"
843 Parameter { name: "index"; type: "int" }
860 Parameter { name: "index"; type: "int" }
844 Parameter { name: "label"; type: "string" }
861 Parameter { name: "label"; type: "string" }
845 Parameter { name: "values"; type: "QVariantList" }
862 Parameter { name: "values"; type: "QVariantList" }
846 }
863 }
847 Method {
864 Method {
848 name: "remove"
865 name: "remove"
849 type: "bool"
866 type: "bool"
850 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
867 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
851 }
868 }
852 Method { name: "clear" }
869 Method { name: "clear" }
853 }
870 }
854 Component {
871 Component {
855 name: "QtCharts::DeclarativeLineSeries"
872 name: "QtCharts::DeclarativeLineSeries"
856 defaultProperty: "declarativeChildren"
873 defaultProperty: "declarativeChildren"
857 prototype: "QtCharts::QLineSeries"
874 prototype: "QtCharts::QLineSeries"
858 exports: [
875 exports: [
859 "QtCharts/LineSeries 1.0",
876 "QtCharts/LineSeries 1.0",
860 "QtCharts/LineSeries 1.1",
877 "QtCharts/LineSeries 1.1",
861 "QtCharts/LineSeries 1.2",
878 "QtCharts/LineSeries 1.2",
862 "QtCharts/LineSeries 1.3",
879 "QtCharts/LineSeries 1.3",
863 "QtCharts/LineSeries 2.0"
880 "QtCharts/LineSeries 2.0"
864 ]
881 ]
865 exportMetaObjectRevisions: [0, 1, 2, 3, 3]
882 exportMetaObjectRevisions: [0, 1, 2, 3, 3]
866 Property { name: "count"; type: "int"; isReadonly: true }
883 Property { name: "count"; type: "int"; isReadonly: true }
867 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
884 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
868 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
885 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
869 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
886 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
870 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
887 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
871 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
888 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
872 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
889 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
873 Property { name: "width"; revision: 1; type: "double" }
890 Property { name: "width"; revision: 1; type: "double" }
874 Property { name: "style"; revision: 1; type: "Qt::PenStyle" }
891 Property { name: "style"; revision: 1; type: "Qt::PenStyle" }
875 Property { name: "capStyle"; revision: 1; type: "Qt::PenCapStyle" }
892 Property { name: "capStyle"; revision: 1; type: "Qt::PenCapStyle" }
876 Property { name: "declarativeChildren"; type: "QObject"; isList: true; isReadonly: true }
893 Property { name: "declarativeChildren"; type: "QObject"; isList: true; isReadonly: true }
877 Signal {
894 Signal {
878 name: "countChanged"
895 name: "countChanged"
879 Parameter { name: "count"; type: "int" }
896 Parameter { name: "count"; type: "int" }
880 }
897 }
881 Signal {
898 Signal {
882 name: "axisXChanged"
899 name: "axisXChanged"
883 revision: 1
900 revision: 1
884 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
901 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
885 }
902 }
886 Signal {
903 Signal {
887 name: "axisYChanged"
904 name: "axisYChanged"
888 revision: 1
905 revision: 1
889 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
906 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
890 }
907 }
891 Signal {
908 Signal {
892 name: "axisXTopChanged"
909 name: "axisXTopChanged"
893 revision: 2
910 revision: 2
894 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
911 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
895 }
912 }
896 Signal {
913 Signal {
897 name: "axisYRightChanged"
914 name: "axisYRightChanged"
898 revision: 2
915 revision: 2
899 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
916 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
900 }
917 }
901 Signal {
918 Signal {
902 name: "axisAngularChanged"
919 name: "axisAngularChanged"
903 revision: 3
920 revision: 3
904 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
921 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
905 }
922 }
906 Signal {
923 Signal {
907 name: "axisRadialChanged"
924 name: "axisRadialChanged"
908 revision: 3
925 revision: 3
909 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
926 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
910 }
927 }
911 Signal {
928 Signal {
912 name: "widthChanged"
929 name: "widthChanged"
913 revision: 1
930 revision: 1
914 Parameter { name: "width"; type: "double" }
931 Parameter { name: "width"; type: "double" }
915 }
932 }
916 Signal {
933 Signal {
917 name: "styleChanged"
934 name: "styleChanged"
918 revision: 1
935 revision: 1
919 Parameter { name: "style"; type: "Qt::PenStyle" }
936 Parameter { name: "style"; type: "Qt::PenStyle" }
920 }
937 }
921 Signal {
938 Signal {
922 name: "capStyleChanged"
939 name: "capStyleChanged"
923 revision: 1
940 revision: 1
924 Parameter { name: "capStyle"; type: "Qt::PenCapStyle" }
941 Parameter { name: "capStyle"; type: "Qt::PenCapStyle" }
925 }
942 }
926 Method {
943 Method {
927 name: "appendDeclarativeChildren"
944 name: "appendDeclarativeChildren"
928 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
945 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
929 Parameter { name: "element"; type: "QObject"; isPointer: true }
946 Parameter { name: "element"; type: "QObject"; isPointer: true }
930 }
947 }
931 Method {
948 Method {
932 name: "handleCountChanged"
949 name: "handleCountChanged"
933 Parameter { name: "index"; type: "int" }
950 Parameter { name: "index"; type: "int" }
934 }
951 }
935 Method {
952 Method {
936 name: "append"
953 name: "append"
937 Parameter { name: "x"; type: "double" }
954 Parameter { name: "x"; type: "double" }
938 Parameter { name: "y"; type: "double" }
955 Parameter { name: "y"; type: "double" }
939 }
956 }
940 Method {
957 Method {
941 name: "replace"
958 name: "replace"
942 Parameter { name: "oldX"; type: "double" }
959 Parameter { name: "oldX"; type: "double" }
943 Parameter { name: "oldY"; type: "double" }
960 Parameter { name: "oldY"; type: "double" }
944 Parameter { name: "newX"; type: "double" }
961 Parameter { name: "newX"; type: "double" }
945 Parameter { name: "newY"; type: "double" }
962 Parameter { name: "newY"; type: "double" }
946 }
963 }
947 Method {
964 Method {
948 name: "replace"
965 name: "replace"
949 revision: 3
966 revision: 3
950 Parameter { name: "index"; type: "int" }
967 Parameter { name: "index"; type: "int" }
951 Parameter { name: "newX"; type: "double" }
968 Parameter { name: "newX"; type: "double" }
952 Parameter { name: "newY"; type: "double" }
969 Parameter { name: "newY"; type: "double" }
953 }
970 }
954 Method {
971 Method {
955 name: "remove"
972 name: "remove"
956 Parameter { name: "x"; type: "double" }
973 Parameter { name: "x"; type: "double" }
957 Parameter { name: "y"; type: "double" }
974 Parameter { name: "y"; type: "double" }
958 }
975 }
959 Method {
976 Method {
960 name: "remove"
977 name: "remove"
961 revision: 3
978 revision: 3
962 Parameter { name: "index"; type: "int" }
979 Parameter { name: "index"; type: "int" }
963 }
980 }
964 Method {
981 Method {
965 name: "insert"
982 name: "insert"
966 Parameter { name: "index"; type: "int" }
983 Parameter { name: "index"; type: "int" }
967 Parameter { name: "x"; type: "double" }
984 Parameter { name: "x"; type: "double" }
968 Parameter { name: "y"; type: "double" }
985 Parameter { name: "y"; type: "double" }
969 }
986 }
970 Method { name: "clear" }
987 Method { name: "clear" }
971 Method {
988 Method {
972 name: "at"
989 name: "at"
973 type: "QPointF"
990 type: "QPointF"
974 Parameter { name: "index"; type: "int" }
991 Parameter { name: "index"; type: "int" }
975 }
992 }
976 }
993 }
977 Component {
994 Component {
978 name: "QtCharts::DeclarativeMargins"
995 name: "QtCharts::DeclarativeMargins"
979 prototype: "QObject"
996 prototype: "QObject"
980 exports: ["QtCharts/Margins 1.1", "QtCharts/Margins 2.0"]
997 exports: ["QtCharts/Margins 1.1", "QtCharts/Margins 2.0"]
981 isCreatable: false
998 isCreatable: false
982 exportMetaObjectRevisions: [0, 0]
999 exportMetaObjectRevisions: [0, 0]
983 Property { name: "top"; type: "int" }
1000 Property { name: "top"; type: "int" }
984 Property { name: "bottom"; type: "int" }
1001 Property { name: "bottom"; type: "int" }
985 Property { name: "left"; type: "int" }
1002 Property { name: "left"; type: "int" }
986 Property { name: "right"; type: "int" }
1003 Property { name: "right"; type: "int" }
987 Signal {
1004 Signal {
988 name: "topChanged"
1005 name: "topChanged"
989 Parameter { name: "top"; type: "int" }
1006 Parameter { name: "top"; type: "int" }
990 Parameter { name: "bottom"; type: "int" }
1007 Parameter { name: "bottom"; type: "int" }
991 Parameter { name: "left"; type: "int" }
1008 Parameter { name: "left"; type: "int" }
992 Parameter { name: "right"; type: "int" }
1009 Parameter { name: "right"; type: "int" }
993 }
1010 }
994 Signal {
1011 Signal {
995 name: "bottomChanged"
1012 name: "bottomChanged"
996 Parameter { name: "top"; type: "int" }
1013 Parameter { name: "top"; type: "int" }
997 Parameter { name: "bottom"; type: "int" }
1014 Parameter { name: "bottom"; type: "int" }
998 Parameter { name: "left"; type: "int" }
1015 Parameter { name: "left"; type: "int" }
999 Parameter { name: "right"; type: "int" }
1016 Parameter { name: "right"; type: "int" }
1000 }
1017 }
1001 Signal {
1018 Signal {
1002 name: "leftChanged"
1019 name: "leftChanged"
1003 Parameter { name: "top"; type: "int" }
1020 Parameter { name: "top"; type: "int" }
1004 Parameter { name: "bottom"; type: "int" }
1021 Parameter { name: "bottom"; type: "int" }
1005 Parameter { name: "left"; type: "int" }
1022 Parameter { name: "left"; type: "int" }
1006 Parameter { name: "right"; type: "int" }
1023 Parameter { name: "right"; type: "int" }
1007 }
1024 }
1008 Signal {
1025 Signal {
1009 name: "rightChanged"
1026 name: "rightChanged"
1010 Parameter { name: "top"; type: "int" }
1027 Parameter { name: "top"; type: "int" }
1011 Parameter { name: "bottom"; type: "int" }
1028 Parameter { name: "bottom"; type: "int" }
1012 Parameter { name: "left"; type: "int" }
1029 Parameter { name: "left"; type: "int" }
1013 Parameter { name: "right"; type: "int" }
1030 Parameter { name: "right"; type: "int" }
1014 }
1031 }
1015 }
1032 }
1016 Component {
1033 Component {
1017 name: "QtCharts::DeclarativePercentBarSeries"
1034 name: "QtCharts::DeclarativePercentBarSeries"
1018 defaultProperty: "seriesChildren"
1035 defaultProperty: "seriesChildren"
1019 prototype: "QtCharts::QPercentBarSeries"
1036 prototype: "QtCharts::QPercentBarSeries"
1020 exports: [
1037 exports: [
1021 "QtCharts/PercentBarSeries 1.0",
1038 "QtCharts/PercentBarSeries 1.0",
1022 "QtCharts/PercentBarSeries 1.1",
1039 "QtCharts/PercentBarSeries 1.1",
1023 "QtCharts/PercentBarSeries 1.2",
1040 "QtCharts/PercentBarSeries 1.2",
1024 "QtCharts/PercentBarSeries 2.0"
1041 "QtCharts/PercentBarSeries 2.0"
1025 ]
1042 ]
1026 exportMetaObjectRevisions: [0, 1, 2, 2]
1043 exportMetaObjectRevisions: [0, 1, 2, 2]
1027 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1044 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1028 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1045 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1029 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1046 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1030 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1047 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1031 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
1048 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
1032 Signal {
1049 Signal {
1033 name: "axisXChanged"
1050 name: "axisXChanged"
1034 revision: 1
1051 revision: 1
1035 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1052 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1036 }
1053 }
1037 Signal {
1054 Signal {
1038 name: "axisYChanged"
1055 name: "axisYChanged"
1039 revision: 1
1056 revision: 1
1040 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1057 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1041 }
1058 }
1042 Signal {
1059 Signal {
1043 name: "axisXTopChanged"
1060 name: "axisXTopChanged"
1044 revision: 2
1061 revision: 2
1045 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1062 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1046 }
1063 }
1047 Signal {
1064 Signal {
1048 name: "axisYRightChanged"
1065 name: "axisYRightChanged"
1049 revision: 2
1066 revision: 2
1050 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1067 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1051 }
1068 }
1052 Method {
1069 Method {
1053 name: "appendSeriesChildren"
1070 name: "appendSeriesChildren"
1054 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1071 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1055 Parameter { name: "element"; type: "QObject"; isPointer: true }
1072 Parameter { name: "element"; type: "QObject"; isPointer: true }
1056 }
1073 }
1057 Method {
1074 Method {
1058 name: "at"
1075 name: "at"
1059 type: "DeclarativeBarSet*"
1076 type: "DeclarativeBarSet*"
1060 Parameter { name: "index"; type: "int" }
1077 Parameter { name: "index"; type: "int" }
1061 }
1078 }
1062 Method {
1079 Method {
1063 name: "append"
1080 name: "append"
1064 type: "DeclarativeBarSet*"
1081 type: "DeclarativeBarSet*"
1065 Parameter { name: "label"; type: "string" }
1082 Parameter { name: "label"; type: "string" }
1066 Parameter { name: "values"; type: "QVariantList" }
1083 Parameter { name: "values"; type: "QVariantList" }
1067 }
1084 }
1068 Method {
1085 Method {
1069 name: "insert"
1086 name: "insert"
1070 type: "DeclarativeBarSet*"
1087 type: "DeclarativeBarSet*"
1071 Parameter { name: "index"; type: "int" }
1088 Parameter { name: "index"; type: "int" }
1072 Parameter { name: "label"; type: "string" }
1089 Parameter { name: "label"; type: "string" }
1073 Parameter { name: "values"; type: "QVariantList" }
1090 Parameter { name: "values"; type: "QVariantList" }
1074 }
1091 }
1075 Method {
1092 Method {
1076 name: "remove"
1093 name: "remove"
1077 type: "bool"
1094 type: "bool"
1078 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1095 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1079 }
1096 }
1080 Method { name: "clear" }
1097 Method { name: "clear" }
1081 }
1098 }
1082 Component {
1099 Component {
1083 name: "QtCharts::DeclarativePieSeries"
1100 name: "QtCharts::DeclarativePieSeries"
1084 defaultProperty: "seriesChildren"
1101 defaultProperty: "seriesChildren"
1085 prototype: "QtCharts::QPieSeries"
1102 prototype: "QtCharts::QPieSeries"
1086 exports: [
1103 exports: [
1087 "QtCharts/PieSeries 1.0",
1104 "QtCharts/PieSeries 1.0",
1088 "QtCharts/PieSeries 1.1",
1105 "QtCharts/PieSeries 1.1",
1089 "QtCharts/PieSeries 2.0"
1106 "QtCharts/PieSeries 2.0"
1090 ]
1107 ]
1091 exportMetaObjectRevisions: [0, 0, 0]
1108 exportMetaObjectRevisions: [0, 0, 0]
1092 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
1109 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
1093 Signal {
1110 Signal {
1094 name: "sliceAdded"
1111 name: "sliceAdded"
1095 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
1112 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
1096 }
1113 }
1097 Signal {
1114 Signal {
1098 name: "sliceRemoved"
1115 name: "sliceRemoved"
1099 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
1116 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
1100 }
1117 }
1101 Method {
1118 Method {
1102 name: "appendSeriesChildren"
1119 name: "appendSeriesChildren"
1103 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1120 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1104 Parameter { name: "element"; type: "QObject"; isPointer: true }
1121 Parameter { name: "element"; type: "QObject"; isPointer: true }
1105 }
1122 }
1106 Method {
1123 Method {
1107 name: "handleAdded"
1124 name: "handleAdded"
1108 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
1125 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
1109 }
1126 }
1110 Method {
1127 Method {
1111 name: "handleRemoved"
1128 name: "handleRemoved"
1112 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
1129 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
1113 }
1130 }
1114 Method {
1131 Method {
1115 name: "at"
1132 name: "at"
1116 type: "QPieSlice*"
1133 type: "QPieSlice*"
1117 Parameter { name: "index"; type: "int" }
1134 Parameter { name: "index"; type: "int" }
1118 }
1135 }
1119 Method {
1136 Method {
1120 name: "find"
1137 name: "find"
1121 type: "QPieSlice*"
1138 type: "QPieSlice*"
1122 Parameter { name: "label"; type: "string" }
1139 Parameter { name: "label"; type: "string" }
1123 }
1140 }
1124 Method {
1141 Method {
1125 name: "append"
1142 name: "append"
1126 type: "DeclarativePieSlice*"
1143 type: "DeclarativePieSlice*"
1127 Parameter { name: "label"; type: "string" }
1144 Parameter { name: "label"; type: "string" }
1128 Parameter { name: "value"; type: "double" }
1145 Parameter { name: "value"; type: "double" }
1129 }
1146 }
1130 Method {
1147 Method {
1131 name: "remove"
1148 name: "remove"
1132 type: "bool"
1149 type: "bool"
1133 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
1150 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
1134 }
1151 }
1135 Method { name: "clear" }
1152 Method { name: "clear" }
1136 }
1153 }
1137 Component {
1154 Component {
1138 name: "QtCharts::DeclarativePieSlice"
1155 name: "QtCharts::DeclarativePieSlice"
1139 prototype: "QtCharts::QPieSlice"
1156 prototype: "QtCharts::QPieSlice"
1140 exports: ["QtCharts/PieSlice 1.4", "QtCharts/PieSlice 2.0"]
1157 exports: ["QtCharts/PieSlice 1.4", "QtCharts/PieSlice 2.0"]
1141 exportMetaObjectRevisions: [0, 0]
1158 exportMetaObjectRevisions: [0, 0]
1142 Property { name: "brushFilename"; type: "string" }
1159 Property { name: "brushFilename"; type: "string" }
1143 Signal {
1160 Signal {
1144 name: "brushFilenameChanged"
1161 name: "brushFilenameChanged"
1145 Parameter { name: "brushFilename"; type: "string" }
1162 Parameter { name: "brushFilename"; type: "string" }
1146 }
1163 }
1147 }
1164 }
1148 Component {
1165 Component {
1149 name: "QtCharts::DeclarativePolarChart"
1166 name: "QtCharts::DeclarativePolarChart"
1150 defaultProperty: "data"
1167 defaultProperty: "data"
1151 prototype: "QtCharts::DeclarativeChart"
1168 prototype: "QtCharts::DeclarativeChart"
1152 exports: [
1169 exports: [
1153 "QtCharts/PolarChartView 1.3",
1170 "QtCharts/PolarChartView 1.3",
1154 "QtCharts/PolarChartView 2.0"
1171 "QtCharts/PolarChartView 2.0"
1155 ]
1172 ]
1156 exportMetaObjectRevisions: [1, 1]
1173 exportMetaObjectRevisions: [1, 1]
1157 }
1174 }
1158 Component {
1175 Component {
1159 name: "QtCharts::DeclarativeScatterSeries"
1176 name: "QtCharts::DeclarativeScatterSeries"
1160 defaultProperty: "declarativeChildren"
1177 defaultProperty: "declarativeChildren"
1161 prototype: "QtCharts::QScatterSeries"
1178 prototype: "QtCharts::QScatterSeries"
1162 exports: [
1179 exports: [
1163 "QtCharts/ScatterSeries 1.0",
1180 "QtCharts/ScatterSeries 1.0",
1164 "QtCharts/ScatterSeries 1.1",
1181 "QtCharts/ScatterSeries 1.1",
1165 "QtCharts/ScatterSeries 1.2",
1182 "QtCharts/ScatterSeries 1.2",
1166 "QtCharts/ScatterSeries 1.3",
1183 "QtCharts/ScatterSeries 1.3",
1167 "QtCharts/ScatterSeries 1.4",
1184 "QtCharts/ScatterSeries 1.4",
1168 "QtCharts/ScatterSeries 2.0"
1185 "QtCharts/ScatterSeries 2.0"
1169 ]
1186 ]
1170 exportMetaObjectRevisions: [0, 1, 2, 3, 4, 4]
1187 exportMetaObjectRevisions: [0, 1, 2, 3, 4, 4]
1171 Property { name: "count"; type: "int"; isReadonly: true }
1188 Property { name: "count"; type: "int"; isReadonly: true }
1172 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1189 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1173 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1190 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1174 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1191 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1175 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1192 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1176 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1193 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1177 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1194 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1178 Property { name: "borderWidth"; revision: 1; type: "double" }
1195 Property { name: "borderWidth"; revision: 1; type: "double" }
1179 Property { name: "declarativeChildren"; type: "QObject"; isList: true; isReadonly: true }
1196 Property { name: "declarativeChildren"; type: "QObject"; isList: true; isReadonly: true }
1180 Property { name: "brushFilename"; revision: 4; type: "string" }
1197 Property { name: "brushFilename"; revision: 4; type: "string" }
1181 Property { name: "brush"; revision: 4; type: "QBrush" }
1198 Property { name: "brush"; revision: 4; type: "QBrush" }
1182 Signal {
1199 Signal {
1183 name: "countChanged"
1200 name: "countChanged"
1184 Parameter { name: "count"; type: "int" }
1201 Parameter { name: "count"; type: "int" }
1185 }
1202 }
1186 Signal {
1203 Signal {
1187 name: "axisXChanged"
1204 name: "axisXChanged"
1188 revision: 1
1205 revision: 1
1189 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1206 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1190 }
1207 }
1191 Signal {
1208 Signal {
1192 name: "axisYChanged"
1209 name: "axisYChanged"
1193 revision: 1
1210 revision: 1
1194 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1211 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1195 }
1212 }
1196 Signal {
1213 Signal {
1197 name: "borderWidthChanged"
1214 name: "borderWidthChanged"
1198 revision: 1
1215 revision: 1
1199 Parameter { name: "width"; type: "double" }
1216 Parameter { name: "width"; type: "double" }
1200 }
1217 }
1201 Signal {
1218 Signal {
1202 name: "axisXTopChanged"
1219 name: "axisXTopChanged"
1203 revision: 2
1220 revision: 2
1204 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1221 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1205 }
1222 }
1206 Signal {
1223 Signal {
1207 name: "axisYRightChanged"
1224 name: "axisYRightChanged"
1208 revision: 2
1225 revision: 2
1209 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1226 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1210 }
1227 }
1211 Signal {
1228 Signal {
1212 name: "axisAngularChanged"
1229 name: "axisAngularChanged"
1213 revision: 3
1230 revision: 3
1214 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1231 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1215 }
1232 }
1216 Signal {
1233 Signal {
1217 name: "axisRadialChanged"
1234 name: "axisRadialChanged"
1218 revision: 3
1235 revision: 3
1219 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1236 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1220 }
1237 }
1221 Signal {
1238 Signal {
1222 name: "brushFilenameChanged"
1239 name: "brushFilenameChanged"
1223 revision: 4
1240 revision: 4
1224 Parameter { name: "brushFilename"; type: "string" }
1241 Parameter { name: "brushFilename"; type: "string" }
1225 }
1242 }
1226 Signal { name: "brushChanged"; revision: 4 }
1243 Signal { name: "brushChanged"; revision: 4 }
1227 Method {
1244 Method {
1228 name: "appendDeclarativeChildren"
1245 name: "appendDeclarativeChildren"
1229 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1246 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1230 Parameter { name: "element"; type: "QObject"; isPointer: true }
1247 Parameter { name: "element"; type: "QObject"; isPointer: true }
1231 }
1248 }
1232 Method {
1249 Method {
1233 name: "handleCountChanged"
1250 name: "handleCountChanged"
1234 Parameter { name: "index"; type: "int" }
1251 Parameter { name: "index"; type: "int" }
1235 }
1252 }
1236 Method {
1253 Method {
1237 name: "append"
1254 name: "append"
1238 Parameter { name: "x"; type: "double" }
1255 Parameter { name: "x"; type: "double" }
1239 Parameter { name: "y"; type: "double" }
1256 Parameter { name: "y"; type: "double" }
1240 }
1257 }
1241 Method {
1258 Method {
1242 name: "replace"
1259 name: "replace"
1243 Parameter { name: "oldX"; type: "double" }
1260 Parameter { name: "oldX"; type: "double" }
1244 Parameter { name: "oldY"; type: "double" }
1261 Parameter { name: "oldY"; type: "double" }
1245 Parameter { name: "newX"; type: "double" }
1262 Parameter { name: "newX"; type: "double" }
1246 Parameter { name: "newY"; type: "double" }
1263 Parameter { name: "newY"; type: "double" }
1247 }
1264 }
1248 Method {
1265 Method {
1249 name: "replace"
1266 name: "replace"
1250 revision: 3
1267 revision: 3
1251 Parameter { name: "index"; type: "int" }
1268 Parameter { name: "index"; type: "int" }
1252 Parameter { name: "newX"; type: "double" }
1269 Parameter { name: "newX"; type: "double" }
1253 Parameter { name: "newY"; type: "double" }
1270 Parameter { name: "newY"; type: "double" }
1254 }
1271 }
1255 Method {
1272 Method {
1256 name: "remove"
1273 name: "remove"
1257 Parameter { name: "x"; type: "double" }
1274 Parameter { name: "x"; type: "double" }
1258 Parameter { name: "y"; type: "double" }
1275 Parameter { name: "y"; type: "double" }
1259 }
1276 }
1260 Method {
1277 Method {
1261 name: "remove"
1278 name: "remove"
1262 revision: 3
1279 revision: 3
1263 Parameter { name: "index"; type: "int" }
1280 Parameter { name: "index"; type: "int" }
1264 }
1281 }
1265 Method {
1282 Method {
1266 name: "insert"
1283 name: "insert"
1267 Parameter { name: "index"; type: "int" }
1284 Parameter { name: "index"; type: "int" }
1268 Parameter { name: "x"; type: "double" }
1285 Parameter { name: "x"; type: "double" }
1269 Parameter { name: "y"; type: "double" }
1286 Parameter { name: "y"; type: "double" }
1270 }
1287 }
1271 Method { name: "clear" }
1288 Method { name: "clear" }
1272 Method {
1289 Method {
1273 name: "at"
1290 name: "at"
1274 type: "QPointF"
1291 type: "QPointF"
1275 Parameter { name: "index"; type: "int" }
1292 Parameter { name: "index"; type: "int" }
1276 }
1293 }
1277 }
1294 }
1278 Component {
1295 Component {
1279 name: "QtCharts::DeclarativeSplineSeries"
1296 name: "QtCharts::DeclarativeSplineSeries"
1280 defaultProperty: "declarativeChildren"
1297 defaultProperty: "declarativeChildren"
1281 prototype: "QtCharts::QSplineSeries"
1298 prototype: "QtCharts::QSplineSeries"
1282 exports: [
1299 exports: [
1283 "QtCharts/SplineSeries 1.0",
1300 "QtCharts/SplineSeries 1.0",
1284 "QtCharts/SplineSeries 1.1",
1301 "QtCharts/SplineSeries 1.1",
1285 "QtCharts/SplineSeries 1.2",
1302 "QtCharts/SplineSeries 1.2",
1286 "QtCharts/SplineSeries 1.3",
1303 "QtCharts/SplineSeries 1.3",
1287 "QtCharts/SplineSeries 2.0"
1304 "QtCharts/SplineSeries 2.0"
1288 ]
1305 ]
1289 exportMetaObjectRevisions: [0, 1, 2, 3, 3]
1306 exportMetaObjectRevisions: [0, 1, 2, 3, 3]
1290 Property { name: "count"; type: "int"; isReadonly: true }
1307 Property { name: "count"; type: "int"; isReadonly: true }
1291 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1308 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1292 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1309 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1293 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1310 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1294 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1311 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1295 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1312 Property { name: "axisAngular"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1296 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1313 Property { name: "axisRadial"; revision: 3; type: "QAbstractAxis"; isPointer: true }
1297 Property { name: "width"; revision: 1; type: "double" }
1314 Property { name: "width"; revision: 1; type: "double" }
1298 Property { name: "style"; revision: 1; type: "Qt::PenStyle" }
1315 Property { name: "style"; revision: 1; type: "Qt::PenStyle" }
1299 Property { name: "capStyle"; revision: 1; type: "Qt::PenCapStyle" }
1316 Property { name: "capStyle"; revision: 1; type: "Qt::PenCapStyle" }
1300 Property { name: "declarativeChildren"; type: "QObject"; isList: true; isReadonly: true }
1317 Property { name: "declarativeChildren"; type: "QObject"; isList: true; isReadonly: true }
1301 Signal {
1318 Signal {
1302 name: "countChanged"
1319 name: "countChanged"
1303 Parameter { name: "count"; type: "int" }
1320 Parameter { name: "count"; type: "int" }
1304 }
1321 }
1305 Signal {
1322 Signal {
1306 name: "axisXChanged"
1323 name: "axisXChanged"
1307 revision: 1
1324 revision: 1
1308 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1325 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1309 }
1326 }
1310 Signal {
1327 Signal {
1311 name: "axisYChanged"
1328 name: "axisYChanged"
1312 revision: 1
1329 revision: 1
1313 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1330 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1314 }
1331 }
1315 Signal {
1332 Signal {
1316 name: "axisXTopChanged"
1333 name: "axisXTopChanged"
1317 revision: 2
1334 revision: 2
1318 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1335 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1319 }
1336 }
1320 Signal {
1337 Signal {
1321 name: "axisYRightChanged"
1338 name: "axisYRightChanged"
1322 revision: 2
1339 revision: 2
1323 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1340 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1324 }
1341 }
1325 Signal {
1342 Signal {
1326 name: "axisAngularChanged"
1343 name: "axisAngularChanged"
1327 revision: 3
1344 revision: 3
1328 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1345 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1329 }
1346 }
1330 Signal {
1347 Signal {
1331 name: "axisRadialChanged"
1348 name: "axisRadialChanged"
1332 revision: 3
1349 revision: 3
1333 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1350 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1334 }
1351 }
1335 Signal {
1352 Signal {
1336 name: "widthChanged"
1353 name: "widthChanged"
1337 revision: 1
1354 revision: 1
1338 Parameter { name: "width"; type: "double" }
1355 Parameter { name: "width"; type: "double" }
1339 }
1356 }
1340 Signal {
1357 Signal {
1341 name: "styleChanged"
1358 name: "styleChanged"
1342 revision: 1
1359 revision: 1
1343 Parameter { name: "style"; type: "Qt::PenStyle" }
1360 Parameter { name: "style"; type: "Qt::PenStyle" }
1344 }
1361 }
1345 Signal {
1362 Signal {
1346 name: "capStyleChanged"
1363 name: "capStyleChanged"
1347 revision: 1
1364 revision: 1
1348 Parameter { name: "capStyle"; type: "Qt::PenCapStyle" }
1365 Parameter { name: "capStyle"; type: "Qt::PenCapStyle" }
1349 }
1366 }
1350 Method {
1367 Method {
1351 name: "appendDeclarativeChildren"
1368 name: "appendDeclarativeChildren"
1352 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1369 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1353 Parameter { name: "element"; type: "QObject"; isPointer: true }
1370 Parameter { name: "element"; type: "QObject"; isPointer: true }
1354 }
1371 }
1355 Method {
1372 Method {
1356 name: "handleCountChanged"
1373 name: "handleCountChanged"
1357 Parameter { name: "index"; type: "int" }
1374 Parameter { name: "index"; type: "int" }
1358 }
1375 }
1359 Method {
1376 Method {
1360 name: "append"
1377 name: "append"
1361 Parameter { name: "x"; type: "double" }
1378 Parameter { name: "x"; type: "double" }
1362 Parameter { name: "y"; type: "double" }
1379 Parameter { name: "y"; type: "double" }
1363 }
1380 }
1364 Method {
1381 Method {
1365 name: "replace"
1382 name: "replace"
1366 Parameter { name: "oldX"; type: "double" }
1383 Parameter { name: "oldX"; type: "double" }
1367 Parameter { name: "oldY"; type: "double" }
1384 Parameter { name: "oldY"; type: "double" }
1368 Parameter { name: "newX"; type: "double" }
1385 Parameter { name: "newX"; type: "double" }
1369 Parameter { name: "newY"; type: "double" }
1386 Parameter { name: "newY"; type: "double" }
1370 }
1387 }
1371 Method {
1388 Method {
1372 name: "replace"
1389 name: "replace"
1373 revision: 3
1390 revision: 3
1374 Parameter { name: "index"; type: "int" }
1391 Parameter { name: "index"; type: "int" }
1375 Parameter { name: "newX"; type: "double" }
1392 Parameter { name: "newX"; type: "double" }
1376 Parameter { name: "newY"; type: "double" }
1393 Parameter { name: "newY"; type: "double" }
1377 }
1394 }
1378 Method {
1395 Method {
1379 name: "remove"
1396 name: "remove"
1380 Parameter { name: "x"; type: "double" }
1397 Parameter { name: "x"; type: "double" }
1381 Parameter { name: "y"; type: "double" }
1398 Parameter { name: "y"; type: "double" }
1382 }
1399 }
1383 Method {
1400 Method {
1384 name: "remove"
1401 name: "remove"
1385 revision: 3
1402 revision: 3
1386 Parameter { name: "index"; type: "int" }
1403 Parameter { name: "index"; type: "int" }
1387 }
1404 }
1388 Method {
1405 Method {
1389 name: "insert"
1406 name: "insert"
1390 Parameter { name: "index"; type: "int" }
1407 Parameter { name: "index"; type: "int" }
1391 Parameter { name: "x"; type: "double" }
1408 Parameter { name: "x"; type: "double" }
1392 Parameter { name: "y"; type: "double" }
1409 Parameter { name: "y"; type: "double" }
1393 }
1410 }
1394 Method { name: "clear" }
1411 Method { name: "clear" }
1395 Method {
1412 Method {
1396 name: "at"
1413 name: "at"
1397 type: "QPointF"
1414 type: "QPointF"
1398 Parameter { name: "index"; type: "int" }
1415 Parameter { name: "index"; type: "int" }
1399 }
1416 }
1400 }
1417 }
1401 Component {
1418 Component {
1402 name: "QtCharts::DeclarativeStackedBarSeries"
1419 name: "QtCharts::DeclarativeStackedBarSeries"
1403 defaultProperty: "seriesChildren"
1420 defaultProperty: "seriesChildren"
1404 prototype: "QtCharts::QStackedBarSeries"
1421 prototype: "QtCharts::QStackedBarSeries"
1405 exports: [
1422 exports: [
1406 "QtCharts/StackedBarSeries 1.0",
1423 "QtCharts/StackedBarSeries 1.0",
1407 "QtCharts/StackedBarSeries 1.1",
1424 "QtCharts/StackedBarSeries 1.1",
1408 "QtCharts/StackedBarSeries 1.2",
1425 "QtCharts/StackedBarSeries 1.2",
1409 "QtCharts/StackedBarSeries 2.0"
1426 "QtCharts/StackedBarSeries 2.0"
1410 ]
1427 ]
1411 exportMetaObjectRevisions: [0, 1, 2, 2]
1428 exportMetaObjectRevisions: [0, 1, 2, 2]
1412 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1429 Property { name: "axisX"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1413 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1430 Property { name: "axisY"; revision: 1; type: "QAbstractAxis"; isPointer: true }
1414 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1431 Property { name: "axisXTop"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1415 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1432 Property { name: "axisYRight"; revision: 2; type: "QAbstractAxis"; isPointer: true }
1416 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
1433 Property { name: "seriesChildren"; type: "QObject"; isList: true; isReadonly: true }
1417 Signal {
1434 Signal {
1418 name: "axisXChanged"
1435 name: "axisXChanged"
1419 revision: 1
1436 revision: 1
1420 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1437 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1421 }
1438 }
1422 Signal {
1439 Signal {
1423 name: "axisYChanged"
1440 name: "axisYChanged"
1424 revision: 1
1441 revision: 1
1425 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1442 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1426 }
1443 }
1427 Signal {
1444 Signal {
1428 name: "axisXTopChanged"
1445 name: "axisXTopChanged"
1429 revision: 2
1446 revision: 2
1430 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1447 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1431 }
1448 }
1432 Signal {
1449 Signal {
1433 name: "axisYRightChanged"
1450 name: "axisYRightChanged"
1434 revision: 2
1451 revision: 2
1435 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1452 Parameter { name: "axis"; type: "QAbstractAxis"; isPointer: true }
1436 }
1453 }
1437 Method {
1454 Method {
1438 name: "appendSeriesChildren"
1455 name: "appendSeriesChildren"
1439 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1456 Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
1440 Parameter { name: "element"; type: "QObject"; isPointer: true }
1457 Parameter { name: "element"; type: "QObject"; isPointer: true }
1441 }
1458 }
1442 Method {
1459 Method {
1443 name: "at"
1460 name: "at"
1444 type: "DeclarativeBarSet*"
1461 type: "DeclarativeBarSet*"
1445 Parameter { name: "index"; type: "int" }
1462 Parameter { name: "index"; type: "int" }
1446 }
1463 }
1447 Method {
1464 Method {
1448 name: "append"
1465 name: "append"
1449 type: "DeclarativeBarSet*"
1466 type: "DeclarativeBarSet*"
1450 Parameter { name: "label"; type: "string" }
1467 Parameter { name: "label"; type: "string" }
1451 Parameter { name: "values"; type: "QVariantList" }
1468 Parameter { name: "values"; type: "QVariantList" }
1452 }
1469 }
1453 Method {
1470 Method {
1454 name: "insert"
1471 name: "insert"
1455 type: "DeclarativeBarSet*"
1472 type: "DeclarativeBarSet*"
1456 Parameter { name: "index"; type: "int" }
1473 Parameter { name: "index"; type: "int" }
1457 Parameter { name: "label"; type: "string" }
1474 Parameter { name: "label"; type: "string" }
1458 Parameter { name: "values"; type: "QVariantList" }
1475 Parameter { name: "values"; type: "QVariantList" }
1459 }
1476 }
1460 Method {
1477 Method {
1461 name: "remove"
1478 name: "remove"
1462 type: "bool"
1479 type: "bool"
1463 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1480 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1464 }
1481 }
1465 Method { name: "clear" }
1482 Method { name: "clear" }
1466 }
1483 }
1467 Component {
1484 Component {
1468 name: "QtCharts::DeclarativeXYPoint"
1485 name: "QtCharts::DeclarativeXYPoint"
1469 prototype: "QObject"
1486 prototype: "QObject"
1470 exports: ["QtCharts/XYPoint 1.0", "QtCharts/XYPoint 2.0"]
1487 exports: ["QtCharts/XYPoint 1.0", "QtCharts/XYPoint 2.0"]
1471 exportMetaObjectRevisions: [0, 0]
1488 exportMetaObjectRevisions: [0, 0]
1472 Property { name: "x"; type: "double" }
1489 Property { name: "x"; type: "double" }
1473 Property { name: "y"; type: "double" }
1490 Property { name: "y"; type: "double" }
1474 }
1491 }
1475 Component {
1492 Component {
1476 name: "QtCharts::LegendScroller"
1493 name: "QtCharts::LegendScroller"
1477 defaultProperty: "children"
1494 defaultProperty: "children"
1478 prototype: "QtCharts::QLegend"
1495 prototype: "QtCharts::QLegend"
1479 }
1496 }
1480 Component {
1497 Component {
1481 name: "QtCharts::QAbstractAxis"
1498 name: "QtCharts::QAbstractAxis"
1482 prototype: "QObject"
1499 prototype: "QObject"
1483 exports: ["QtCharts/AbstractAxis 1.0", "QtCharts/AbstractAxis 2.0"]
1500 exports: ["QtCharts/AbstractAxis 1.0", "QtCharts/AbstractAxis 2.0"]
1484 isCreatable: false
1501 isCreatable: false
1485 exportMetaObjectRevisions: [0, 0]
1502 exportMetaObjectRevisions: [0, 0]
1486 Property { name: "visible"; type: "bool" }
1503 Property { name: "visible"; type: "bool" }
1487 Property { name: "lineVisible"; type: "bool" }
1504 Property { name: "lineVisible"; type: "bool" }
1488 Property { name: "linePen"; type: "QPen" }
1505 Property { name: "linePen"; type: "QPen" }
1489 Property { name: "color"; type: "QColor" }
1506 Property { name: "color"; type: "QColor" }
1490 Property { name: "labelsVisible"; type: "bool" }
1507 Property { name: "labelsVisible"; type: "bool" }
1491 Property { name: "labelsBrush"; type: "QBrush" }
1508 Property { name: "labelsBrush"; type: "QBrush" }
1492 Property { name: "labelsAngle"; type: "int" }
1509 Property { name: "labelsAngle"; type: "int" }
1493 Property { name: "labelsFont"; type: "QFont" }
1510 Property { name: "labelsFont"; type: "QFont" }
1494 Property { name: "labelsColor"; type: "QColor" }
1511 Property { name: "labelsColor"; type: "QColor" }
1495 Property { name: "gridVisible"; type: "bool" }
1512 Property { name: "gridVisible"; type: "bool" }
1496 Property { name: "gridLinePen"; type: "QPen" }
1513 Property { name: "gridLinePen"; type: "QPen" }
1497 Property { name: "shadesVisible"; type: "bool" }
1514 Property { name: "shadesVisible"; type: "bool" }
1498 Property { name: "shadesColor"; type: "QColor" }
1515 Property { name: "shadesColor"; type: "QColor" }
1499 Property { name: "shadesBorderColor"; type: "QColor" }
1516 Property { name: "shadesBorderColor"; type: "QColor" }
1500 Property { name: "shadesPen"; type: "QPen" }
1517 Property { name: "shadesPen"; type: "QPen" }
1501 Property { name: "shadesBrush"; type: "QBrush" }
1518 Property { name: "shadesBrush"; type: "QBrush" }
1502 Property { name: "titleText"; type: "string" }
1519 Property { name: "titleText"; type: "string" }
1503 Property { name: "titleBrush"; type: "QBrush" }
1520 Property { name: "titleBrush"; type: "QBrush" }
1504 Property { name: "titleVisible"; type: "bool" }
1521 Property { name: "titleVisible"; type: "bool" }
1505 Property { name: "titleFont"; type: "QFont" }
1522 Property { name: "titleFont"; type: "QFont" }
1506 Property { name: "orientation"; type: "Qt::Orientation"; isReadonly: true }
1523 Property { name: "orientation"; type: "Qt::Orientation"; isReadonly: true }
1507 Property { name: "alignment"; type: "Qt::Alignment"; isReadonly: true }
1524 Property { name: "alignment"; type: "Qt::Alignment"; isReadonly: true }
1508 Signal {
1525 Signal {
1509 name: "visibleChanged"
1526 name: "visibleChanged"
1510 Parameter { name: "visible"; type: "bool" }
1527 Parameter { name: "visible"; type: "bool" }
1511 }
1528 }
1512 Signal {
1529 Signal {
1513 name: "linePenChanged"
1530 name: "linePenChanged"
1514 Parameter { name: "pen"; type: "QPen" }
1531 Parameter { name: "pen"; type: "QPen" }
1515 }
1532 }
1516 Signal {
1533 Signal {
1517 name: "lineVisibleChanged"
1534 name: "lineVisibleChanged"
1518 Parameter { name: "visible"; type: "bool" }
1535 Parameter { name: "visible"; type: "bool" }
1519 }
1536 }
1520 Signal {
1537 Signal {
1521 name: "labelsVisibleChanged"
1538 name: "labelsVisibleChanged"
1522 Parameter { name: "visible"; type: "bool" }
1539 Parameter { name: "visible"; type: "bool" }
1523 }
1540 }
1524 Signal {
1541 Signal {
1525 name: "labelsBrushChanged"
1542 name: "labelsBrushChanged"
1526 Parameter { name: "brush"; type: "QBrush" }
1543 Parameter { name: "brush"; type: "QBrush" }
1527 }
1544 }
1528 Signal {
1545 Signal {
1529 name: "labelsFontChanged"
1546 name: "labelsFontChanged"
1530 Parameter { name: "pen"; type: "QFont" }
1547 Parameter { name: "pen"; type: "QFont" }
1531 }
1548 }
1532 Signal {
1549 Signal {
1533 name: "labelsAngleChanged"
1550 name: "labelsAngleChanged"
1534 Parameter { name: "angle"; type: "int" }
1551 Parameter { name: "angle"; type: "int" }
1535 }
1552 }
1536 Signal {
1553 Signal {
1537 name: "gridLinePenChanged"
1554 name: "gridLinePenChanged"
1538 Parameter { name: "pen"; type: "QPen" }
1555 Parameter { name: "pen"; type: "QPen" }
1539 }
1556 }
1540 Signal {
1557 Signal {
1541 name: "gridVisibleChanged"
1558 name: "gridVisibleChanged"
1542 Parameter { name: "visible"; type: "bool" }
1559 Parameter { name: "visible"; type: "bool" }
1543 }
1560 }
1544 Signal {
1561 Signal {
1545 name: "colorChanged"
1562 name: "colorChanged"
1546 Parameter { name: "color"; type: "QColor" }
1563 Parameter { name: "color"; type: "QColor" }
1547 }
1564 }
1548 Signal {
1565 Signal {
1549 name: "labelsColorChanged"
1566 name: "labelsColorChanged"
1550 Parameter { name: "color"; type: "QColor" }
1567 Parameter { name: "color"; type: "QColor" }
1551 }
1568 }
1552 Signal {
1569 Signal {
1553 name: "titleTextChanged"
1570 name: "titleTextChanged"
1554 Parameter { name: "title"; type: "string" }
1571 Parameter { name: "title"; type: "string" }
1555 }
1572 }
1556 Signal {
1573 Signal {
1557 name: "titleBrushChanged"
1574 name: "titleBrushChanged"
1558 Parameter { name: "brush"; type: "QBrush" }
1575 Parameter { name: "brush"; type: "QBrush" }
1559 }
1576 }
1560 Signal {
1577 Signal {
1561 name: "titleVisibleChanged"
1578 name: "titleVisibleChanged"
1562 Parameter { name: "visible"; type: "bool" }
1579 Parameter { name: "visible"; type: "bool" }
1563 }
1580 }
1564 Signal {
1581 Signal {
1565 name: "titleFontChanged"
1582 name: "titleFontChanged"
1566 Parameter { name: "font"; type: "QFont" }
1583 Parameter { name: "font"; type: "QFont" }
1567 }
1584 }
1568 Signal {
1585 Signal {
1569 name: "shadesVisibleChanged"
1586 name: "shadesVisibleChanged"
1570 Parameter { name: "visible"; type: "bool" }
1587 Parameter { name: "visible"; type: "bool" }
1571 }
1588 }
1572 Signal {
1589 Signal {
1573 name: "shadesColorChanged"
1590 name: "shadesColorChanged"
1574 Parameter { name: "color"; type: "QColor" }
1591 Parameter { name: "color"; type: "QColor" }
1575 }
1592 }
1576 Signal {
1593 Signal {
1577 name: "shadesBorderColorChanged"
1594 name: "shadesBorderColorChanged"
1578 Parameter { name: "color"; type: "QColor" }
1595 Parameter { name: "color"; type: "QColor" }
1579 }
1596 }
1580 Signal {
1597 Signal {
1581 name: "shadesPenChanged"
1598 name: "shadesPenChanged"
1582 Parameter { name: "pen"; type: "QPen" }
1599 Parameter { name: "pen"; type: "QPen" }
1583 }
1600 }
1584 Signal {
1601 Signal {
1585 name: "shadesBrushChanged"
1602 name: "shadesBrushChanged"
1586 Parameter { name: "brush"; type: "QBrush" }
1603 Parameter { name: "brush"; type: "QBrush" }
1587 }
1604 }
1588 }
1605 }
1589 Component {
1606 Component {
1590 name: "QtCharts::QAbstractBarSeries"
1607 name: "QtCharts::QAbstractBarSeries"
1591 prototype: "QtCharts::QAbstractSeries"
1608 prototype: "QtCharts::QAbstractSeries"
1592 exports: [
1609 exports: [
1593 "QtCharts/AbstractBarSeries 1.0",
1610 "QtCharts/AbstractBarSeries 1.0",
1594 "QtCharts/AbstractBarSeries 2.0"
1611 "QtCharts/AbstractBarSeries 2.0"
1595 ]
1612 ]
1596 isCreatable: false
1613 isCreatable: false
1597 exportMetaObjectRevisions: [0, 0]
1614 exportMetaObjectRevisions: [0, 0]
1598 Enum {
1615 Enum {
1599 name: "LabelsPosition"
1616 name: "LabelsPosition"
1600 values: {
1617 values: {
1601 "LabelsCenter": 0,
1618 "LabelsCenter": 0,
1602 "LabelsInsideEnd": 1,
1619 "LabelsInsideEnd": 1,
1603 "LabelsInsideBase": 2,
1620 "LabelsInsideBase": 2,
1604 "LabelsOutsideEnd": 3
1621 "LabelsOutsideEnd": 3
1605 }
1622 }
1606 }
1623 }
1607 Property { name: "barWidth"; type: "double" }
1624 Property { name: "barWidth"; type: "double" }
1608 Property { name: "count"; type: "int"; isReadonly: true }
1625 Property { name: "count"; type: "int"; isReadonly: true }
1609 Property { name: "labelsVisible"; type: "bool" }
1626 Property { name: "labelsVisible"; type: "bool" }
1610 Property { name: "labelsFormat"; type: "string" }
1627 Property { name: "labelsFormat"; type: "string" }
1611 Property { name: "labelsPosition"; type: "LabelsPosition" }
1628 Property { name: "labelsPosition"; type: "LabelsPosition" }
1612 Signal {
1629 Signal {
1613 name: "clicked"
1630 name: "clicked"
1614 Parameter { name: "index"; type: "int" }
1631 Parameter { name: "index"; type: "int" }
1615 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1632 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1616 }
1633 }
1617 Signal {
1634 Signal {
1618 name: "hovered"
1635 name: "hovered"
1619 Parameter { name: "status"; type: "bool" }
1636 Parameter { name: "status"; type: "bool" }
1620 Parameter { name: "index"; type: "int" }
1637 Parameter { name: "index"; type: "int" }
1621 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1638 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1622 }
1639 }
1623 Signal {
1640 Signal {
1624 name: "pressed"
1641 name: "pressed"
1625 Parameter { name: "index"; type: "int" }
1642 Parameter { name: "index"; type: "int" }
1626 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1643 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1627 }
1644 }
1628 Signal {
1645 Signal {
1629 name: "released"
1646 name: "released"
1630 Parameter { name: "index"; type: "int" }
1647 Parameter { name: "index"; type: "int" }
1631 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1648 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1632 }
1649 }
1633 Signal {
1650 Signal {
1634 name: "doubleClicked"
1651 name: "doubleClicked"
1635 Parameter { name: "index"; type: "int" }
1652 Parameter { name: "index"; type: "int" }
1636 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1653 Parameter { name: "barset"; type: "QBarSet"; isPointer: true }
1637 }
1654 }
1638 Signal {
1655 Signal {
1639 name: "labelsFormatChanged"
1656 name: "labelsFormatChanged"
1640 Parameter { name: "format"; type: "string" }
1657 Parameter { name: "format"; type: "string" }
1641 }
1658 }
1642 Signal {
1659 Signal {
1643 name: "labelsPositionChanged"
1660 name: "labelsPositionChanged"
1644 Parameter { name: "position"; type: "QAbstractBarSeries::LabelsPosition" }
1661 Parameter { name: "position"; type: "QAbstractBarSeries::LabelsPosition" }
1645 }
1662 }
1646 Signal {
1663 Signal {
1647 name: "barsetsAdded"
1664 name: "barsetsAdded"
1648 Parameter { name: "sets"; type: "QList<QBarSet*>" }
1665 Parameter { name: "sets"; type: "QList<QBarSet*>" }
1649 }
1666 }
1650 Signal {
1667 Signal {
1651 name: "barsetsRemoved"
1668 name: "barsetsRemoved"
1652 Parameter { name: "sets"; type: "QList<QBarSet*>" }
1669 Parameter { name: "sets"; type: "QList<QBarSet*>" }
1653 }
1670 }
1654 }
1671 }
1655 Component {
1672 Component {
1656 name: "QtCharts::QAbstractSeries"
1673 name: "QtCharts::QAbstractSeries"
1657 prototype: "QObject"
1674 prototype: "QObject"
1658 exports: [
1675 exports: [
1659 "QtCharts/AbstractSeries 1.0",
1676 "QtCharts/AbstractSeries 1.0",
1660 "QtCharts/AbstractSeries 2.0"
1677 "QtCharts/AbstractSeries 2.0"
1661 ]
1678 ]
1662 isCreatable: false
1679 isCreatable: false
1663 exportMetaObjectRevisions: [0, 0]
1680 exportMetaObjectRevisions: [0, 0]
1664 Enum {
1681 Enum {
1665 name: "SeriesType"
1682 name: "SeriesType"
1666 values: {
1683 values: {
1667 "SeriesTypeLine": 0,
1684 "SeriesTypeLine": 0,
1668 "SeriesTypeArea": 1,
1685 "SeriesTypeArea": 1,
1669 "SeriesTypeBar": 2,
1686 "SeriesTypeBar": 2,
1670 "SeriesTypeStackedBar": 3,
1687 "SeriesTypeStackedBar": 3,
1671 "SeriesTypePercentBar": 4,
1688 "SeriesTypePercentBar": 4,
1672 "SeriesTypePie": 5,
1689 "SeriesTypePie": 5,
1673 "SeriesTypeScatter": 6,
1690 "SeriesTypeScatter": 6,
1674 "SeriesTypeSpline": 7,
1691 "SeriesTypeSpline": 7,
1675 "SeriesTypeHorizontalBar": 8,
1692 "SeriesTypeHorizontalBar": 8,
1676 "SeriesTypeHorizontalStackedBar": 9,
1693 "SeriesTypeHorizontalStackedBar": 9,
1677 "SeriesTypeHorizontalPercentBar": 10,
1694 "SeriesTypeHorizontalPercentBar": 10,
1678 "SeriesTypeBoxPlot": 11
1695 "SeriesTypeBoxPlot": 11
1679 }
1696 }
1680 }
1697 }
1681 Property { name: "name"; type: "string" }
1698 Property { name: "name"; type: "string" }
1682 Property { name: "visible"; type: "bool" }
1699 Property { name: "visible"; type: "bool" }
1683 Property { name: "opacity"; type: "double" }
1700 Property { name: "opacity"; type: "double" }
1684 Property { name: "type"; type: "SeriesType"; isReadonly: true }
1701 Property { name: "type"; type: "SeriesType"; isReadonly: true }
1685 }
1702 }
1686 Component {
1703 Component {
1687 name: "QtCharts::QAreaSeries"
1704 name: "QtCharts::QAreaSeries"
1688 prototype: "QtCharts::QAbstractSeries"
1705 prototype: "QtCharts::QAbstractSeries"
1689 Property { name: "upperSeries"; type: "QLineSeries"; isReadonly: true; isPointer: true }
1706 Property { name: "upperSeries"; type: "QLineSeries"; isReadonly: true; isPointer: true }
1690 Property { name: "lowerSeries"; type: "QLineSeries"; isReadonly: true; isPointer: true }
1707 Property { name: "lowerSeries"; type: "QLineSeries"; isReadonly: true; isPointer: true }
1691 Property { name: "color"; type: "QColor" }
1708 Property { name: "color"; type: "QColor" }
1692 Property { name: "borderColor"; type: "QColor" }
1709 Property { name: "borderColor"; type: "QColor" }
1693 Property { name: "pointLabelsFormat"; type: "string" }
1710 Property { name: "pointLabelsFormat"; type: "string" }
1694 Property { name: "pointLabelsVisible"; type: "bool" }
1711 Property { name: "pointLabelsVisible"; type: "bool" }
1695 Property { name: "pointLabelsFont"; type: "QFont" }
1712 Property { name: "pointLabelsFont"; type: "QFont" }
1696 Property { name: "pointLabelsColor"; type: "QColor" }
1713 Property { name: "pointLabelsColor"; type: "QColor" }
1697 Signal {
1714 Signal {
1698 name: "clicked"
1715 name: "clicked"
1699 Parameter { name: "point"; type: "QPointF" }
1716 Parameter { name: "point"; type: "QPointF" }
1700 }
1717 }
1701 Signal {
1718 Signal {
1702 name: "hovered"
1719 name: "hovered"
1703 Parameter { name: "point"; type: "QPointF" }
1720 Parameter { name: "point"; type: "QPointF" }
1704 Parameter { name: "state"; type: "bool" }
1721 Parameter { name: "state"; type: "bool" }
1705 }
1722 }
1706 Signal {
1723 Signal {
1707 name: "pressed"
1724 name: "pressed"
1708 Parameter { name: "point"; type: "QPointF" }
1725 Parameter { name: "point"; type: "QPointF" }
1709 }
1726 }
1710 Signal {
1727 Signal {
1711 name: "released"
1728 name: "released"
1712 Parameter { name: "point"; type: "QPointF" }
1729 Parameter { name: "point"; type: "QPointF" }
1713 }
1730 }
1714 Signal {
1731 Signal {
1715 name: "doubleClicked"
1732 name: "doubleClicked"
1716 Parameter { name: "point"; type: "QPointF" }
1733 Parameter { name: "point"; type: "QPointF" }
1717 }
1734 }
1718 Signal { name: "selected" }
1735 Signal { name: "selected" }
1719 Signal {
1736 Signal {
1720 name: "colorChanged"
1737 name: "colorChanged"
1721 Parameter { name: "color"; type: "QColor" }
1738 Parameter { name: "color"; type: "QColor" }
1722 }
1739 }
1723 Signal {
1740 Signal {
1724 name: "borderColorChanged"
1741 name: "borderColorChanged"
1725 Parameter { name: "color"; type: "QColor" }
1742 Parameter { name: "color"; type: "QColor" }
1726 }
1743 }
1727 Signal {
1744 Signal {
1728 name: "pointLabelsFormatChanged"
1745 name: "pointLabelsFormatChanged"
1729 Parameter { name: "format"; type: "string" }
1746 Parameter { name: "format"; type: "string" }
1730 }
1747 }
1731 Signal {
1748 Signal {
1732 name: "pointLabelsVisibilityChanged"
1749 name: "pointLabelsVisibilityChanged"
1733 Parameter { name: "visible"; type: "bool" }
1750 Parameter { name: "visible"; type: "bool" }
1734 }
1751 }
1735 Signal {
1752 Signal {
1736 name: "pointLabelsFontChanged"
1753 name: "pointLabelsFontChanged"
1737 Parameter { name: "font"; type: "QFont" }
1754 Parameter { name: "font"; type: "QFont" }
1738 }
1755 }
1739 Signal {
1756 Signal {
1740 name: "pointLabelsColorChanged"
1757 name: "pointLabelsColorChanged"
1741 Parameter { name: "color"; type: "QColor" }
1758 Parameter { name: "color"; type: "QColor" }
1742 }
1759 }
1743 }
1760 }
1744 Component {
1761 Component {
1745 name: "QtCharts::QBarCategoryAxis"
1762 name: "QtCharts::QBarCategoryAxis"
1746 prototype: "QtCharts::QAbstractAxis"
1763 prototype: "QtCharts::QAbstractAxis"
1747 exports: [
1764 exports: [
1748 "QtCharts/BarCategoriesAxis 1.0",
1765 "QtCharts/BarCategoriesAxis 1.0",
1749 "QtCharts/BarCategoryAxis 1.1",
1766 "QtCharts/BarCategoryAxis 1.1",
1750 "QtCharts/BarCategoryAxis 2.0"
1767 "QtCharts/BarCategoryAxis 2.0"
1751 ]
1768 ]
1752 exportMetaObjectRevisions: [0, 0, 0]
1769 exportMetaObjectRevisions: [0, 0, 0]
1753 Property { name: "categories"; type: "QStringList" }
1770 Property { name: "categories"; type: "QStringList" }
1754 Property { name: "min"; type: "string" }
1771 Property { name: "min"; type: "string" }
1755 Property { name: "max"; type: "string" }
1772 Property { name: "max"; type: "string" }
1756 Property { name: "count"; type: "int"; isReadonly: true }
1773 Property { name: "count"; type: "int"; isReadonly: true }
1757 Signal {
1774 Signal {
1758 name: "minChanged"
1775 name: "minChanged"
1759 Parameter { name: "min"; type: "string" }
1776 Parameter { name: "min"; type: "string" }
1760 }
1777 }
1761 Signal {
1778 Signal {
1762 name: "maxChanged"
1779 name: "maxChanged"
1763 Parameter { name: "max"; type: "string" }
1780 Parameter { name: "max"; type: "string" }
1764 }
1781 }
1765 Signal {
1782 Signal {
1766 name: "rangeChanged"
1783 name: "rangeChanged"
1767 Parameter { name: "min"; type: "string" }
1784 Parameter { name: "min"; type: "string" }
1768 Parameter { name: "max"; type: "string" }
1785 Parameter { name: "max"; type: "string" }
1769 }
1786 }
1770 Method { name: "clear" }
1787 Method { name: "clear" }
1771 }
1788 }
1772 Component {
1789 Component {
1773 name: "QtCharts::QBarModelMapper"
1790 name: "QtCharts::QBarModelMapper"
1774 prototype: "QObject"
1791 prototype: "QObject"
1775 exports: [
1792 exports: [
1776 "QtCharts/BarModelMapper 1.0",
1793 "QtCharts/BarModelMapper 1.0",
1777 "QtCharts/BarModelMapper 2.0"
1794 "QtCharts/BarModelMapper 2.0"
1778 ]
1795 ]
1779 isCreatable: false
1796 isCreatable: false
1780 exportMetaObjectRevisions: [0, 0]
1797 exportMetaObjectRevisions: [0, 0]
1781 }
1798 }
1782 Component { name: "QtCharts::QBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
1799 Component { name: "QtCharts::QBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
1783 Component {
1800 Component {
1784 name: "QtCharts::QBarSet"
1801 name: "QtCharts::QBarSet"
1785 prototype: "QObject"
1802 prototype: "QObject"
1786 exports: ["QtCharts/BarSetBase 1.0", "QtCharts/BarSetBase 2.0"]
1803 exports: ["QtCharts/BarSetBase 1.0", "QtCharts/BarSetBase 2.0"]
1787 isCreatable: false
1804 isCreatable: false
1788 exportMetaObjectRevisions: [0, 0]
1805 exportMetaObjectRevisions: [0, 0]
1789 Property { name: "label"; type: "string" }
1806 Property { name: "label"; type: "string" }
1790 Property { name: "pen"; type: "QPen" }
1807 Property { name: "pen"; type: "QPen" }
1791 Property { name: "brush"; type: "QBrush" }
1808 Property { name: "brush"; type: "QBrush" }
1792 Property { name: "labelBrush"; type: "QBrush" }
1809 Property { name: "labelBrush"; type: "QBrush" }
1793 Property { name: "labelFont"; type: "QFont" }
1810 Property { name: "labelFont"; type: "QFont" }
1794 Property { name: "color"; type: "QColor" }
1811 Property { name: "color"; type: "QColor" }
1795 Property { name: "borderColor"; type: "QColor" }
1812 Property { name: "borderColor"; type: "QColor" }
1796 Property { name: "labelColor"; type: "QColor" }
1813 Property { name: "labelColor"; type: "QColor" }
1797 Signal {
1814 Signal {
1798 name: "clicked"
1815 name: "clicked"
1799 Parameter { name: "index"; type: "int" }
1816 Parameter { name: "index"; type: "int" }
1800 }
1817 }
1801 Signal {
1818 Signal {
1802 name: "hovered"
1819 name: "hovered"
1803 Parameter { name: "status"; type: "bool" }
1820 Parameter { name: "status"; type: "bool" }
1804 Parameter { name: "index"; type: "int" }
1821 Parameter { name: "index"; type: "int" }
1805 }
1822 }
1806 Signal {
1823 Signal {
1807 name: "pressed"
1824 name: "pressed"
1808 Parameter { name: "index"; type: "int" }
1825 Parameter { name: "index"; type: "int" }
1809 }
1826 }
1810 Signal {
1827 Signal {
1811 name: "released"
1828 name: "released"
1812 Parameter { name: "index"; type: "int" }
1829 Parameter { name: "index"; type: "int" }
1813 }
1830 }
1814 Signal {
1831 Signal {
1815 name: "doubleClicked"
1832 name: "doubleClicked"
1816 Parameter { name: "index"; type: "int" }
1833 Parameter { name: "index"; type: "int" }
1817 }
1834 }
1818 Signal {
1835 Signal {
1819 name: "colorChanged"
1836 name: "colorChanged"
1820 Parameter { name: "color"; type: "QColor" }
1837 Parameter { name: "color"; type: "QColor" }
1821 }
1838 }
1822 Signal {
1839 Signal {
1823 name: "borderColorChanged"
1840 name: "borderColorChanged"
1824 Parameter { name: "color"; type: "QColor" }
1841 Parameter { name: "color"; type: "QColor" }
1825 }
1842 }
1826 Signal {
1843 Signal {
1827 name: "labelColorChanged"
1844 name: "labelColorChanged"
1828 Parameter { name: "color"; type: "QColor" }
1845 Parameter { name: "color"; type: "QColor" }
1829 }
1846 }
1830 Signal {
1847 Signal {
1831 name: "valuesAdded"
1848 name: "valuesAdded"
1832 Parameter { name: "index"; type: "int" }
1849 Parameter { name: "index"; type: "int" }
1833 Parameter { name: "count"; type: "int" }
1850 Parameter { name: "count"; type: "int" }
1834 }
1851 }
1835 Signal {
1852 Signal {
1836 name: "valuesRemoved"
1853 name: "valuesRemoved"
1837 Parameter { name: "index"; type: "int" }
1854 Parameter { name: "index"; type: "int" }
1838 Parameter { name: "count"; type: "int" }
1855 Parameter { name: "count"; type: "int" }
1839 }
1856 }
1840 Signal {
1857 Signal {
1841 name: "valueChanged"
1858 name: "valueChanged"
1842 Parameter { name: "index"; type: "int" }
1859 Parameter { name: "index"; type: "int" }
1843 }
1860 }
1844 }
1861 }
1845 Component {
1862 Component {
1846 name: "QtCharts::QBoxPlotModelMapper"
1863 name: "QtCharts::QBoxPlotModelMapper"
1847 prototype: "QObject"
1864 prototype: "QObject"
1848 exports: ["QtCharts/BoxPlotModelMapper 2.0"]
1865 exports: ["QtCharts/BoxPlotModelMapper 2.0"]
1849 isCreatable: false
1866 isCreatable: false
1850 exportMetaObjectRevisions: [0]
1867 exportMetaObjectRevisions: [0]
1851 }
1868 }
1852 Component {
1869 Component {
1853 name: "QtCharts::QBoxPlotSeries"
1870 name: "QtCharts::QBoxPlotSeries"
1854 prototype: "QtCharts::QAbstractSeries"
1871 prototype: "QtCharts::QAbstractSeries"
1855 Property { name: "boxOutlineVisible"; type: "bool" }
1872 Property { name: "boxOutlineVisible"; type: "bool" }
1856 Property { name: "boxWidth"; type: "double" }
1873 Property { name: "boxWidth"; type: "double" }
1857 Property { name: "pen"; type: "QPen" }
1874 Property { name: "pen"; type: "QPen" }
1858 Property { name: "brush"; type: "QBrush" }
1875 Property { name: "brush"; type: "QBrush" }
1859 Property { name: "count"; revision: 1; type: "int"; isReadonly: true }
1876 Property { name: "count"; revision: 1; type: "int"; isReadonly: true }
1860 Signal {
1877 Signal {
1861 name: "clicked"
1878 name: "clicked"
1862 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1879 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1863 }
1880 }
1864 Signal {
1881 Signal {
1865 name: "hovered"
1882 name: "hovered"
1866 Parameter { name: "status"; type: "bool" }
1883 Parameter { name: "status"; type: "bool" }
1867 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1884 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1868 }
1885 }
1869 Signal {
1886 Signal {
1870 name: "pressed"
1887 name: "pressed"
1871 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1888 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1872 }
1889 }
1873 Signal {
1890 Signal {
1874 name: "released"
1891 name: "released"
1875 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1892 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1876 }
1893 }
1877 Signal {
1894 Signal {
1878 name: "doubleClicked"
1895 name: "doubleClicked"
1879 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1896 Parameter { name: "boxset"; type: "QBoxSet"; isPointer: true }
1880 }
1897 }
1881 Signal { name: "boxOutlineVisibilityChanged" }
1898 Signal { name: "boxOutlineVisibilityChanged" }
1882 Signal {
1899 Signal {
1883 name: "boxsetsAdded"
1900 name: "boxsetsAdded"
1884 Parameter { name: "sets"; type: "QList<QBoxSet*>" }
1901 Parameter { name: "sets"; type: "QList<QBoxSet*>" }
1885 }
1902 }
1886 Signal {
1903 Signal {
1887 name: "boxsetsRemoved"
1904 name: "boxsetsRemoved"
1888 Parameter { name: "sets"; type: "QList<QBoxSet*>" }
1905 Parameter { name: "sets"; type: "QList<QBoxSet*>" }
1889 }
1906 }
1890 }
1907 }
1891 Component {
1908 Component {
1892 name: "QtCharts::QBoxSet"
1909 name: "QtCharts::QBoxSet"
1893 prototype: "QObject"
1910 prototype: "QObject"
1894 Property { name: "pen"; type: "QPen" }
1911 Property { name: "pen"; type: "QPen" }
1895 Property { name: "brush"; type: "QBrush" }
1912 Property { name: "brush"; type: "QBrush" }
1896 Signal { name: "clicked" }
1913 Signal { name: "clicked" }
1897 Signal {
1914 Signal {
1898 name: "hovered"
1915 name: "hovered"
1899 Parameter { name: "status"; type: "bool" }
1916 Parameter { name: "status"; type: "bool" }
1900 }
1917 }
1901 Signal { name: "pressed" }
1918 Signal { name: "pressed" }
1902 Signal { name: "released" }
1919 Signal { name: "released" }
1903 Signal { name: "doubleClicked" }
1920 Signal { name: "doubleClicked" }
1904 Signal { name: "valuesChanged" }
1921 Signal { name: "valuesChanged" }
1905 Signal {
1922 Signal {
1906 name: "valueChanged"
1923 name: "valueChanged"
1907 Parameter { name: "index"; type: "int" }
1924 Parameter { name: "index"; type: "int" }
1908 }
1925 }
1909 Signal { name: "cleared" }
1926 Signal { name: "cleared" }
1910 }
1927 }
1911 Component {
1928 Component {
1912 name: "QtCharts::QCategoryAxis"
1929 name: "QtCharts::QCategoryAxis"
1913 prototype: "QtCharts::QValueAxis"
1930 prototype: "QtCharts::QValueAxis"
1931 Enum {
1932 name: "AxisLabelsPosition"
1933 values: {
1934 "AxisLabelsPositionCenter": 0,
1935 "AxisLabelsPositionOnValue": 1
1936 }
1937 }
1914 Property { name: "startValue"; type: "double" }
1938 Property { name: "startValue"; type: "double" }
1915 Property { name: "count"; type: "int"; isReadonly: true }
1939 Property { name: "count"; type: "int"; isReadonly: true }
1916 Property { name: "categoriesLabels"; type: "QStringList"; isReadonly: true }
1940 Property { name: "categoriesLabels"; type: "QStringList"; isReadonly: true }
1941 Property { name: "labelsPosition"; type: "AxisLabelsPosition" }
1917 Signal { name: "categoriesChanged" }
1942 Signal { name: "categoriesChanged" }
1943 Signal {
1944 name: "labelsPositionChanged"
1945 Parameter { name: "position"; type: "QCategoryAxis::AxisLabelsPosition" }
1946 }
1918 }
1947 }
1919 Component {
1948 Component {
1920 name: "QtCharts::QDateTimeAxis"
1949 name: "QtCharts::QDateTimeAxis"
1921 prototype: "QtCharts::QAbstractAxis"
1950 prototype: "QtCharts::QAbstractAxis"
1922 exports: ["QtCharts/DateTimeAxis 1.1", "QtCharts/DateTimeAxis 2.0"]
1951 exports: ["QtCharts/DateTimeAxis 1.1", "QtCharts/DateTimeAxis 2.0"]
1923 exportMetaObjectRevisions: [0, 0]
1952 exportMetaObjectRevisions: [0, 0]
1924 Property { name: "tickCount"; type: "int" }
1953 Property { name: "tickCount"; type: "int" }
1925 Property { name: "min"; type: "QDateTime" }
1954 Property { name: "min"; type: "QDateTime" }
1926 Property { name: "max"; type: "QDateTime" }
1955 Property { name: "max"; type: "QDateTime" }
1927 Property { name: "format"; type: "string" }
1956 Property { name: "format"; type: "string" }
1928 Signal {
1957 Signal {
1929 name: "minChanged"
1958 name: "minChanged"
1930 Parameter { name: "min"; type: "QDateTime" }
1959 Parameter { name: "min"; type: "QDateTime" }
1931 }
1960 }
1932 Signal {
1961 Signal {
1933 name: "maxChanged"
1962 name: "maxChanged"
1934 Parameter { name: "max"; type: "QDateTime" }
1963 Parameter { name: "max"; type: "QDateTime" }
1935 }
1964 }
1936 Signal {
1965 Signal {
1937 name: "rangeChanged"
1966 name: "rangeChanged"
1938 Parameter { name: "min"; type: "QDateTime" }
1967 Parameter { name: "min"; type: "QDateTime" }
1939 Parameter { name: "max"; type: "QDateTime" }
1968 Parameter { name: "max"; type: "QDateTime" }
1940 }
1969 }
1941 Signal {
1970 Signal {
1942 name: "formatChanged"
1971 name: "formatChanged"
1943 Parameter { name: "format"; type: "string" }
1972 Parameter { name: "format"; type: "string" }
1944 }
1973 }
1945 Signal {
1974 Signal {
1946 name: "tickCountChanged"
1975 name: "tickCountChanged"
1947 Parameter { name: "tick"; type: "int" }
1976 Parameter { name: "tick"; type: "int" }
1948 }
1977 }
1949 }
1978 }
1950 Component {
1979 Component {
1951 name: "QtCharts::QHBarModelMapper"
1980 name: "QtCharts::QHBarModelMapper"
1952 prototype: "QtCharts::QBarModelMapper"
1981 prototype: "QtCharts::QBarModelMapper"
1953 exports: [
1982 exports: [
1954 "QtCharts/HBarModelMapper 1.0",
1983 "QtCharts/HBarModelMapper 1.0",
1955 "QtCharts/HBarModelMapper 2.0"
1984 "QtCharts/HBarModelMapper 2.0"
1956 ]
1985 ]
1957 exportMetaObjectRevisions: [0, 0]
1986 exportMetaObjectRevisions: [0, 0]
1958 Property { name: "series"; type: "QAbstractBarSeries"; isPointer: true }
1987 Property { name: "series"; type: "QAbstractBarSeries"; isPointer: true }
1959 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
1988 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
1960 Property { name: "firstBarSetRow"; type: "int" }
1989 Property { name: "firstBarSetRow"; type: "int" }
1961 Property { name: "lastBarSetRow"; type: "int" }
1990 Property { name: "lastBarSetRow"; type: "int" }
1962 Property { name: "firstColumn"; type: "int" }
1991 Property { name: "firstColumn"; type: "int" }
1963 Property { name: "columnCount"; type: "int" }
1992 Property { name: "columnCount"; type: "int" }
1964 Signal { name: "seriesReplaced" }
1993 Signal { name: "seriesReplaced" }
1965 Signal { name: "modelReplaced" }
1994 Signal { name: "modelReplaced" }
1966 }
1995 }
1967 Component {
1996 Component {
1968 name: "QtCharts::QHPieModelMapper"
1997 name: "QtCharts::QHPieModelMapper"
1969 prototype: "QtCharts::QPieModelMapper"
1998 prototype: "QtCharts::QPieModelMapper"
1970 exports: [
1999 exports: [
1971 "QtCharts/HPieModelMapper 1.0",
2000 "QtCharts/HPieModelMapper 1.0",
1972 "QtCharts/HPieModelMapper 2.0"
2001 "QtCharts/HPieModelMapper 2.0"
1973 ]
2002 ]
1974 exportMetaObjectRevisions: [0, 0]
2003 exportMetaObjectRevisions: [0, 0]
1975 Property { name: "series"; type: "QPieSeries"; isPointer: true }
2004 Property { name: "series"; type: "QPieSeries"; isPointer: true }
1976 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2005 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
1977 Property { name: "valuesRow"; type: "int" }
2006 Property { name: "valuesRow"; type: "int" }
1978 Property { name: "labelsRow"; type: "int" }
2007 Property { name: "labelsRow"; type: "int" }
1979 Property { name: "firstColumn"; type: "int" }
2008 Property { name: "firstColumn"; type: "int" }
1980 Property { name: "columnCount"; type: "int" }
2009 Property { name: "columnCount"; type: "int" }
1981 Signal { name: "seriesReplaced" }
2010 Signal { name: "seriesReplaced" }
1982 Signal { name: "modelReplaced" }
2011 Signal { name: "modelReplaced" }
1983 }
2012 }
1984 Component {
2013 Component {
1985 name: "QtCharts::QHXYModelMapper"
2014 name: "QtCharts::QHXYModelMapper"
1986 prototype: "QtCharts::QXYModelMapper"
2015 prototype: "QtCharts::QXYModelMapper"
1987 exports: [
2016 exports: [
1988 "QtCharts/HXYModelMapper 1.0",
2017 "QtCharts/HXYModelMapper 1.0",
1989 "QtCharts/HXYModelMapper 2.0"
2018 "QtCharts/HXYModelMapper 2.0"
1990 ]
2019 ]
1991 exportMetaObjectRevisions: [0, 0]
2020 exportMetaObjectRevisions: [0, 0]
1992 Property { name: "series"; type: "QXYSeries"; isPointer: true }
2021 Property { name: "series"; type: "QXYSeries"; isPointer: true }
1993 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2022 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
1994 Property { name: "xRow"; type: "int" }
2023 Property { name: "xRow"; type: "int" }
1995 Property { name: "yRow"; type: "int" }
2024 Property { name: "yRow"; type: "int" }
1996 Property { name: "firstColumn"; type: "int" }
2025 Property { name: "firstColumn"; type: "int" }
1997 Property { name: "columnCount"; type: "int" }
2026 Property { name: "columnCount"; type: "int" }
1998 Signal { name: "seriesReplaced" }
2027 Signal { name: "seriesReplaced" }
1999 Signal { name: "modelReplaced" }
2028 Signal { name: "modelReplaced" }
2000 }
2029 }
2001 Component { name: "QtCharts::QHorizontalBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
2030 Component { name: "QtCharts::QHorizontalBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
2002 Component {
2031 Component {
2003 name: "QtCharts::QHorizontalPercentBarSeries"
2032 name: "QtCharts::QHorizontalPercentBarSeries"
2004 prototype: "QtCharts::QAbstractBarSeries"
2033 prototype: "QtCharts::QAbstractBarSeries"
2005 }
2034 }
2006 Component {
2035 Component {
2007 name: "QtCharts::QHorizontalStackedBarSeries"
2036 name: "QtCharts::QHorizontalStackedBarSeries"
2008 prototype: "QtCharts::QAbstractBarSeries"
2037 prototype: "QtCharts::QAbstractBarSeries"
2009 }
2038 }
2010 Component {
2039 Component {
2011 name: "QtCharts::QLegend"
2040 name: "QtCharts::QLegend"
2012 defaultProperty: "children"
2041 defaultProperty: "children"
2013 prototype: "QGraphicsWidget"
2042 prototype: "QGraphicsWidget"
2014 exports: ["QtCharts/Legend 1.0", "QtCharts/Legend 2.0"]
2043 exports: ["QtCharts/Legend 1.0", "QtCharts/Legend 2.0"]
2015 isCreatable: false
2044 isCreatable: false
2016 exportMetaObjectRevisions: [0, 0]
2045 exportMetaObjectRevisions: [0, 0]
2017 Property { name: "alignment"; type: "Qt::Alignment" }
2046 Property { name: "alignment"; type: "Qt::Alignment" }
2018 Property { name: "backgroundVisible"; type: "bool" }
2047 Property { name: "backgroundVisible"; type: "bool" }
2019 Property { name: "color"; type: "QColor" }
2048 Property { name: "color"; type: "QColor" }
2020 Property { name: "borderColor"; type: "QColor" }
2049 Property { name: "borderColor"; type: "QColor" }
2021 Property { name: "font"; type: "QFont" }
2050 Property { name: "font"; type: "QFont" }
2022 Property { name: "labelColor"; type: "QColor" }
2051 Property { name: "labelColor"; type: "QColor" }
2023 Property { name: "reverseMarkers"; type: "bool" }
2052 Property { name: "reverseMarkers"; type: "bool" }
2024 Signal {
2053 Signal {
2025 name: "backgroundVisibleChanged"
2054 name: "backgroundVisibleChanged"
2026 Parameter { name: "visible"; type: "bool" }
2055 Parameter { name: "visible"; type: "bool" }
2027 }
2056 }
2028 Signal {
2057 Signal {
2029 name: "colorChanged"
2058 name: "colorChanged"
2030 Parameter { name: "color"; type: "QColor" }
2059 Parameter { name: "color"; type: "QColor" }
2031 }
2060 }
2032 Signal {
2061 Signal {
2033 name: "borderColorChanged"
2062 name: "borderColorChanged"
2034 Parameter { name: "color"; type: "QColor" }
2063 Parameter { name: "color"; type: "QColor" }
2035 }
2064 }
2036 Signal {
2065 Signal {
2037 name: "fontChanged"
2066 name: "fontChanged"
2038 Parameter { name: "font"; type: "QFont" }
2067 Parameter { name: "font"; type: "QFont" }
2039 }
2068 }
2040 Signal {
2069 Signal {
2041 name: "labelColorChanged"
2070 name: "labelColorChanged"
2042 Parameter { name: "color"; type: "QColor" }
2071 Parameter { name: "color"; type: "QColor" }
2043 }
2072 }
2044 Signal {
2073 Signal {
2045 name: "reverseMarkersChanged"
2074 name: "reverseMarkersChanged"
2046 Parameter { name: "reverseMarkers"; type: "bool" }
2075 Parameter { name: "reverseMarkers"; type: "bool" }
2047 }
2076 }
2048 }
2077 }
2049 Component { name: "QtCharts::QLineSeries"; prototype: "QtCharts::QXYSeries" }
2078 Component { name: "QtCharts::QLineSeries"; prototype: "QtCharts::QXYSeries" }
2050 Component {
2079 Component {
2051 name: "QtCharts::QLogValueAxis"
2080 name: "QtCharts::QLogValueAxis"
2052 prototype: "QtCharts::QAbstractAxis"
2081 prototype: "QtCharts::QAbstractAxis"
2053 exports: ["QtCharts/LogValueAxis 1.3", "QtCharts/LogValueAxis 2.0"]
2082 exports: ["QtCharts/LogValueAxis 1.3", "QtCharts/LogValueAxis 2.0"]
2054 exportMetaObjectRevisions: [0, 1]
2083 exportMetaObjectRevisions: [0, 1]
2055 Property { name: "min"; type: "double" }
2084 Property { name: "min"; type: "double" }
2056 Property { name: "max"; type: "double" }
2085 Property { name: "max"; type: "double" }
2057 Property { name: "labelFormat"; type: "string" }
2086 Property { name: "labelFormat"; type: "string" }
2058 Property { name: "base"; type: "double" }
2087 Property { name: "base"; type: "double" }
2059 Signal {
2088 Signal {
2060 name: "minChanged"
2089 name: "minChanged"
2061 Parameter { name: "min"; type: "double" }
2090 Parameter { name: "min"; type: "double" }
2062 }
2091 }
2063 Signal {
2092 Signal {
2064 name: "maxChanged"
2093 name: "maxChanged"
2065 Parameter { name: "max"; type: "double" }
2094 Parameter { name: "max"; type: "double" }
2066 }
2095 }
2067 Signal {
2096 Signal {
2068 name: "rangeChanged"
2097 name: "rangeChanged"
2069 Parameter { name: "min"; type: "double" }
2098 Parameter { name: "min"; type: "double" }
2070 Parameter { name: "max"; type: "double" }
2099 Parameter { name: "max"; type: "double" }
2071 }
2100 }
2072 Signal {
2101 Signal {
2073 name: "labelFormatChanged"
2102 name: "labelFormatChanged"
2074 Parameter { name: "format"; type: "string" }
2103 Parameter { name: "format"; type: "string" }
2075 }
2104 }
2076 Signal {
2105 Signal {
2077 name: "baseChanged"
2106 name: "baseChanged"
2078 Parameter { name: "base"; type: "double" }
2107 Parameter { name: "base"; type: "double" }
2079 }
2108 }
2080 }
2109 }
2081 Component { name: "QtCharts::QPercentBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
2110 Component { name: "QtCharts::QPercentBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
2082 Component {
2111 Component {
2083 name: "QtCharts::QPieModelMapper"
2112 name: "QtCharts::QPieModelMapper"
2084 prototype: "QObject"
2113 prototype: "QObject"
2085 exports: [
2114 exports: [
2086 "QtCharts/PieModelMapper 1.0",
2115 "QtCharts/PieModelMapper 1.0",
2087 "QtCharts/PieModelMapper 2.0"
2116 "QtCharts/PieModelMapper 2.0"
2088 ]
2117 ]
2089 isCreatable: false
2118 isCreatable: false
2090 exportMetaObjectRevisions: [0, 0]
2119 exportMetaObjectRevisions: [0, 0]
2091 }
2120 }
2092 Component {
2121 Component {
2093 name: "QtCharts::QPieSeries"
2122 name: "QtCharts::QPieSeries"
2094 prototype: "QtCharts::QAbstractSeries"
2123 prototype: "QtCharts::QAbstractSeries"
2095 exports: ["QtCharts/QPieSeries 1.0", "QtCharts/QPieSeries 2.0"]
2124 exports: ["QtCharts/QPieSeries 1.0", "QtCharts/QPieSeries 2.0"]
2096 isCreatable: false
2125 isCreatable: false
2097 exportMetaObjectRevisions: [0, 0]
2126 exportMetaObjectRevisions: [0, 0]
2098 Property { name: "horizontalPosition"; type: "double" }
2127 Property { name: "horizontalPosition"; type: "double" }
2099 Property { name: "verticalPosition"; type: "double" }
2128 Property { name: "verticalPosition"; type: "double" }
2100 Property { name: "size"; type: "double" }
2129 Property { name: "size"; type: "double" }
2101 Property { name: "startAngle"; type: "double" }
2130 Property { name: "startAngle"; type: "double" }
2102 Property { name: "endAngle"; type: "double" }
2131 Property { name: "endAngle"; type: "double" }
2103 Property { name: "count"; type: "int"; isReadonly: true }
2132 Property { name: "count"; type: "int"; isReadonly: true }
2104 Property { name: "sum"; type: "double"; isReadonly: true }
2133 Property { name: "sum"; type: "double"; isReadonly: true }
2105 Property { name: "holeSize"; type: "double" }
2134 Property { name: "holeSize"; type: "double" }
2106 Signal {
2135 Signal {
2107 name: "added"
2136 name: "added"
2108 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
2137 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
2109 }
2138 }
2110 Signal {
2139 Signal {
2111 name: "removed"
2140 name: "removed"
2112 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
2141 Parameter { name: "slices"; type: "QList<QPieSlice*>" }
2113 }
2142 }
2114 Signal {
2143 Signal {
2115 name: "clicked"
2144 name: "clicked"
2116 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2145 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2117 }
2146 }
2118 Signal {
2147 Signal {
2119 name: "hovered"
2148 name: "hovered"
2120 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2149 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2121 Parameter { name: "state"; type: "bool" }
2150 Parameter { name: "state"; type: "bool" }
2122 }
2151 }
2123 Signal {
2152 Signal {
2124 name: "pressed"
2153 name: "pressed"
2125 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2154 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2126 }
2155 }
2127 Signal {
2156 Signal {
2128 name: "released"
2157 name: "released"
2129 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2158 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2130 }
2159 }
2131 Signal {
2160 Signal {
2132 name: "doubleClicked"
2161 name: "doubleClicked"
2133 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2162 Parameter { name: "slice"; type: "QPieSlice"; isPointer: true }
2134 }
2163 }
2135 }
2164 }
2136 Component {
2165 Component {
2137 name: "QtCharts::QPieSlice"
2166 name: "QtCharts::QPieSlice"
2138 prototype: "QObject"
2167 prototype: "QObject"
2139 exports: ["QtCharts/PieSlice 1.0", "QtCharts/PieSlice 2.0"]
2168 exports: ["QtCharts/PieSlice 1.0", "QtCharts/PieSlice 2.0"]
2140 exportMetaObjectRevisions: [0, 0]
2169 exportMetaObjectRevisions: [0, 0]
2141 Enum {
2170 Enum {
2142 name: "LabelPosition"
2171 name: "LabelPosition"
2143 values: {
2172 values: {
2144 "LabelOutside": 0,
2173 "LabelOutside": 0,
2145 "LabelInsideHorizontal": 1,
2174 "LabelInsideHorizontal": 1,
2146 "LabelInsideTangential": 2,
2175 "LabelInsideTangential": 2,
2147 "LabelInsideNormal": 3
2176 "LabelInsideNormal": 3
2148 }
2177 }
2149 }
2178 }
2150 Property { name: "label"; type: "string" }
2179 Property { name: "label"; type: "string" }
2151 Property { name: "value"; type: "double" }
2180 Property { name: "value"; type: "double" }
2152 Property { name: "labelVisible"; type: "bool" }
2181 Property { name: "labelVisible"; type: "bool" }
2153 Property { name: "labelPosition"; type: "LabelPosition" }
2182 Property { name: "labelPosition"; type: "LabelPosition" }
2154 Property { name: "exploded"; type: "bool" }
2183 Property { name: "exploded"; type: "bool" }
2155 Property { name: "pen"; type: "QPen" }
2184 Property { name: "pen"; type: "QPen" }
2156 Property { name: "borderColor"; type: "QColor" }
2185 Property { name: "borderColor"; type: "QColor" }
2157 Property { name: "borderWidth"; type: "int" }
2186 Property { name: "borderWidth"; type: "int" }
2158 Property { name: "brush"; type: "QBrush" }
2187 Property { name: "brush"; type: "QBrush" }
2159 Property { name: "color"; type: "QColor" }
2188 Property { name: "color"; type: "QColor" }
2160 Property { name: "labelBrush"; type: "QBrush" }
2189 Property { name: "labelBrush"; type: "QBrush" }
2161 Property { name: "labelColor"; type: "QColor" }
2190 Property { name: "labelColor"; type: "QColor" }
2162 Property { name: "labelFont"; type: "QFont" }
2191 Property { name: "labelFont"; type: "QFont" }
2163 Property { name: "labelArmLengthFactor"; type: "double" }
2192 Property { name: "labelArmLengthFactor"; type: "double" }
2164 Property { name: "explodeDistanceFactor"; type: "double" }
2193 Property { name: "explodeDistanceFactor"; type: "double" }
2165 Property { name: "percentage"; type: "double"; isReadonly: true }
2194 Property { name: "percentage"; type: "double"; isReadonly: true }
2166 Property { name: "startAngle"; type: "double"; isReadonly: true }
2195 Property { name: "startAngle"; type: "double"; isReadonly: true }
2167 Property { name: "angleSpan"; type: "double"; isReadonly: true }
2196 Property { name: "angleSpan"; type: "double"; isReadonly: true }
2168 Signal { name: "clicked" }
2197 Signal { name: "clicked" }
2169 Signal {
2198 Signal {
2170 name: "hovered"
2199 name: "hovered"
2171 Parameter { name: "state"; type: "bool" }
2200 Parameter { name: "state"; type: "bool" }
2172 }
2201 }
2173 Signal { name: "pressed" }
2202 Signal { name: "pressed" }
2174 Signal { name: "released" }
2203 Signal { name: "released" }
2175 Signal { name: "doubleClicked" }
2204 Signal { name: "doubleClicked" }
2176 }
2205 }
2177 Component {
2206 Component {
2178 name: "QtCharts::QScatterSeries"
2207 name: "QtCharts::QScatterSeries"
2179 prototype: "QtCharts::QXYSeries"
2208 prototype: "QtCharts::QXYSeries"
2180 Enum {
2209 Enum {
2181 name: "MarkerShape"
2210 name: "MarkerShape"
2182 values: {
2211 values: {
2183 "MarkerShapeCircle": 0,
2212 "MarkerShapeCircle": 0,
2184 "MarkerShapeRectangle": 1
2213 "MarkerShapeRectangle": 1
2185 }
2214 }
2186 }
2215 }
2187 Property { name: "color"; type: "QColor" }
2216 Property { name: "color"; type: "QColor" }
2188 Property { name: "borderColor"; type: "QColor" }
2217 Property { name: "borderColor"; type: "QColor" }
2189 Property { name: "markerShape"; type: "MarkerShape" }
2218 Property { name: "markerShape"; type: "MarkerShape" }
2190 Property { name: "markerSize"; type: "double" }
2219 Property { name: "markerSize"; type: "double" }
2191 Property { name: "brush"; type: "QBrush" }
2220 Property { name: "brush"; type: "QBrush" }
2192 Signal {
2221 Signal {
2193 name: "colorChanged"
2222 name: "colorChanged"
2194 Parameter { name: "color"; type: "QColor" }
2223 Parameter { name: "color"; type: "QColor" }
2195 }
2224 }
2196 Signal {
2225 Signal {
2197 name: "borderColorChanged"
2226 name: "borderColorChanged"
2198 Parameter { name: "color"; type: "QColor" }
2227 Parameter { name: "color"; type: "QColor" }
2199 }
2228 }
2200 }
2229 }
2201 Component { name: "QtCharts::QSplineSeries"; prototype: "QtCharts::QLineSeries" }
2230 Component { name: "QtCharts::QSplineSeries"; prototype: "QtCharts::QLineSeries" }
2202 Component { name: "QtCharts::QStackedBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
2231 Component { name: "QtCharts::QStackedBarSeries"; prototype: "QtCharts::QAbstractBarSeries" }
2203 Component {
2232 Component {
2204 name: "QtCharts::QVBarModelMapper"
2233 name: "QtCharts::QVBarModelMapper"
2205 prototype: "QtCharts::QBarModelMapper"
2234 prototype: "QtCharts::QBarModelMapper"
2206 exports: [
2235 exports: [
2207 "QtCharts/VBarModelMapper 1.0",
2236 "QtCharts/VBarModelMapper 1.0",
2208 "QtCharts/VBarModelMapper 2.0"
2237 "QtCharts/VBarModelMapper 2.0"
2209 ]
2238 ]
2210 exportMetaObjectRevisions: [0, 0]
2239 exportMetaObjectRevisions: [0, 0]
2211 Property { name: "series"; type: "QAbstractBarSeries"; isPointer: true }
2240 Property { name: "series"; type: "QAbstractBarSeries"; isPointer: true }
2212 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2241 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2213 Property { name: "firstBarSetColumn"; type: "int" }
2242 Property { name: "firstBarSetColumn"; type: "int" }
2214 Property { name: "lastBarSetColumn"; type: "int" }
2243 Property { name: "lastBarSetColumn"; type: "int" }
2215 Property { name: "firstRow"; type: "int" }
2244 Property { name: "firstRow"; type: "int" }
2216 Property { name: "rowCount"; type: "int" }
2245 Property { name: "rowCount"; type: "int" }
2217 Signal { name: "seriesReplaced" }
2246 Signal { name: "seriesReplaced" }
2218 Signal { name: "modelReplaced" }
2247 Signal { name: "modelReplaced" }
2219 }
2248 }
2220 Component {
2249 Component {
2221 name: "QtCharts::QVBoxPlotModelMapper"
2250 name: "QtCharts::QVBoxPlotModelMapper"
2222 prototype: "QtCharts::QBoxPlotModelMapper"
2251 prototype: "QtCharts::QBoxPlotModelMapper"
2223 exports: ["QtCharts/VBoxPlotModelMapper 2.0"]
2252 exports: ["QtCharts/VBoxPlotModelMapper 2.0"]
2224 exportMetaObjectRevisions: [0]
2253 exportMetaObjectRevisions: [0]
2225 Property { name: "series"; type: "QBoxPlotSeries"; isPointer: true }
2254 Property { name: "series"; type: "QBoxPlotSeries"; isPointer: true }
2226 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2255 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2227 Property { name: "firstBoxSetColumn"; type: "int" }
2256 Property { name: "firstBoxSetColumn"; type: "int" }
2228 Property { name: "lastBoxSetColumn"; type: "int" }
2257 Property { name: "lastBoxSetColumn"; type: "int" }
2229 Property { name: "firstRow"; type: "int" }
2258 Property { name: "firstRow"; type: "int" }
2230 Property { name: "rowCount"; type: "int" }
2259 Property { name: "rowCount"; type: "int" }
2231 Signal { name: "seriesReplaced" }
2260 Signal { name: "seriesReplaced" }
2232 Signal { name: "modelReplaced" }
2261 Signal { name: "modelReplaced" }
2233 }
2262 }
2234 Component {
2263 Component {
2235 name: "QtCharts::QVPieModelMapper"
2264 name: "QtCharts::QVPieModelMapper"
2236 prototype: "QtCharts::QPieModelMapper"
2265 prototype: "QtCharts::QPieModelMapper"
2237 exports: [
2266 exports: [
2238 "QtCharts/VPieModelMapper 1.0",
2267 "QtCharts/VPieModelMapper 1.0",
2239 "QtCharts/VPieModelMapper 2.0"
2268 "QtCharts/VPieModelMapper 2.0"
2240 ]
2269 ]
2241 exportMetaObjectRevisions: [0, 0]
2270 exportMetaObjectRevisions: [0, 0]
2242 Property { name: "series"; type: "QPieSeries"; isPointer: true }
2271 Property { name: "series"; type: "QPieSeries"; isPointer: true }
2243 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2272 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2244 Property { name: "valuesColumn"; type: "int" }
2273 Property { name: "valuesColumn"; type: "int" }
2245 Property { name: "labelsColumn"; type: "int" }
2274 Property { name: "labelsColumn"; type: "int" }
2246 Property { name: "firstRow"; type: "int" }
2275 Property { name: "firstRow"; type: "int" }
2247 Property { name: "rowCount"; type: "int" }
2276 Property { name: "rowCount"; type: "int" }
2248 Signal { name: "seriesReplaced" }
2277 Signal { name: "seriesReplaced" }
2249 Signal { name: "modelReplaced" }
2278 Signal { name: "modelReplaced" }
2250 }
2279 }
2251 Component {
2280 Component {
2252 name: "QtCharts::QVXYModelMapper"
2281 name: "QtCharts::QVXYModelMapper"
2253 prototype: "QtCharts::QXYModelMapper"
2282 prototype: "QtCharts::QXYModelMapper"
2254 exports: [
2283 exports: [
2255 "QtCharts/VXYModelMapper 1.0",
2284 "QtCharts/VXYModelMapper 1.0",
2256 "QtCharts/VXYModelMapper 2.0"
2285 "QtCharts/VXYModelMapper 2.0"
2257 ]
2286 ]
2258 exportMetaObjectRevisions: [0, 0]
2287 exportMetaObjectRevisions: [0, 0]
2259 Property { name: "series"; type: "QXYSeries"; isPointer: true }
2288 Property { name: "series"; type: "QXYSeries"; isPointer: true }
2260 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2289 Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
2261 Property { name: "xColumn"; type: "int" }
2290 Property { name: "xColumn"; type: "int" }
2262 Property { name: "yColumn"; type: "int" }
2291 Property { name: "yColumn"; type: "int" }
2263 Property { name: "firstRow"; type: "int" }
2292 Property { name: "firstRow"; type: "int" }
2264 Property { name: "rowCount"; type: "int" }
2293 Property { name: "rowCount"; type: "int" }
2265 Signal { name: "seriesReplaced" }
2294 Signal { name: "seriesReplaced" }
2266 Signal { name: "modelReplaced" }
2295 Signal { name: "modelReplaced" }
2267 }
2296 }
2268 Component {
2297 Component {
2269 name: "QtCharts::QValueAxis"
2298 name: "QtCharts::QValueAxis"
2270 prototype: "QtCharts::QAbstractAxis"
2299 prototype: "QtCharts::QAbstractAxis"
2271 exports: [
2300 exports: [
2272 "QtCharts/ValueAxis 1.1",
2301 "QtCharts/ValueAxis 1.1",
2273 "QtCharts/ValueAxis 2.0",
2302 "QtCharts/ValueAxis 2.0",
2274 "QtCharts/ValuesAxis 1.0"
2303 "QtCharts/ValuesAxis 1.0"
2275 ]
2304 ]
2276 exportMetaObjectRevisions: [0, 0, 0]
2305 exportMetaObjectRevisions: [0, 0, 0]
2277 Property { name: "tickCount"; type: "int" }
2306 Property { name: "tickCount"; type: "int" }
2278 Property { name: "min"; type: "double" }
2307 Property { name: "min"; type: "double" }
2279 Property { name: "max"; type: "double" }
2308 Property { name: "max"; type: "double" }
2280 Property { name: "labelFormat"; type: "string" }
2309 Property { name: "labelFormat"; type: "string" }
2281 Signal {
2310 Signal {
2282 name: "minChanged"
2311 name: "minChanged"
2283 Parameter { name: "min"; type: "double" }
2312 Parameter { name: "min"; type: "double" }
2284 }
2313 }
2285 Signal {
2314 Signal {
2286 name: "maxChanged"
2315 name: "maxChanged"
2287 Parameter { name: "max"; type: "double" }
2316 Parameter { name: "max"; type: "double" }
2288 }
2317 }
2289 Signal {
2318 Signal {
2290 name: "rangeChanged"
2319 name: "rangeChanged"
2291 Parameter { name: "min"; type: "double" }
2320 Parameter { name: "min"; type: "double" }
2292 Parameter { name: "max"; type: "double" }
2321 Parameter { name: "max"; type: "double" }
2293 }
2322 }
2294 Signal {
2323 Signal {
2295 name: "tickCountChanged"
2324 name: "tickCountChanged"
2296 Parameter { name: "tickCount"; type: "int" }
2325 Parameter { name: "tickCount"; type: "int" }
2297 }
2326 }
2298 Signal {
2327 Signal {
2299 name: "labelFormatChanged"
2328 name: "labelFormatChanged"
2300 Parameter { name: "format"; type: "string" }
2329 Parameter { name: "format"; type: "string" }
2301 }
2330 }
2302 Method { name: "applyNiceNumbers" }
2331 Method { name: "applyNiceNumbers" }
2303 }
2332 }
2304 Component {
2333 Component {
2305 name: "QtCharts::QXYModelMapper"
2334 name: "QtCharts::QXYModelMapper"
2306 prototype: "QObject"
2335 prototype: "QObject"
2307 exports: ["QtCharts/XYModelMapper 1.0", "QtCharts/XYModelMapper 2.0"]
2336 exports: ["QtCharts/XYModelMapper 1.0", "QtCharts/XYModelMapper 2.0"]
2308 isCreatable: false
2337 isCreatable: false
2309 exportMetaObjectRevisions: [0, 0]
2338 exportMetaObjectRevisions: [0, 0]
2310 }
2339 }
2311 Component {
2340 Component {
2312 name: "QtCharts::QXYSeries"
2341 name: "QtCharts::QXYSeries"
2313 prototype: "QtCharts::QAbstractSeries"
2342 prototype: "QtCharts::QAbstractSeries"
2314 exports: ["QtCharts/XYSeries 1.0", "QtCharts/XYSeries 2.0"]
2343 exports: ["QtCharts/XYSeries 1.0", "QtCharts/XYSeries 2.0"]
2315 isCreatable: false
2344 isCreatable: false
2316 exportMetaObjectRevisions: [0, 0]
2345 exportMetaObjectRevisions: [0, 0]
2317 Property { name: "pointsVisible"; type: "bool" }
2346 Property { name: "pointsVisible"; type: "bool" }
2318 Property { name: "color"; type: "QColor" }
2347 Property { name: "color"; type: "QColor" }
2319 Property { name: "pointLabelsFormat"; type: "string" }
2348 Property { name: "pointLabelsFormat"; type: "string" }
2320 Property { name: "pointLabelsVisible"; type: "bool" }
2349 Property { name: "pointLabelsVisible"; type: "bool" }
2321 Property { name: "pointLabelsFont"; type: "QFont" }
2350 Property { name: "pointLabelsFont"; type: "QFont" }
2322 Property { name: "pointLabelsColor"; type: "QColor" }
2351 Property { name: "pointLabelsColor"; type: "QColor" }
2323 Signal {
2352 Signal {
2324 name: "clicked"
2353 name: "clicked"
2325 Parameter { name: "point"; type: "QPointF" }
2354 Parameter { name: "point"; type: "QPointF" }
2326 }
2355 }
2327 Signal {
2356 Signal {
2328 name: "hovered"
2357 name: "hovered"
2329 Parameter { name: "point"; type: "QPointF" }
2358 Parameter { name: "point"; type: "QPointF" }
2330 Parameter { name: "state"; type: "bool" }
2359 Parameter { name: "state"; type: "bool" }
2331 }
2360 }
2332 Signal {
2361 Signal {
2333 name: "pressed"
2362 name: "pressed"
2334 Parameter { name: "point"; type: "QPointF" }
2363 Parameter { name: "point"; type: "QPointF" }
2335 }
2364 }
2336 Signal {
2365 Signal {
2337 name: "released"
2366 name: "released"
2338 Parameter { name: "point"; type: "QPointF" }
2367 Parameter { name: "point"; type: "QPointF" }
2339 }
2368 }
2340 Signal {
2369 Signal {
2341 name: "doubleClicked"
2370 name: "doubleClicked"
2342 Parameter { name: "point"; type: "QPointF" }
2371 Parameter { name: "point"; type: "QPointF" }
2343 }
2372 }
2344 Signal {
2373 Signal {
2345 name: "pointReplaced"
2374 name: "pointReplaced"
2346 Parameter { name: "index"; type: "int" }
2375 Parameter { name: "index"; type: "int" }
2347 }
2376 }
2348 Signal {
2377 Signal {
2349 name: "pointRemoved"
2378 name: "pointRemoved"
2350 Parameter { name: "index"; type: "int" }
2379 Parameter { name: "index"; type: "int" }
2351 }
2380 }
2352 Signal {
2381 Signal {
2353 name: "pointAdded"
2382 name: "pointAdded"
2354 Parameter { name: "index"; type: "int" }
2383 Parameter { name: "index"; type: "int" }
2355 }
2384 }
2356 Signal {
2385 Signal {
2357 name: "colorChanged"
2386 name: "colorChanged"
2358 Parameter { name: "color"; type: "QColor" }
2387 Parameter { name: "color"; type: "QColor" }
2359 }
2388 }
2360 Signal { name: "pointsReplaced" }
2389 Signal { name: "pointsReplaced" }
2361 Signal {
2390 Signal {
2362 name: "pointLabelsFormatChanged"
2391 name: "pointLabelsFormatChanged"
2363 Parameter { name: "format"; type: "string" }
2392 Parameter { name: "format"; type: "string" }
2364 }
2393 }
2365 Signal {
2394 Signal {
2366 name: "pointLabelsVisibilityChanged"
2395 name: "pointLabelsVisibilityChanged"
2367 Parameter { name: "visible"; type: "bool" }
2396 Parameter { name: "visible"; type: "bool" }
2368 }
2397 }
2369 Signal {
2398 Signal {
2370 name: "pointLabelsFontChanged"
2399 name: "pointLabelsFontChanged"
2371 Parameter { name: "font"; type: "QFont" }
2400 Parameter { name: "font"; type: "QFont" }
2372 }
2401 }
2373 Signal {
2402 Signal {
2374 name: "pointLabelsColorChanged"
2403 name: "pointLabelsColorChanged"
2375 Parameter { name: "color"; type: "QColor" }
2404 Parameter { name: "color"; type: "QColor" }
2376 }
2405 }
2377 }
2406 }
2378 }
2407 }
@@ -1,306 +1,318
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 #include "../qabstractaxis/tst_qabstractaxis.h"
19 #include "../qabstractaxis/tst_qabstractaxis.h"
20 #include <QtCharts/QCategoryAxis>
20 #include <QtCharts/QCategoryAxis>
21 #include <QtCharts/QLineSeries>
21 #include <QtCharts/QLineSeries>
22
22
23 class tst_QCategoryAxis: public tst_QAbstractAxis
23 class tst_QCategoryAxis: public tst_QAbstractAxis
24 {
24 {
25 Q_OBJECT
25 Q_OBJECT
26
26
27 public slots:
27 public slots:
28 void initTestCase();
28 void initTestCase();
29 void cleanupTestCase();
29 void cleanupTestCase();
30 void init();
30 void init();
31 void cleanup();
31 void cleanup();
32
32
33 private slots:
33 private slots:
34 void qcategoryaxis_data();
34 void qcategoryaxis_data();
35 void qcategoryaxis();
35 void qcategoryaxis();
36
36
37 void max_raw_data();
37 void max_raw_data();
38 void max_raw();
38 void max_raw();
39 void max_data();
39 void max_data();
40 void max();
40 void max();
41 void max_animation_data();
41 void max_animation_data();
42 void max_animation();
42 void max_animation();
43 void min_raw_data();
43 void min_raw_data();
44 void min_raw();
44 void min_raw();
45 void min_data();
45 void min_data();
46 void min();
46 void min();
47 void min_animation_data();
47 void min_animation_data();
48 void min_animation();
48 void min_animation();
49 void range_raw_data();
49 void range_raw_data();
50 void range_raw();
50 void range_raw();
51 void range_data();
51 void range_data();
52 void range();
52 void range();
53 void range_animation_data();
53 void range_animation_data();
54 void range_animation();
54 void range_animation();
55 void labels_position();
55
56
56 void interval_data();
57 void interval_data();
57 void interval();
58 void interval();
58
59
59 private:
60 private:
60 QCategoryAxis* m_categoryaxis;
61 QCategoryAxis* m_categoryaxis;
61 QLineSeries* m_series;
62 QLineSeries* m_series;
62 };
63 };
63
64
64 void tst_QCategoryAxis::initTestCase()
65 void tst_QCategoryAxis::initTestCase()
65 {
66 {
67 qRegisterMetaType<QCategoryAxis::AxisLabelsPosition>("QCategoryAxis::AxisLabelsPosition");
66 }
68 }
67
69
68 void tst_QCategoryAxis::cleanupTestCase()
70 void tst_QCategoryAxis::cleanupTestCase()
69 {
71 {
70 QTest::qWait(1); // Allow final deleteLaters to run
72 QTest::qWait(1); // Allow final deleteLaters to run
71 }
73 }
72
74
73 void tst_QCategoryAxis::init()
75 void tst_QCategoryAxis::init()
74 {
76 {
75 m_categoryaxis = new QCategoryAxis();
77 m_categoryaxis = new QCategoryAxis();
76 m_series = new QLineSeries();
78 m_series = new QLineSeries();
77 *m_series << QPointF(-100, -100) << QPointF(0, 0) << QPointF(100, 100);
79 *m_series << QPointF(-100, -100) << QPointF(0, 0) << QPointF(100, 100);
78 tst_QAbstractAxis::init(m_categoryaxis, m_series);
80 tst_QAbstractAxis::init(m_categoryaxis, m_series);
79 m_chart->addSeries(m_series);
81 m_chart->addSeries(m_series);
80 m_chart->createDefaultAxes();
82 m_chart->createDefaultAxes();
81 }
83 }
82
84
83 void tst_QCategoryAxis::cleanup()
85 void tst_QCategoryAxis::cleanup()
84 {
86 {
85 delete m_series;
87 delete m_series;
86 delete m_categoryaxis;
88 delete m_categoryaxis;
87 m_series = 0;
89 m_series = 0;
88 m_categoryaxis = 0;
90 m_categoryaxis = 0;
89 tst_QAbstractAxis::cleanup();
91 tst_QAbstractAxis::cleanup();
90 }
92 }
91
93
92 void tst_QCategoryAxis::qcategoryaxis_data()
94 void tst_QCategoryAxis::qcategoryaxis_data()
93 {
95 {
94 }
96 }
95
97
96 void tst_QCategoryAxis::qcategoryaxis()
98 void tst_QCategoryAxis::qcategoryaxis()
97 {
99 {
98 qabstractaxis();
100 qabstractaxis();
99
101
100 QVERIFY(qFuzzyCompare(m_categoryaxis->max(), 0));
102 QVERIFY(qFuzzyCompare(m_categoryaxis->max(), 0));
101 QVERIFY(qFuzzyCompare(m_categoryaxis->min(), 0));
103 QVERIFY(qFuzzyCompare(m_categoryaxis->min(), 0));
102 QCOMPARE(m_categoryaxis->type(), QAbstractAxis::AxisTypeCategory);
104 QCOMPARE(m_categoryaxis->type(), QAbstractAxis::AxisTypeCategory);
105 QCOMPARE(m_categoryaxis->labelsPosition(), QCategoryAxis::AxisLabelsPositionCenter);
103
106
104 m_chart->setAxisX(m_categoryaxis, m_series);
107 m_chart->setAxisX(m_categoryaxis, m_series);
105 m_view->show();
108 m_view->show();
106 QTest::qWaitForWindowShown(m_view);
109 QTest::qWaitForWindowShown(m_view);
107
110
108 QVERIFY(!qFuzzyCompare(m_categoryaxis->max(), 0));
111 QVERIFY(!qFuzzyCompare(m_categoryaxis->max(), 0));
109 QVERIFY(!qFuzzyCompare(m_categoryaxis->min(), 0));
112 QVERIFY(!qFuzzyCompare(m_categoryaxis->min(), 0));
110 }
113 }
111
114
112 void tst_QCategoryAxis::max_raw_data()
115 void tst_QCategoryAxis::max_raw_data()
113 {
116 {
114 QTest::addColumn<qreal>("max");
117 QTest::addColumn<qreal>("max");
115 QTest::newRow("1.0") << (qreal)1.0;
118 QTest::newRow("1.0") << (qreal)1.0;
116 QTest::newRow("50.0") << (qreal)50.0;
119 QTest::newRow("50.0") << (qreal)50.0;
117 QTest::newRow("101.0") << (qreal)101.0;
120 QTest::newRow("101.0") << (qreal)101.0;
118 }
121 }
119
122
120 void tst_QCategoryAxis::max_raw()
123 void tst_QCategoryAxis::max_raw()
121 {
124 {
122 QFETCH(qreal, max);
125 QFETCH(qreal, max);
123
126
124 QSignalSpy spy0(m_categoryaxis, SIGNAL(maxChanged(qreal)));
127 QSignalSpy spy0(m_categoryaxis, SIGNAL(maxChanged(qreal)));
125 QSignalSpy spy1(m_categoryaxis, SIGNAL(minChanged(qreal)));
128 QSignalSpy spy1(m_categoryaxis, SIGNAL(minChanged(qreal)));
126 QSignalSpy spy2(m_categoryaxis, SIGNAL(rangeChanged(qreal,qreal)));
129 QSignalSpy spy2(m_categoryaxis, SIGNAL(rangeChanged(qreal,qreal)));
127
130
128 m_categoryaxis->setMax(max);
131 m_categoryaxis->setMax(max);
129 QVERIFY2(qFuzzyCompare(m_categoryaxis->max(), max), "Not equal");
132 QVERIFY2(qFuzzyCompare(m_categoryaxis->max(), max), "Not equal");
130
133
131 QCOMPARE(spy0.count(), 1);
134 QCOMPARE(spy0.count(), 1);
132 QCOMPARE(spy1.count(), 0);
135 QCOMPARE(spy1.count(), 0);
133 QCOMPARE(spy2.count(), 1);
136 QCOMPARE(spy2.count(), 1);
134 }
137 }
135
138
136 void tst_QCategoryAxis::max_data()
139 void tst_QCategoryAxis::max_data()
137 {
140 {
138 max_raw_data();
141 max_raw_data();
139 }
142 }
140
143
141 void tst_QCategoryAxis::max()
144 void tst_QCategoryAxis::max()
142 {
145 {
143 m_chart->setAxisX(m_categoryaxis, m_series);
146 m_chart->setAxisX(m_categoryaxis, m_series);
144 m_view->show();
147 m_view->show();
145 QTest::qWaitForWindowShown(m_view);
148 QTest::qWaitForWindowShown(m_view);
146 max_raw();
149 max_raw();
147 }
150 }
148
151
149 void tst_QCategoryAxis::max_animation_data()
152 void tst_QCategoryAxis::max_animation_data()
150 {
153 {
151 max_data();
154 max_data();
152 }
155 }
153
156
154 void tst_QCategoryAxis::max_animation()
157 void tst_QCategoryAxis::max_animation()
155 {
158 {
156 m_chart->setAnimationOptions(QChart::GridAxisAnimations);
159 m_chart->setAnimationOptions(QChart::GridAxisAnimations);
157 max();
160 max();
158 }
161 }
159
162
160 void tst_QCategoryAxis::min_raw_data()
163 void tst_QCategoryAxis::min_raw_data()
161 {
164 {
162 QTest::addColumn<qreal>("min");
165 QTest::addColumn<qreal>("min");
163 QTest::newRow("-1.0") << (qreal)-1.0;
166 QTest::newRow("-1.0") << (qreal)-1.0;
164 QTest::newRow("-50.0") << (qreal)-50.0;
167 QTest::newRow("-50.0") << (qreal)-50.0;
165 QTest::newRow("-101.0") << (qreal)-101.0;
168 QTest::newRow("-101.0") << (qreal)-101.0;
166 }
169 }
167
170
168 void tst_QCategoryAxis::min_raw()
171 void tst_QCategoryAxis::min_raw()
169 {
172 {
170 QFETCH(qreal, min);
173 QFETCH(qreal, min);
171
174
172 QSignalSpy spy0(m_categoryaxis, SIGNAL(maxChanged(qreal)));
175 QSignalSpy spy0(m_categoryaxis, SIGNAL(maxChanged(qreal)));
173 QSignalSpy spy1(m_categoryaxis, SIGNAL(minChanged(qreal)));
176 QSignalSpy spy1(m_categoryaxis, SIGNAL(minChanged(qreal)));
174 QSignalSpy spy2(m_categoryaxis, SIGNAL(rangeChanged(qreal,qreal)));
177 QSignalSpy spy2(m_categoryaxis, SIGNAL(rangeChanged(qreal,qreal)));
175
178
176 m_categoryaxis->setMin(min);
179 m_categoryaxis->setMin(min);
177 QVERIFY2(qFuzzyCompare(m_categoryaxis->min(), min), "Not equal");
180 QVERIFY2(qFuzzyCompare(m_categoryaxis->min(), min), "Not equal");
178
181
179 QCOMPARE(spy0.count(), 0);
182 QCOMPARE(spy0.count(), 0);
180 QCOMPARE(spy1.count(), 1);
183 QCOMPARE(spy1.count(), 1);
181 QCOMPARE(spy2.count(), 1);
184 QCOMPARE(spy2.count(), 1);
182 }
185 }
183
186
184 void tst_QCategoryAxis::min_data()
187 void tst_QCategoryAxis::min_data()
185 {
188 {
186 min_raw_data();
189 min_raw_data();
187 }
190 }
188
191
189 void tst_QCategoryAxis::min()
192 void tst_QCategoryAxis::min()
190 {
193 {
191 m_chart->setAxisX(m_categoryaxis, m_series);
194 m_chart->setAxisX(m_categoryaxis, m_series);
192 m_view->show();
195 m_view->show();
193 QTest::qWaitForWindowShown(m_view);
196 QTest::qWaitForWindowShown(m_view);
194 min_raw();
197 min_raw();
195 }
198 }
196
199
197 void tst_QCategoryAxis::min_animation_data()
200 void tst_QCategoryAxis::min_animation_data()
198 {
201 {
199 min_data();
202 min_data();
200 }
203 }
201
204
202 void tst_QCategoryAxis::min_animation()
205 void tst_QCategoryAxis::min_animation()
203 {
206 {
204 m_chart->setAnimationOptions(QChart::GridAxisAnimations);
207 m_chart->setAnimationOptions(QChart::GridAxisAnimations);
205 min();
208 min();
206 }
209 }
207
210
208 void tst_QCategoryAxis::range_raw_data()
211 void tst_QCategoryAxis::range_raw_data()
209 {
212 {
210 QTest::addColumn<qreal>("min");
213 QTest::addColumn<qreal>("min");
211 QTest::addColumn<qreal>("max");
214 QTest::addColumn<qreal>("max");
212 QTest::newRow("1.0 - 101.0") << (qreal)-1.0 << (qreal)101.0;
215 QTest::newRow("1.0 - 101.0") << (qreal)-1.0 << (qreal)101.0;
213 QTest::newRow("25.0 - 75.0") << (qreal)25.0 << (qreal)75.0;
216 QTest::newRow("25.0 - 75.0") << (qreal)25.0 << (qreal)75.0;
214 QTest::newRow("101.0") << (qreal)40.0 << (qreal)60.0;
217 QTest::newRow("101.0") << (qreal)40.0 << (qreal)60.0;
215 QTest::newRow("-35.0 - 0.0") << (qreal)-35.0 << (qreal)10.0;
218 QTest::newRow("-35.0 - 0.0") << (qreal)-35.0 << (qreal)10.0;
216 QTest::newRow("-35.0 - 0.0") << (qreal)-35.0 << (qreal)-15.0;
219 QTest::newRow("-35.0 - 0.0") << (qreal)-35.0 << (qreal)-15.0;
217 QTest::newRow("0.0 - 0.0") << (qreal)-0.1 << (qreal)0.1;
220 QTest::newRow("0.0 - 0.0") << (qreal)-0.1 << (qreal)0.1;
218 }
221 }
219
222
220 void tst_QCategoryAxis::range_raw()
223 void tst_QCategoryAxis::range_raw()
221 {
224 {
222 QFETCH(qreal, min);
225 QFETCH(qreal, min);
223 QFETCH(qreal, max);
226 QFETCH(qreal, max);
224
227
225 QSignalSpy spy0(m_categoryaxis, SIGNAL(maxChanged(qreal)));
228 QSignalSpy spy0(m_categoryaxis, SIGNAL(maxChanged(qreal)));
226 QSignalSpy spy1(m_categoryaxis, SIGNAL(minChanged(qreal)));
229 QSignalSpy spy1(m_categoryaxis, SIGNAL(minChanged(qreal)));
227 QSignalSpy spy2(m_categoryaxis, SIGNAL(rangeChanged(qreal,qreal)));
230 QSignalSpy spy2(m_categoryaxis, SIGNAL(rangeChanged(qreal,qreal)));
228
231
229 m_categoryaxis->setRange(min, max);
232 m_categoryaxis->setRange(min, max);
230 QVERIFY2(qFuzzyCompare(m_categoryaxis->min(), min), "Min not equal");
233 QVERIFY2(qFuzzyCompare(m_categoryaxis->min(), min), "Min not equal");
231 QVERIFY2(qFuzzyCompare(m_categoryaxis->max(), max), "Max not equal");
234 QVERIFY2(qFuzzyCompare(m_categoryaxis->max(), max), "Max not equal");
232
235
233 QCOMPARE(spy0.count(), 1);
236 QCOMPARE(spy0.count(), 1);
234 QCOMPARE(spy1.count(), 1);
237 QCOMPARE(spy1.count(), 1);
235 QCOMPARE(spy2.count(), 1);
238 QCOMPARE(spy2.count(), 1);
236 }
239 }
237
240
238 void tst_QCategoryAxis::range_data()
241 void tst_QCategoryAxis::range_data()
239 {
242 {
240 range_raw_data();
243 range_raw_data();
241 }
244 }
242
245
243 void tst_QCategoryAxis::range()
246 void tst_QCategoryAxis::range()
244 {
247 {
245 m_chart->setAxisX(m_categoryaxis, m_series);
248 m_chart->setAxisX(m_categoryaxis, m_series);
246 m_view->show();
249 m_view->show();
247 QTest::qWaitForWindowShown(m_view);
250 QTest::qWaitForWindowShown(m_view);
248 range_raw();
251 range_raw();
249 }
252 }
250
253
251 void tst_QCategoryAxis::range_animation_data()
254 void tst_QCategoryAxis::range_animation_data()
252 {
255 {
253 range_data();
256 range_data();
254 }
257 }
255
258
256 void tst_QCategoryAxis::range_animation()
259 void tst_QCategoryAxis::range_animation()
257 {
260 {
258 m_chart->setAnimationOptions(QChart::GridAxisAnimations);
261 m_chart->setAnimationOptions(QChart::GridAxisAnimations);
259 range();
262 range();
260 }
263 }
261
264
262 void tst_QCategoryAxis::interval_data()
265 void tst_QCategoryAxis::interval_data()
263 {
266 {
264 //
267 //
265 }
268 }
266
269
267 void tst_QCategoryAxis::interval()
270 void tst_QCategoryAxis::interval()
268 {
271 {
269 // append one correct interval
272 // append one correct interval
270 m_categoryaxis->append("first", (qreal)45);
273 m_categoryaxis->append("first", (qreal)45);
271 QCOMPARE(m_categoryaxis->startValue("first"), (qreal)0);
274 QCOMPARE(m_categoryaxis->startValue("first"), (qreal)0);
272 QCOMPARE(m_categoryaxis->endValue("first"), (qreal)45);
275 QCOMPARE(m_categoryaxis->endValue("first"), (qreal)45);
273
276
274 // append one more correct interval
277 // append one more correct interval
275 m_categoryaxis->append("second", (qreal)75);
278 m_categoryaxis->append("second", (qreal)75);
276 QCOMPARE(m_categoryaxis->startValue("second"), (qreal)45);
279 QCOMPARE(m_categoryaxis->startValue("second"), (qreal)45);
277 QCOMPARE(m_categoryaxis->endValue("second"), (qreal)75);
280 QCOMPARE(m_categoryaxis->endValue("second"), (qreal)75);
278
281
279 // append one incorrect interval
282 // append one incorrect interval
280 m_categoryaxis->append("third", (qreal)15);
283 m_categoryaxis->append("third", (qreal)15);
281 QCOMPARE(m_categoryaxis->count(), 2);
284 QCOMPARE(m_categoryaxis->count(), 2);
282 QCOMPARE(m_categoryaxis->endValue(m_categoryaxis->categoriesLabels().last()), (qreal)75);
285 QCOMPARE(m_categoryaxis->endValue(m_categoryaxis->categoriesLabels().last()), (qreal)75);
283 // QCOMPARE(intervalMax("first"), (qreal)75);
286 // QCOMPARE(intervalMax("first"), (qreal)75);
284
287
285 // append one more correct interval
288 // append one more correct interval
286 m_categoryaxis->append("third", (qreal)100);
289 m_categoryaxis->append("third", (qreal)100);
287 QCOMPARE(m_categoryaxis->count(), 3);
290 QCOMPARE(m_categoryaxis->count(), 3);
288 QCOMPARE(m_categoryaxis->startValue("third"), (qreal)75);
291 QCOMPARE(m_categoryaxis->startValue("third"), (qreal)75);
289 QCOMPARE(m_categoryaxis->endValue("third"), (qreal)100);
292 QCOMPARE(m_categoryaxis->endValue("third"), (qreal)100);
290
293
291 // remove one interval
294 // remove one interval
292 m_categoryaxis->remove("first");
295 m_categoryaxis->remove("first");
293 QCOMPARE(m_categoryaxis->count(), 2);
296 QCOMPARE(m_categoryaxis->count(), 2);
294 QCOMPARE(m_categoryaxis->startValue("second"), (qreal)0); // second interval should extend to firstInterval minimum
297 QCOMPARE(m_categoryaxis->startValue("second"), (qreal)0); // second interval should extend to firstInterval minimum
295 QCOMPARE(m_categoryaxis->endValue("second"), (qreal)75);
298 QCOMPARE(m_categoryaxis->endValue("second"), (qreal)75);
296
299
297 // remove one interval
300 // remove one interval
298 m_categoryaxis->replaceLabel("second", "replaced");
301 m_categoryaxis->replaceLabel("second", "replaced");
299 QCOMPARE(m_categoryaxis->count(), 2);
302 QCOMPARE(m_categoryaxis->count(), 2);
300 QCOMPARE(m_categoryaxis->startValue("replaced"), (qreal)0); // second interval should extend to firstInterval minimum
303 QCOMPARE(m_categoryaxis->startValue("replaced"), (qreal)0); // second interval should extend to firstInterval minimum
301 QCOMPARE(m_categoryaxis->endValue("replaced"), (qreal)75);
304 QCOMPARE(m_categoryaxis->endValue("replaced"), (qreal)75);
302 }
305 }
303
306
307 void tst_QCategoryAxis::labels_position()
308 {
309 QSignalSpy spy(m_categoryaxis,
310 SIGNAL(labelsPositionChanged(QCategoryAxis::AxisLabelsPosition)));
311 m_categoryaxis->setLabelsPosition(QCategoryAxis::AxisLabelsPositionOnValue);
312 QCOMPARE(m_categoryaxis->labelsPosition(), QCategoryAxis::AxisLabelsPositionOnValue);
313 QCOMPARE(spy.count(), 1);
314 }
315
304 QTEST_MAIN(tst_QCategoryAxis)
316 QTEST_MAIN(tst_QCategoryAxis)
305 #include "tst_qcategoryaxis.moc"
317 #include "tst_qcategoryaxis.moc"
306
318
@@ -1,82 +1,97
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18
18
19 import QtQuick 2.0
19 import QtQuick 2.0
20 import QtTest 1.0
20 import QtTest 1.0
21 import QtCharts 2.0
21 import QtCharts 2.1
22
22
23 Rectangle {
23 Rectangle {
24 width: 400
24 width: 400
25 height: 300
25 height: 300
26
26
27 TestCase {
27 TestCase {
28 id: tc1
28 id: tc1
29 name: "tst_qml-qtquicktest CategoryAxis"
29 name: "tst_qml-qtquicktest CategoryAxis"
30 when: windowShown
30 when: windowShown
31
31
32 function test_minMax() {
32 function test_minMax() {
33 compare(lineSeries1.axisX.min, 0, "AxisX min");
33 compare(lineSeries1.axisX.min, 0, "AxisX min");
34 compare(lineSeries1.axisX.max, 10, "AxisX max");
34 compare(lineSeries1.axisX.max, 10, "AxisX max");
35 compare(lineSeries1.axisY.min, 0, "AxisY min");
35 compare(lineSeries1.axisY.min, 0, "AxisY min");
36 compare(lineSeries1.axisY.max, 10, "AxisY max");
36 compare(lineSeries1.axisY.max, 10, "AxisY max");
37 }
37 }
38
38
39 function test_categories() {
39 function test_categories() {
40 compare(lineSeries1.axisY.startValue, 0, "AxisY start value");
40 compare(lineSeries1.axisY.startValue, 0, "AxisY start value");
41 compare(lineSeries1.axisY.count, 3, "AxisY count");
41 compare(lineSeries1.axisY.count, 3, "AxisY count");
42 compare(lineSeries1.axisY.categoriesLabels[0], "label0", "AxisY categories labels");
42 compare(lineSeries1.axisY.categoriesLabels[0], "label0", "AxisY categories labels");
43 compare(lineSeries1.axisY.categoriesLabels[1], "label1", "AxisY categories labels");
43 compare(lineSeries1.axisY.categoriesLabels[1], "label1", "AxisY categories labels");
44 compare(lineSeries1.axisY.categoriesLabels[2], "label2", "AxisY categories labels");
44 compare(lineSeries1.axisY.categoriesLabels[2], "label2", "AxisY categories labels");
45 }
45 }
46
47 function test_properties() {
48 compare(lineSeries1.axisY.labelsPosition, CategoryAxis.AxisLabelsPositionCenter);
49 }
50
51 function test_signals() {
52 axisLabelsPositionSpy.clear();
53 lineSeries1.axisY.labelsPosition = CategoryAxis.AxisLabelsPositionOnValue;
54 compare(axisLabelsPositionSpy.count, 1, "onLabelsPositionChanged")
55 }
46 }
56 }
47
57
48 ChartView {
58 ChartView {
49 id: chartView
59 id: chartView
50 anchors.fill: parent
60 anchors.fill: parent
51
61
52 LineSeries {
62 LineSeries {
53 id: lineSeries1
63 id: lineSeries1
54 axisX: ValueAxis {
64 axisX: ValueAxis {
55 id: axisX
65 id: axisX
56 min: 0
66 min: 0
57 max: 10
67 max: 10
58 }
68 }
59 axisY: CategoryAxis {
69 axisY: CategoryAxis {
60 id: axisY
70 id: axisY
61 min: 0
71 min: 0
62 max: 10
72 max: 10
63 startValue: 0
73 startValue: 0
64 CategoryRange {
74 CategoryRange {
65 label: "label0"
75 label: "label0"
66 endValue: 1
76 endValue: 1
67 }
77 }
68 CategoryRange {
78 CategoryRange {
69 label: "label1"
79 label: "label1"
70 endValue: 3
80 endValue: 3
71 }
81 }
72 CategoryRange {
82 CategoryRange {
73 label: "label2"
83 label: "label2"
74 endValue: 10
84 endValue: 10
75 }
85 }
86 SignalSpy {
87 id: axisLabelsPositionSpy
88 target: axisY
89 signalName: "labelsPositionChanged"
90 }
76 }
91 }
77 XYPoint { x: -1; y: -1 }
92 XYPoint { x: -1; y: -1 }
78 XYPoint { x: 0; y: 0 }
93 XYPoint { x: 0; y: 0 }
79 XYPoint { x: 5; y: 5 }
94 XYPoint { x: 5; y: 5 }
80 }
95 }
81 }
96 }
82 }
97 }
@@ -1,190 +1,199
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd
3 ** Copyright (C) 2015 The Qt Company Ltd
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
5 ** For any questions to The Qt Company, please use contact form at http://qt.io
6 **
6 **
7 ** This file is part of the Qt Charts module.
7 ** This file is part of the Qt Charts module.
8 **
8 **
9 ** Licensees holding valid commercial license for Qt may use this file in
9 ** Licensees holding valid commercial license for Qt may use this file in
10 ** accordance with the Qt License Agreement provided with the Software
10 ** accordance with the Qt License Agreement provided with the Software
11 ** or, alternatively, in accordance with the terms contained in a written
11 ** or, alternatively, in accordance with the terms contained in a written
12 ** agreement between you and The Qt Company.
12 ** agreement between you and The Qt Company.
13 **
13 **
14 ** If you have questions regarding the use of this file, please use
14 ** If you have questions regarding the use of this file, please use
15 ** contact form at http://qt.io
15 ** contact form at http://qt.io
16 **
16 **
17 ****************************************************************************/
17 ****************************************************************************/
18 #include <QtTest/QtTest>
18 #include <QtTest/QtTest>
19 #include <QtQml/QQmlEngine>
19 #include <QtQml/QQmlEngine>
20 #include <QtQml/QQmlComponent>
20 #include <QtQml/QQmlComponent>
21 #include "tst_definitions.h"
21 #include "tst_definitions.h"
22
22
23 class tst_qml : public QObject
23 class tst_qml : public QObject
24 {
24 {
25 Q_OBJECT
25 Q_OBJECT
26
26
27 public slots:
27 public slots:
28 void initTestCase();
28 void initTestCase();
29 void cleanupTestCase();
29 void cleanupTestCase();
30 void init();
30 void init();
31 void cleanup();
31 void cleanup();
32 private slots:
32 private slots:
33 void checkPlugin_data();
33 void checkPlugin_data();
34 void checkPlugin();
34 void checkPlugin();
35 private:
35 private:
36 QString componentErrors(const QQmlComponent* component) const;
36 QString componentErrors(const QQmlComponent* component) const;
37 QString imports_1_1();
37 QString imports_1_1();
38 QString imports_1_3();
38 QString imports_1_3();
39 QString imports_1_4();
39 QString imports_1_4();
40 QString imports_2_0();
40 QString imports_2_0();
41 QString imports_2_1();
41
42
42 };
43 };
43
44
44 QString tst_qml::componentErrors(const QQmlComponent* component) const
45 QString tst_qml::componentErrors(const QQmlComponent* component) const
45 {
46 {
46 Q_ASSERT(component);
47 Q_ASSERT(component);
47
48
48 QStringList errors;
49 QStringList errors;
49
50
50 foreach (QQmlError const& error, component->errors()) {
51 foreach (QQmlError const& error, component->errors()) {
51 errors << error.toString();
52 errors << error.toString();
52 }
53 }
53
54
54 return errors.join("\n");
55 return errors.join("\n");
55 }
56 }
56
57
57 QString tst_qml::imports_1_1()
58 QString tst_qml::imports_1_1()
58 {
59 {
59 return "import QtQuick 2.0 \n"
60 return "import QtQuick 2.0 \n"
60 "import QtCharts 1.1 \n";
61 "import QtCharts 1.1 \n";
61 }
62 }
62
63
63 QString tst_qml::imports_1_3()
64 QString tst_qml::imports_1_3()
64 {
65 {
65 return "import QtQuick 2.0 \n"
66 return "import QtQuick 2.0 \n"
66 "import QtCharts 1.3 \n";
67 "import QtCharts 1.3 \n";
67 }
68 }
68
69
69 QString tst_qml::imports_1_4()
70 QString tst_qml::imports_1_4()
70 {
71 {
71 return "import QtQuick 2.0 \n"
72 return "import QtQuick 2.0 \n"
72 "import QtCharts 1.4 \n";
73 "import QtCharts 1.4 \n";
73 }
74 }
74
75
75 QString tst_qml::imports_2_0()
76 QString tst_qml::imports_2_0()
76 {
77 {
77 return "import QtQuick 2.0 \n"
78 return "import QtQuick 2.0 \n"
78 "import QtCharts 2.0 \n";
79 "import QtCharts 2.0 \n";
79 }
80 }
80
81
82 QString tst_qml::imports_2_1()
83 {
84 return "import QtQuick 2.1 \n"
85 "import QtCharts 2.1 \n";
86 }
87
81 void tst_qml::initTestCase()
88 void tst_qml::initTestCase()
82 {
89 {
83 }
90 }
84
91
85 void tst_qml::cleanupTestCase()
92 void tst_qml::cleanupTestCase()
86 {
93 {
87 }
94 }
88
95
89 void tst_qml::init()
96 void tst_qml::init()
90 {
97 {
91
98
92 }
99 }
93
100
94 void tst_qml::cleanup()
101 void tst_qml::cleanup()
95 {
102 {
96
103
97 }
104 }
98
105
99 void tst_qml::checkPlugin_data()
106 void tst_qml::checkPlugin_data()
100 {
107 {
101 QTest::addColumn<QString>("source");
108 QTest::addColumn<QString>("source");
102
109
103 QTest::newRow("createChartView") << imports_1_1() + "ChartView{}";
110 QTest::newRow("createChartView") << imports_1_1() + "ChartView{}";
104 QTest::newRow("XYPoint") << imports_1_1() + "XYPoint{}";
111 QTest::newRow("XYPoint") << imports_1_1() + "XYPoint{}";
105 QTest::newRow("scatterSeries") << imports_1_1() + "ScatterSeries{}";
112 QTest::newRow("scatterSeries") << imports_1_1() + "ScatterSeries{}";
106 QTest::newRow("lineSeries") << imports_1_1() + "LineSeries{}";
113 QTest::newRow("lineSeries") << imports_1_1() + "LineSeries{}";
107 QTest::newRow("splineSeries") << imports_1_1() + "SplineSeries{}";
114 QTest::newRow("splineSeries") << imports_1_1() + "SplineSeries{}";
108 QTest::newRow("areaSeries") << imports_1_1() + "AreaSeries{}";
115 QTest::newRow("areaSeries") << imports_1_1() + "AreaSeries{}";
109 QTest::newRow("barSeries") << imports_1_1() + "BarSeries{}";
116 QTest::newRow("barSeries") << imports_1_1() + "BarSeries{}";
110 QTest::newRow("stackedBarSeries") << imports_1_1() + "StackedBarSeries{}";
117 QTest::newRow("stackedBarSeries") << imports_1_1() + "StackedBarSeries{}";
111 QTest::newRow("precentBarSeries") << imports_1_1() + "PercentBarSeries{}";
118 QTest::newRow("precentBarSeries") << imports_1_1() + "PercentBarSeries{}";
112 QTest::newRow("horizonatlBarSeries") << imports_1_1() + "HorizontalBarSeries{}";
119 QTest::newRow("horizonatlBarSeries") << imports_1_1() + "HorizontalBarSeries{}";
113 QTest::newRow("horizonatlStackedBarSeries") << imports_1_1() + "HorizontalStackedBarSeries{}";
120 QTest::newRow("horizonatlStackedBarSeries") << imports_1_1() + "HorizontalStackedBarSeries{}";
114 QTest::newRow("horizonatlstackedBarSeries") << imports_1_1() + "HorizontalPercentBarSeries{}";
121 QTest::newRow("horizonatlstackedBarSeries") << imports_1_1() + "HorizontalPercentBarSeries{}";
115 QTest::newRow("pieSeries") << imports_1_1() + "PieSeries{}";
122 QTest::newRow("pieSeries") << imports_1_1() + "PieSeries{}";
116 QTest::newRow("PieSlice") << imports_1_1() + "PieSlice{}";
123 QTest::newRow("PieSlice") << imports_1_1() + "PieSlice{}";
117 QTest::newRow("BarSet") << imports_1_1() + "BarSet{}";
124 QTest::newRow("BarSet") << imports_1_1() + "BarSet{}";
118 QTest::newRow("HXYModelMapper") << imports_1_1() + "HXYModelMapper{}";
125 QTest::newRow("HXYModelMapper") << imports_1_1() + "HXYModelMapper{}";
119 QTest::newRow("VXYModelMapper") << imports_1_1() + "VXYModelMapper{}";
126 QTest::newRow("VXYModelMapper") << imports_1_1() + "VXYModelMapper{}";
120 QTest::newRow("HPieModelMapper") << imports_1_1() + "HPieModelMapper{}";
127 QTest::newRow("HPieModelMapper") << imports_1_1() + "HPieModelMapper{}";
121 QTest::newRow("HPieModelMapper") << imports_1_1() + "HPieModelMapper{}";
128 QTest::newRow("HPieModelMapper") << imports_1_1() + "HPieModelMapper{}";
122 QTest::newRow("HBarModelMapper") << imports_1_1() + "HBarModelMapper{}";
129 QTest::newRow("HBarModelMapper") << imports_1_1() + "HBarModelMapper{}";
123 QTest::newRow("VBarModelMapper") << imports_1_1() + "VBarModelMapper{}";
130 QTest::newRow("VBarModelMapper") << imports_1_1() + "VBarModelMapper{}";
124 QTest::newRow("ValueAxis") << imports_1_1() + "ValueAxis{}";
131 QTest::newRow("ValueAxis") << imports_1_1() + "ValueAxis{}";
125 #ifndef QT_ON_ARM
132 #ifndef QT_ON_ARM
126 QTest::newRow("DateTimeAxis") << imports_1_1() + "DateTimeAxis{}";
133 QTest::newRow("DateTimeAxis") << imports_1_1() + "DateTimeAxis{}";
127 #endif
134 #endif
128 QTest::newRow("CategoryAxis") << imports_1_1() + "CategoryAxis{}";
135 QTest::newRow("CategoryAxis") << imports_1_1() + "CategoryAxis{}";
129 QTest::newRow("CategoryRange") << imports_1_1() + "CategoryRange{}";
136 QTest::newRow("CategoryRange") << imports_1_1() + "CategoryRange{}";
130 QTest::newRow("BarCategoryAxis") << imports_1_1() + "BarCategoryAxis{}";
137 QTest::newRow("BarCategoryAxis") << imports_1_1() + "BarCategoryAxis{}";
131
138
132 QTest::newRow("createPolarChartView") << imports_1_3() + "PolarChartView{}";
139 QTest::newRow("createPolarChartView") << imports_1_3() + "PolarChartView{}";
133 QTest::newRow("LogValueAxis") << imports_1_3() + "LogValueAxis{}";
140 QTest::newRow("LogValueAxis") << imports_1_3() + "LogValueAxis{}";
134 QTest::newRow("BoxPlotSeries") << imports_1_3() + "BoxPlotSeries{}";
141 QTest::newRow("BoxPlotSeries") << imports_1_3() + "BoxPlotSeries{}";
135 QTest::newRow("BoxSet") << imports_1_3() + "BoxSet{}";
142 QTest::newRow("BoxSet") << imports_1_3() + "BoxSet{}";
136
143
137 QTest::newRow("createChartView_2_0") << imports_2_0() + "ChartView{}";
144 QTest::newRow("createChartView_2_0") << imports_2_0() + "ChartView{}";
138 QTest::newRow("XYPoint_2_0") << imports_2_0() + "XYPoint{}";
145 QTest::newRow("XYPoint_2_0") << imports_2_0() + "XYPoint{}";
139 QTest::newRow("scatterSeries_2_0") << imports_2_0() + "ScatterSeries{}";
146 QTest::newRow("scatterSeries_2_0") << imports_2_0() + "ScatterSeries{}";
140 QTest::newRow("lineSeries_2_0") << imports_2_0() + "LineSeries{}";
147 QTest::newRow("lineSeries_2_0") << imports_2_0() + "LineSeries{}";
141 QTest::newRow("splineSeries_2_0") << imports_2_0() + "SplineSeries{}";
148 QTest::newRow("splineSeries_2_0") << imports_2_0() + "SplineSeries{}";
142 QTest::newRow("areaSeries_2_0") << imports_2_0() + "AreaSeries{}";
149 QTest::newRow("areaSeries_2_0") << imports_2_0() + "AreaSeries{}";
143 QTest::newRow("barSeries_2_0") << imports_2_0() + "BarSeries{}";
150 QTest::newRow("barSeries_2_0") << imports_2_0() + "BarSeries{}";
144 QTest::newRow("stackedBarSeries_2_0") << imports_2_0() + "StackedBarSeries{}";
151 QTest::newRow("stackedBarSeries_2_0") << imports_2_0() + "StackedBarSeries{}";
145 QTest::newRow("precentBarSeries_2_0") << imports_2_0() + "PercentBarSeries{}";
152 QTest::newRow("precentBarSeries_2_0") << imports_2_0() + "PercentBarSeries{}";
146 QTest::newRow("horizonatlBarSeries_2_0") << imports_2_0() + "HorizontalBarSeries{}";
153 QTest::newRow("horizonatlBarSeries_2_0") << imports_2_0() + "HorizontalBarSeries{}";
147 QTest::newRow("horizonatlStackedBarSeries_2_0")
154 QTest::newRow("horizonatlStackedBarSeries_2_0")
148 << imports_2_0() + "HorizontalStackedBarSeries{}";
155 << imports_2_0() + "HorizontalStackedBarSeries{}";
149 QTest::newRow("horizonatlstackedBarSeries_2_0")
156 QTest::newRow("horizonatlstackedBarSeries_2_0")
150 << imports_2_0() + "HorizontalPercentBarSeries{}";
157 << imports_2_0() + "HorizontalPercentBarSeries{}";
151 QTest::newRow("pieSeries_2_0") << imports_2_0() + "PieSeries{}";
158 QTest::newRow("pieSeries_2_0") << imports_2_0() + "PieSeries{}";
152 QTest::newRow("PieSlice_2_0") << imports_2_0() + "PieSlice{}";
159 QTest::newRow("PieSlice_2_0") << imports_2_0() + "PieSlice{}";
153 QTest::newRow("BarSet_2_0") << imports_2_0() + "BarSet{}";
160 QTest::newRow("BarSet_2_0") << imports_2_0() + "BarSet{}";
154 QTest::newRow("HXYModelMapper_2_0") << imports_2_0() + "HXYModelMapper{}";
161 QTest::newRow("HXYModelMapper_2_0") << imports_2_0() + "HXYModelMapper{}";
155 QTest::newRow("VXYModelMapper_2_0") << imports_2_0() + "VXYModelMapper{}";
162 QTest::newRow("VXYModelMapper_2_0") << imports_2_0() + "VXYModelMapper{}";
156 QTest::newRow("HPieModelMapper_2_0") << imports_2_0() + "HPieModelMapper{}";
163 QTest::newRow("HPieModelMapper_2_0") << imports_2_0() + "HPieModelMapper{}";
157 QTest::newRow("HPieModelMapper_2_0") << imports_2_0() + "HPieModelMapper{}";
164 QTest::newRow("HPieModelMapper_2_0") << imports_2_0() + "HPieModelMapper{}";
158 QTest::newRow("HBarModelMapper_2_0") << imports_2_0() + "HBarModelMapper{}";
165 QTest::newRow("HBarModelMapper_2_0") << imports_2_0() + "HBarModelMapper{}";
159 QTest::newRow("VBarModelMapper_2_0") << imports_2_0() + "VBarModelMapper{}";
166 QTest::newRow("VBarModelMapper_2_0") << imports_2_0() + "VBarModelMapper{}";
160 QTest::newRow("ValueAxis_2_0") << imports_2_0() + "ValueAxis{}";
167 QTest::newRow("ValueAxis_2_0") << imports_2_0() + "ValueAxis{}";
161 #ifndef QT_ON_ARM
168 #ifndef QT_ON_ARM
162 QTest::newRow("DateTimeAxis_2_0") << imports_2_0() + "DateTimeAxis{}";
169 QTest::newRow("DateTimeAxis_2_0") << imports_2_0() + "DateTimeAxis{}";
163 #endif
170 #endif
164 QTest::newRow("CategoryAxis_2_0") << imports_2_0() + "CategoryAxis{}";
171 QTest::newRow("CategoryAxis_2_0") << imports_2_0() + "CategoryAxis{}";
165 QTest::newRow("CategoryRange_2_0") << imports_2_0() + "CategoryRange{}";
172 QTest::newRow("CategoryRange_2_0") << imports_2_0() + "CategoryRange{}";
166 QTest::newRow("BarCategoryAxis_2_0") << imports_2_0() + "BarCategoryAxis{}";
173 QTest::newRow("BarCategoryAxis_2_0") << imports_2_0() + "BarCategoryAxis{}";
167 QTest::newRow("createPolarChartView_2_0") << imports_2_0() + "PolarChartView{}";
174 QTest::newRow("createPolarChartView_2_0") << imports_2_0() + "PolarChartView{}";
168 QTest::newRow("LogValueAxis_2_0") << imports_2_0() + "LogValueAxis{}";
175 QTest::newRow("LogValueAxis_2_0") << imports_2_0() + "LogValueAxis{}";
169 QTest::newRow("BoxPlotSeries_2_0") << imports_2_0() + "BoxPlotSeries{}";
176 QTest::newRow("BoxPlotSeries_2_0") << imports_2_0() + "BoxPlotSeries{}";
170 QTest::newRow("BoxSet_2_0") << imports_2_0() + "BoxSet{}";
177 QTest::newRow("BoxSet_2_0") << imports_2_0() + "BoxSet{}";
178
179 QTest::newRow("CategoryAxis") << imports_2_1() + "CategoryAxis{}";
171 }
180 }
172
181
173 void tst_qml::checkPlugin()
182 void tst_qml::checkPlugin()
174 {
183 {
175 QFETCH(QString, source);
184 QFETCH(QString, source);
176 QQmlEngine engine;
185 QQmlEngine engine;
177 engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("qml")));
186 engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("qml")));
178 QQmlComponent component(&engine);
187 QQmlComponent component(&engine);
179 component.setData(source.toLatin1(), QUrl());
188 component.setData(source.toLatin1(), QUrl());
180 QVERIFY2(!component.isError(), qPrintable(componentErrors(&component)));
189 QVERIFY2(!component.isError(), qPrintable(componentErrors(&component)));
181 TRY_COMPARE(component.status(), QQmlComponent::Ready);
190 TRY_COMPARE(component.status(), QQmlComponent::Ready);
182 QObject *obj = component.create();
191 QObject *obj = component.create();
183 QVERIFY(obj != 0);
192 QVERIFY(obj != 0);
184 delete obj;
193 delete obj;
185 }
194 }
186
195
187 QTEST_MAIN(tst_qml)
196 QTEST_MAIN(tst_qml)
188
197
189 #include "tst_qml.moc"
198 #include "tst_qml.moc"
190
199
General Comments 0
You need to be logged in to leave comments. Login now