@@ -0,0 +1,69 | |||
|
1 | /**************************************************************************** | |
|
2 | ** | |
|
3 | ** Copyright (C) 2012 Digia Plc | |
|
4 | ** All rights reserved. | |
|
5 | ** For any questions to Digia, please use contact form at http://qt.digia.com | |
|
6 | ** | |
|
7 | ** This file is part of the Qt Commercial Charts Add-on. | |
|
8 | ** | |
|
9 | ** $QT_BEGIN_LICENSE$ | |
|
10 | ** Licensees holding valid Qt Commercial licenses may use this file in | |
|
11 | ** accordance with the Qt Commercial License Agreement provided with the | |
|
12 | ** Software or, alternatively, in accordance with the terms contained in | |
|
13 | ** a written agreement between you and Digia. | |
|
14 | ** | |
|
15 | ** If you have questions regarding the use of this file, please use | |
|
16 | ** contact form at http://qt.digia.com | |
|
17 | ** $QT_END_LICENSE$ | |
|
18 | ** | |
|
19 | ****************************************************************************/ | |
|
20 | ||
|
21 | #include "declarativeaxis.h" | |
|
22 | #include "declarativechart.h" | |
|
23 | #include <QAxis> | |
|
24 | ||
|
25 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | |
|
26 | ||
|
27 | DeclarativeAxis::DeclarativeAxis(QObject *parent) : | |
|
28 | QAxis(parent), | |
|
29 | m_role(DeclarativeAxis::RoleX) | |
|
30 | { | |
|
31 | } | |
|
32 | ||
|
33 | void DeclarativeAxis::classBegin() | |
|
34 | { | |
|
35 | } | |
|
36 | ||
|
37 | void DeclarativeAxis::componentComplete() | |
|
38 | { | |
|
39 | DeclarativeChart *declarativeChart = qobject_cast<DeclarativeChart *>(parent()); | |
|
40 | if (declarativeChart) { | |
|
41 | QChart *chart = qobject_cast<QChart *>(declarativeChart->m_chart); | |
|
42 | Q_ASSERT(chart); | |
|
43 | QAxis *axis = 0; | |
|
44 | if (m_role == RoleX) | |
|
45 | axis = chart->axisX(); | |
|
46 | else | |
|
47 | axis = chart->axisY(); | |
|
48 | Q_ASSERT(axis); | |
|
49 | // TODO? | |
|
50 | //foreach(DeclarativeCategory catecory, categories()); | |
|
51 | //axis->categories()->insert(0, "Jun"); | |
|
52 | // axis->categories()->insert(1, "Jul"); | |
|
53 | // axis->categories()->insert(2, "Aug"); | |
|
54 | // axis->categories()->insert(3, "Sep"); | |
|
55 | // axis->categories()->insert(4, "Oct"); | |
|
56 | // axis->categories()->insert(5, "Nov"); | |
|
57 | //axis->categories()->insert(6, "Dec"); | |
|
58 | } | |
|
59 | } | |
|
60 | ||
|
61 | void DeclarativeAxis::setRole(AxisRole role) | |
|
62 | { | |
|
63 | // TODO: apply the role to possible parent chart | |
|
64 | m_role = role; | |
|
65 | } | |
|
66 | ||
|
67 | #include "moc_declarativeaxis.cpp" | |
|
68 | ||
|
69 | QTCOMMERCIALCHART_END_NAMESPACE |
@@ -0,0 +1,58 | |||
|
1 | /**************************************************************************** | |
|
2 | ** | |
|
3 | ** Copyright (C) 2012 Digia Plc | |
|
4 | ** All rights reserved. | |
|
5 | ** For any questions to Digia, please use contact form at http://qt.digia.com | |
|
6 | ** | |
|
7 | ** This file is part of the Qt Commercial Charts Add-on. | |
|
8 | ** | |
|
9 | ** $QT_BEGIN_LICENSE$ | |
|
10 | ** Licensees holding valid Qt Commercial licenses may use this file in | |
|
11 | ** accordance with the Qt Commercial License Agreement provided with the | |
|
12 | ** Software or, alternatively, in accordance with the terms contained in | |
|
13 | ** a written agreement between you and Digia. | |
|
14 | ** | |
|
15 | ** If you have questions regarding the use of this file, please use | |
|
16 | ** contact form at http://qt.digia.com | |
|
17 | ** $QT_END_LICENSE$ | |
|
18 | ** | |
|
19 | ****************************************************************************/ | |
|
20 | ||
|
21 | #ifndef DECLARATIVE_AXIS_H | |
|
22 | #define DECLARATIVE_AXIS_H | |
|
23 | ||
|
24 | #include "qchartglobal.h" | |
|
25 | #include <QAxis> | |
|
26 | #include <QDeclarativeParserStatus> | |
|
27 | ||
|
28 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | |
|
29 | ||
|
30 | class DeclarativeAxis: public QAxis, public QDeclarativeParserStatus | |
|
31 | { | |
|
32 | Q_INTERFACES(QDeclarativeParserStatus) | |
|
33 | Q_OBJECT | |
|
34 | Q_PROPERTY(AxisRole role READ role WRITE setRole /*NOTIFY roleChanged*/) | |
|
35 | Q_ENUMS(AxisRole) | |
|
36 | ||
|
37 | public: | |
|
38 | enum AxisRole { | |
|
39 | RoleX = 0, | |
|
40 | RoleY | |
|
41 | }; | |
|
42 | ||
|
43 | public: | |
|
44 | explicit DeclarativeAxis(QObject *parent = 0); | |
|
45 | ||
|
46 | public: // from QDeclarativeParserStatus | |
|
47 | virtual void classBegin(); | |
|
48 | virtual void componentComplete(); | |
|
49 | ||
|
50 | public: | |
|
51 | void setRole(AxisRole role); | |
|
52 | AxisRole role() { return m_role; } | |
|
53 | AxisRole m_role; | |
|
54 | }; | |
|
55 | ||
|
56 | QTCOMMERCIALCHART_END_NAMESPACE | |
|
57 | ||
|
58 | #endif // DECLARATIVE_AXIS_H |
@@ -28,7 +28,6 DeclarativeChart::DeclarativeChart(QDeclarativeItem *parent) | |||
|
28 | 28 | m_chart(new QChart(this)), |
|
29 | 29 | m_legend(LegendDisabled) |
|
30 | 30 | { |
|
31 | m_chart->setAnimationOptions(QChart::SeriesAnimations); | |
|
32 | 31 | setFlag(QGraphicsItem::ItemHasNoContents, false); |
|
33 | 32 | } |
|
34 | 33 |
@@ -50,7 +50,7 void DeclarativeXySeries::componentComplete() | |||
|
50 | 50 | } |
|
51 | 51 | |
|
52 | 52 | void DeclarativeXySeries::appendPoints(QDeclarativeListProperty<DeclarativeXyPoint> *list, |
|
53 |
|
|
|
53 | DeclarativeXyPoint *element) | |
|
54 | 54 | { |
|
55 | 55 | QXYSeries *series = qobject_cast<QXYSeries *>(list->object); |
|
56 | 56 | if (series) |
@@ -22,6 +22,7 | |||
|
22 | 22 | #include <QtDeclarative/qdeclarative.h> |
|
23 | 23 | #include "qchart.h" |
|
24 | 24 | #include "declarativechart.h" |
|
25 | #include "declarativeaxis.h" | |
|
25 | 26 | #include "declarativexypoint.h" |
|
26 | 27 | #include "declarativelineseries.h" |
|
27 | 28 | #include "declarativesplineseries.h" |
@@ -41,6 +42,7 public: | |||
|
41 | 42 | Q_ASSERT(QLatin1String(uri) == QLatin1String("QtCommercial.Chart")); |
|
42 | 43 | |
|
43 | 44 | qmlRegisterType<DeclarativeChart>(uri, 1, 0, "Chart"); |
|
45 | qmlRegisterType<DeclarativeAxis>(uri, 1, 0, "Axis"); | |
|
44 | 46 | qmlRegisterType<DeclarativeXyPoint>(uri, 1, 0, "XyPoint"); |
|
45 | 47 | qmlRegisterType<DeclarativeScatterSeries>(uri, 1, 0, "ScatterSeries"); |
|
46 | 48 | qmlRegisterType<DeclarativeLineSeries>(uri, 1, 0, "LineSeries"); |
@@ -21,8 +21,9 RCC_DIR = $$CHART_BUILD_DIR/plugin | |||
|
21 | 21 | SOURCES += \ |
|
22 | 22 | plugin.cpp \ |
|
23 | 23 | declarativechart.cpp \ |
|
24 |
declarativex |
|
|
24 | declarativeaxis.cpp \ | |
|
25 | 25 | declarativexypoint.cpp \ |
|
26 | declarativexyseries.cpp \ | |
|
26 | 27 | declarativelineseries.cpp \ |
|
27 | 28 | declarativesplineseries.cpp \ |
|
28 | 29 | declarativeareaseries.cpp \ |
@@ -31,8 +32,9 SOURCES += \ | |||
|
31 | 32 | declarativebarseries.cpp |
|
32 | 33 | HEADERS += \ |
|
33 | 34 | declarativechart.h \ |
|
34 |
declarativex |
|
|
35 | declarativeaxis.h \ | |
|
35 | 36 | declarativexypoint.h \ |
|
37 | declarativexyseries.h \ | |
|
36 | 38 | declarativelineseries.h \ |
|
37 | 39 | declarativesplineseries.h \ |
|
38 | 40 | declarativeareaseries.h \ |
@@ -322,7 +322,7 void ChartAxis::setLayout(QVector<qreal> &layout) | |||
|
322 | 322 | rectItem->setRect(layout[i-1],m_rect.top(),layout[i]-layout[i-1],m_rect.height()); |
|
323 | 323 | } |
|
324 | 324 | lineItem = static_cast<QGraphicsLineItem*>(axis.at(i+1)); |
|
325 |
|
|
|
325 | lineItem->setLine(layout[i],m_rect.bottom(),layout[i],m_rect.bottom()+5); | |
|
326 | 326 | } |
|
327 | 327 | |
|
328 | 328 | } |
@@ -361,7 +361,7 void ChartAxis::setLayout(QVector<qreal> &layout) | |||
|
361 | 361 | rectItem->setRect(m_rect.left(),layout[i],m_rect.width(),layout[i-1]-layout[i]); |
|
362 | 362 | } |
|
363 | 363 | lineItem = static_cast<QGraphicsLineItem*>(axis.at(i+1)); |
|
364 |
|
|
|
364 | lineItem->setLine(m_rect.left()-5,layout[i],m_rect.left(),layout[i]); | |
|
365 | 365 | } |
|
366 | 366 | } |
|
367 | 367 | break; |
General Comments 0
You need to be logged in to leave comments.
Login now