declarativechart.h
89 lines
| 3.0 KiB
| text/x-c
|
CLexer
Jani Honkonen
|
r830 | /**************************************************************************** | ||
** | ||||
** Copyright (C) 2012 Digia Plc | ||||
** All rights reserved. | ||||
** For any questions to Digia, please use contact form at http://qt.digia.com | ||||
** | ||||
** This file is part of the Qt Commercial Charts Add-on. | ||||
** | ||||
** $QT_BEGIN_LICENSE$ | ||||
** Licensees holding valid Qt Commercial licenses may use this file in | ||||
** accordance with the Qt Commercial License Agreement provided with the | ||||
** Software or, alternatively, in accordance with the terms contained in | ||||
** a written agreement between you and Digia. | ||||
** | ||||
** If you have questions regarding the use of this file, please use | ||||
** contact form at http://qt.digia.com | ||||
** $QT_END_LICENSE$ | ||||
** | ||||
****************************************************************************/ | ||||
Jani Honkonen
|
r1 | #ifndef DECLARATIVECHART_H | ||
#define DECLARATIVECHART_H | ||||
#include <QtCore/QtGlobal> | ||||
Tero Ahola
|
r120 | #include <QDeclarativeItem> | ||
#include <qchart.h> | ||||
Tero Ahola
|
r1139 | #include <QAxis> | ||
Tero Ahola
|
r120 | |||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
Tero Ahola
|
r885 | // TODO: Derive from QChart for easier definition of properties? | ||
Tero Ahola
|
r120 | class DeclarativeChart : public QDeclarativeItem | ||
// TODO: for QTQUICK2: extend QQuickPainterItem instead | ||||
//class DeclarativeChart : public QQuickPaintedItem, public Chart | ||||
Jani Honkonen
|
r1 | { | ||
Q_OBJECT | ||||
Tero Ahola
|
r836 | Q_PROPERTY(QChart::ChartTheme theme READ theme WRITE setTheme) | ||
Tero Ahola
|
r1094 | Q_PROPERTY(QChart::AnimationOption animationOptions READ animationOptions WRITE setAnimationOptions) | ||
Tero Ahola
|
r918 | Q_PROPERTY(QString title READ title WRITE setTitle) | ||
Tero Ahola
|
r1095 | Q_PROPERTY(ChartLegend legend READ legend WRITE setLegend) | ||
Tero Ahola
|
r1139 | Q_PROPERTY(QAxis *axisX READ axisX) | ||
Q_PROPERTY(QAxis *axisY READ axisY) | ||||
Tero Ahola
|
r1157 | // TODO: how to define axis labels? This is not very convenient | ||
Q_PROPERTY(QVariantList axisXLabels READ axisXLabels WRITE setAxisXLabels) | ||||
Tero Ahola
|
r1095 | Q_ENUMS(ChartLegend) | ||
public: | ||||
enum ChartLegend { | ||||
LegendDisabled = 0, | ||||
LegendTop, | ||||
LegendBottom, | ||||
LegendLeft, | ||||
LegendRight | ||||
}; | ||||
Jani Honkonen
|
r1 | |||
public: | ||||
DeclarativeChart(QDeclarativeItem *parent = 0); | ||||
Tero Ahola
|
r722 | ~DeclarativeChart(); | ||
Tero Ahola
|
r120 | |||
public: // From QDeclarativeItem/QGraphicsItem | ||||
Tero Ahola
|
r1117 | void childEvent(QChildEvent *event); | ||
void componentComplete(); | ||||
Tero Ahola
|
r120 | void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry); | ||
Tero Ahola
|
r646 | void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); | ||
Tero Ahola
|
r120 | |||
public: | ||||
Tero Ahola
|
r836 | void setTheme(QChart::ChartTheme theme) {m_chart->setTheme(theme);} | ||
Tero Ahola
|
r1094 | QChart::ChartTheme theme() {return m_chart->theme();} | ||
void setAnimationOptions(QChart::AnimationOption animations); | ||||
QChart::AnimationOption animationOptions(); | ||||
Tero Ahola
|
r918 | void setTitle(QString title) {m_chart->setTitle(title);} | ||
QString title() { return m_chart->title();} | ||||
Tero Ahola
|
r1095 | void setLegend(ChartLegend legend); | ||
ChartLegend legend(); | ||||
Tero Ahola
|
r1139 | QAxis *axisX(); | ||
QAxis *axisY(); | ||||
Tero Ahola
|
r1157 | QVariantList axisXLabels(); | ||
void setAxisXLabels(QVariantList list); | ||||
Tero Ahola
|
r120 | |||
public: | ||||
// Extending QChart with DeclarativeChart is not possible because QObject does not support | ||||
// multi inheritance, so we now have a QChart as a member instead | ||||
QChart *m_chart; | ||||
Tero Ahola
|
r1095 | ChartLegend m_legend; | ||
Jani Honkonen
|
r1 | }; | ||
Tero Ahola
|
r120 | QTCOMMERCIALCHART_END_NAMESPACE | ||
Jani Honkonen
|
r1 | |||
#endif // DECLARATIVECHART_H | ||||