1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the Qt Charts module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 or (at your option) any later version
20** approved by the KDE Free Qt Foundation. The licenses are as published by
21** the Free Software Foundation and appearing in the file LICENSE.GPL3
22** included in the packaging of this file. Please review the following
23** information to ensure the GNU General Public License requirements will
24** be met: https://www.gnu.org/licenses/gpl-3.0.html.
25**
26** $QT_END_LICENSE$
27**
28****************************************************************************/
29
30#ifndef MODEL_H
31#define MODEL_H
32
33#include <QtCore/QList>
34#include <QtCore/QPair>
35#include <QtCore/QPointF>
36#include <QtCore/QRandomGenerator>
37#include <QtCore/QTime>
38
39typedef QPair<QPointF, QString> Data;
40typedef QList<Data> DataList;
41typedef QList<DataList> DataTable;
42
43
44class Model
45{
46private:
47 Model() {}
48
49public:
50 static DataTable generateRandomData(int listCount, int valueMax, int valueCount)
51 {
52 DataTable dataTable;
53
54 // generate random data
55 for (int i(0); i < listCount; i++) {
56 DataList dataList;
57 qreal yValue(0.1);
58 for (int j(0); j < valueCount; j++) {
59 yValue = yValue + QRandomGenerator::global()->bounded(highest: valueMax / (qreal) valueCount);
60 QPointF value(
61 (j + QRandomGenerator::global()->generateDouble())
62 * ((qreal) valueMax / (qreal) valueCount), yValue);
63 QString label = "Slice " + QString::number(i) + ":" + QString::number(j);
64 dataList << Data(value, label);
65 }
66 dataTable << dataList;
67 }
68 return dataTable;
69 }
70};
71
72#endif
73

source code of qtcharts/tests/manual/chartviewer/model.h