##// END OF EJS Templates
Cleaning up declarative implementation
Tero Ahola -
r1211:c8b3f0fb84c6
parent child
Show More
@@ -96,7 +96,7 Rectangle {
96 96 }
97 97
98 98 AreaSeries {
99 name: "Swedish"
99 name: "Finnish"
100 100 upperSeries: LineSeries {
101 101 XyPoint { x: 0; y: 0 }
102 102 XyPoint { x: 1; y: 0 }
@@ -30,10 +30,10 Rectangle {
30 30 theme: ChartView.ChartThemeLight
31 31 legend: ChartView.LegendBottom
32 32 // TODO: labels defined by x-axis, not by bar series
33 // axisXLabels: ["0", "2008", "1", "2009", "2", "2010", "3", "2012"]
33 axisXLabels: ["0", "2008", "1", "2009", "2", "2010", "3", "2012"]
34 34 axisX.max: 10
35 35
36 BarSeries {
36 GroupedBarSeries {
37 37 barCategories: [ "2008", "2009", "2010", "2011", "2012" ]
38 38 BarSet { name: "Bob"; values: [2, 2, 3, 4, 5, 6] }
39 39 BarSet { name: "Susan"; values: [5, 1, 2, 4, 1, 7] }
@@ -90,12 +90,54 DeclarativeTableModel *DeclarativeBarSeries::declarativeModel()
90 90 return qobject_cast<DeclarativeTableModel *>(model());
91 91 }
92 92
93 void DeclarativeBarSeries::setBarCategories(QStringList categories)
93 DeclarativeGroupedBarSeries::DeclarativeGroupedBarSeries(QDeclarativeItem *parent) :
94 QGroupedBarSeries(parent)
95 {
96 }
97
98 void DeclarativeGroupedBarSeries::classBegin()
99 {
100 }
101
102 void DeclarativeGroupedBarSeries::componentComplete()
103 {
104 foreach(QObject *child, children()) {
105 if (qobject_cast<QBarSet *>(child)) {
106 QBarSeries::append(qobject_cast<QBarSet *>(child));
107 }
108 }
109 }
110
111 QDeclarativeListProperty<DeclarativeBarSet> DeclarativeGroupedBarSeries::initialBarSets()
112 {
113 return QDeclarativeListProperty<DeclarativeBarSet>(this, 0, &DeclarativeGroupedBarSeries::appendInitialBarSets);
114 }
115
116 bool DeclarativeGroupedBarSeries::setDeclarativeModel(DeclarativeTableModel *model)
117 {
118 QAbstractItemModel *m = qobject_cast<QAbstractItemModel *>(model);
119 bool value(false);
120 if (m) {
121 setModel(m);
122 //setModelMapping(int categories, int bottomBoundary, int topBoundary, Qt::Orientation orientation = Qt::Vertical);
123 // setModelMapping(0, 1, 1, Qt::Vertical);
124 } else {
125 qWarning("DeclarativeGroupedBarSeries: Illegal model");
126 }
127 return value;
128 }
129
130 DeclarativeTableModel *DeclarativeGroupedBarSeries::declarativeModel()
131 {
132 return qobject_cast<DeclarativeTableModel *>(model());
133 }
134
135 void DeclarativeGroupedBarSeries::setBarCategories(QStringList categories)
94 136 {
95 137 setCategories(categories);
96 138 }
97 139
98 QStringList DeclarativeBarSeries::barCategories()
140 QStringList DeclarativeGroupedBarSeries::barCategories()
99 141 {
100 142 return categories();
101 143 }
@@ -48,7 +48,6 class DeclarativeBarSeries : public QGroupedBarSeries, public QDeclarativeParser
48 48 Q_OBJECT
49 49 Q_INTERFACES(QDeclarativeParserStatus)
50 50 Q_PROPERTY(DeclarativeTableModel *model READ declarativeModel WRITE setDeclarativeModel)
51 Q_PROPERTY(QStringList barCategories READ barCategories WRITE setBarCategories)
52 51 Q_PROPERTY(QDeclarativeListProperty<DeclarativeBarSet> initialBarSets READ initialBarSets)
53 52 Q_CLASSINFO("DefaultProperty", "initialBarSets")
54 53
@@ -63,8 +62,33 public: // from QDeclarativeParserStatus
63 62 public:
64 63 bool setDeclarativeModel(DeclarativeTableModel *model);
65 64 DeclarativeTableModel *declarativeModel();
65
66 public Q_SLOTS:
67 static void appendInitialBarSets(QDeclarativeListProperty<DeclarativeBarSet> */*list*/, DeclarativeBarSet */*element*/) {}
68 };
69
70 class DeclarativeGroupedBarSeries : public QGroupedBarSeries, public QDeclarativeParserStatus
71 {
72 Q_OBJECT
73 Q_INTERFACES(QDeclarativeParserStatus)
74 Q_PROPERTY(DeclarativeTableModel *model READ declarativeModel WRITE setDeclarativeModel)
75 Q_PROPERTY(QStringList barCategories READ barCategories WRITE setBarCategories)
76 Q_PROPERTY(QDeclarativeListProperty<DeclarativeBarSet> initialBarSets READ initialBarSets)
77 Q_CLASSINFO("DefaultProperty", "initialBarSets")
78
79 public:
80 explicit DeclarativeGroupedBarSeries(QDeclarativeItem *parent = 0);
81 QDeclarativeListProperty<DeclarativeBarSet> initialBarSets();
82
83 public: // from QDeclarativeParserStatus
84 void classBegin();
85 void componentComplete();
86
87 public:
66 88 void setBarCategories(QStringList categories);
67 89 QStringList barCategories();
90 bool setDeclarativeModel(DeclarativeTableModel *model);
91 DeclarativeTableModel *declarativeModel();
68 92
69 93 public Q_SLOTS:
70 94 static void appendInitialBarSets(QDeclarativeListProperty<DeclarativeBarSet> */*list*/, DeclarativeBarSet */*element*/) {}
@@ -39,10 +39,8 void DeclarativeLineSeries::appendDeclarativeChildren(QDeclarativeListProperty<Q
39 39 {
40 40 QXYSeries *series = qobject_cast<QXYSeries*>(list->object);
41 41 DeclarativeXyPoint *point = qobject_cast<DeclarativeXyPoint *>(element);
42 if (series && point) {
43 qDebug() << "DeclarativeScatterSeries::appendDeclarativeChildren:" << *point;
42 if (series && point)
44 43 series->append(*point);
45 }
46 44 }
47 45
48 46 #include "moc_declarativelineseries.cpp"
@@ -38,11 +38,10 void DeclarativeSplineSeries::appendDeclarativeChildren(QDeclarativeListProperty
38 38 {
39 39 QXYSeries *series = qobject_cast<QXYSeries*>(list->object);
40 40 DeclarativeXyPoint *point = qobject_cast<DeclarativeXyPoint *>(element);
41 if (series && point) {
42 qDebug() << "DeclarativeScatterSeries::appendDeclarativeChildren:" << *point;
41 if (series && point)
43 42 series->append(*point);
44 }
45 43 }
44
46 45 #include "moc_declarativesplineseries.cpp"
47 46
48 47 QTCOMMERCIALCHART_END_NAMESPACE
@@ -47,23 +47,21 public:
47 47 qmlRegisterType<DeclarativeChart>(uri, 1, 0, "ChartView");
48 48 qmlRegisterUncreatableType<QAxis>(uri, 1, 0, "Axis",
49 49 QLatin1String("Trying to create uncreatable: Axis."));
50 //qmlRegisterType<DeclarativeAxisCategory>(uri, 1, 0, "AxisCategory");
51 50 qmlRegisterType<DeclarativeXyPoint>(uri, 1, 0, "XyPoint");
52 51 qmlRegisterType<DeclarativeScatterSeries>(uri, 1, 0, "ScatterSeries");
53 52 qmlRegisterType<DeclarativeLineSeries>(uri, 1, 0, "LineSeries");
54 53 qmlRegisterType<DeclarativeSplineSeries>(uri, 1, 0, "SplineSeries");
55 54 qmlRegisterType<DeclarativeAreaSeries>(uri, 1, 0, "AreaSeries");
56 55 qmlRegisterType<DeclarativeBarSeries>(uri, 1, 0, "BarSeries");
56 qmlRegisterType<DeclarativeGroupedBarSeries>(uri, 1, 0, "GroupedBarSeries");
57 57 qmlRegisterType<DeclarativePieSeries>(uri, 1, 0, "PieSeries");
58 58 qmlRegisterType<QPieSlice>(uri, 1, 0, "PieSlice");
59 59 qmlRegisterType<DeclarativeTableModel>(uri, 1, 0, "ChartModel");
60 60 qmlRegisterType<DeclarativeTableModelElement>(uri, 1, 0, "ChartModelElement");
61 //qmlRegisterType<DeclarativePieMapping>(uri, 1, 0, "PieMapping");
62 //qmlRegisterType<QPieModelMapper>(uri, 1, 0, "PieModelMapper");
63 61 qmlRegisterUncreatableType<QPieModelMapper>(uri, 1, 0, "PieModelMapper",
64 62 QLatin1String("Trying to create uncreatable: PieModelMapper."));
65 63 qmlRegisterUncreatableType<QXYModelMapper>(uri, 1, 0, "XYModelMapper",
66 QLatin1String("Trying to create uncreatable: PieModelMapper."));
64 QLatin1String("Trying to create uncreatable: XYModelMapper."));
67 65 qmlRegisterType<DeclarativeBarSet>(uri, 1, 0, "BarSet");
68 66 }
69 67 };
@@ -353,9 +353,6 QColor ChartTheme::colorAt(const QGradient &gradient, qreal pos)
353 353 {
354 354 Q_ASSERT(pos >= 0 && pos <= 1.0);
355 355
356 // another possibility:
357 // http://stackoverflow.com/questions/3306786/get-intermediate-color-from-a-gradient
358
359 356 QGradientStops stops = gradient.stops();
360 357 int count = stops.count();
361 358
General Comments 0
You need to be logged in to leave comments. Login now