qchart.h
177 lines
| 5.6 KiB
| text/x-c
|
CLexer
/ src / qchart.h
Michal Klocek
|
r742 | /**************************************************************************** | ||
** | ||||
Miikka Heikkinen
|
r2432 | ** Copyright (C) 2013 Digia Plc | ||
Michal Klocek
|
r742 | ** All rights reserved. | ||
** For any questions to Digia, please use contact form at http://qt.digia.com | ||||
** | ||||
Miikka Heikkinen
|
r2574 | ** This file is part of the Qt Enterprise Charts Add-on. | ||
Michal Klocek
|
r742 | ** | ||
** $QT_BEGIN_LICENSE$ | ||||
Miikka Heikkinen
|
r2574 | ** Licensees holding valid Qt Enterprise licenses may use this file in | ||
** accordance with the Qt Enterprise License Agreement provided with the | ||||
Michal Klocek
|
r742 | ** 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$ | ||||
** | ||||
****************************************************************************/ | ||||
Tero Ahola
|
r264 | #ifndef QCHART_H | ||
#define QCHART_H | ||||
Michal Klocek
|
r12 | |||
Tero Ahola
|
r988 | #include <QAbstractSeries> | ||
Michal Klocek
|
r899 | #include <QLegend> | ||
Michal Klocek
|
r115 | #include <QGraphicsWidget> | ||
Michal Klocek
|
r1883 | #include <QMargins> | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r115 | class QGraphicsSceneResizeEvent; | ||
Tero Ahola
|
r30 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||
Michal Klocek
|
r12 | |||
Tero Ahola
|
r988 | class QAbstractSeries; | ||
Michal Klocek
|
r1541 | class QAbstractAxis; | ||
sauimone
|
r524 | class QLegend; | ||
Jani Honkonen
|
r2277 | class QChartPrivate; | ||
Mika Salmela
|
r2548 | class QBoxPlotSeries; | ||
Michal Klocek
|
r21 | |||
Michal Klocek
|
r115 | class QTCOMMERCIALCHART_EXPORT QChart : public QGraphicsWidget | ||
Tero Ahola
|
r38 | { | ||
Tero Ahola
|
r48 | Q_OBJECT | ||
Tero Ahola
|
r1524 | Q_PROPERTY(QChart::ChartTheme theme READ theme WRITE setTheme) | ||
Q_PROPERTY(QString title READ title WRITE setTitle) | ||||
Q_PROPERTY(bool backgroundVisible READ isBackgroundVisible WRITE setBackgroundVisible) | ||||
Q_PROPERTY(bool dropShadowEnabled READ isDropShadowEnabled WRITE setDropShadowEnabled) | ||||
Miikka Heikkinen
|
r2549 | Q_PROPERTY(qreal backgroundRoundness READ backgroundRoundness WRITE setBackgroundRoundness) | ||
Tero Ahola
|
r1524 | Q_PROPERTY(QChart::AnimationOptions animationOptions READ animationOptions WRITE setAnimationOptions) | ||
Tero Ahola
|
r2369 | Q_PROPERTY(QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins) | ||
Michal Klocek
|
r1965 | Q_PROPERTY(QMargins margins READ margins WRITE setMargins) | ||
Miikka Heikkinen
|
r2483 | Q_PROPERTY(QChart::ChartType chartType READ chartType) | ||
Miikka Heikkinen
|
r2498 | Q_PROPERTY(bool plotAreaBackgroundVisible READ isPlotAreaBackgroundVisible WRITE setPlotAreaBackgroundVisible) | ||
Tero Ahola
|
r836 | Q_ENUMS(ChartTheme) | ||
Tero Ahola
|
r1094 | Q_ENUMS(AnimationOption) | ||
Miikka Heikkinen
|
r2483 | Q_ENUMS(ChartType) | ||
Tero Ahola
|
r836 | |||
Tero Ahola
|
r64 | public: | ||
Miikka Heikkinen
|
r2483 | enum ChartType { | ||
ChartTypeUndefined = 0, | ||||
ChartTypeCartesian, | ||||
ChartTypePolar | ||||
}; | ||||
Michal Klocek
|
r298 | enum ChartTheme { | ||
Tero Ahola
|
r853 | ChartThemeLight = 0, | ||
Tero Ahola
|
r651 | ChartThemeBlueCerulean, | ||
ChartThemeDark, | ||||
ChartThemeBrownSand, | ||||
ChartThemeBlueNcs, | ||||
Tero Ahola
|
r757 | ChartThemeHighContrast, | ||
Titta Heikkala
|
r2625 | ChartThemeBlueIcy, | ||
ChartThemeQt | ||||
Tero Ahola
|
r64 | }; | ||
Michal Klocek
|
r742 | enum AnimationOption { | ||
Michal Klocek
|
r298 | NoAnimation = 0x0, | ||
GridAxisAnimations = 0x1, | ||||
Jani Honkonen
|
r2097 | SeriesAnimations = 0x2, | ||
Michal Klocek
|
r298 | AllAnimations = 0x3 | ||
Michal Klocek
|
r742 | }; | ||
Q_DECLARE_FLAGS(AnimationOptions, AnimationOption) | ||||
Michal Klocek
|
r298 | |||
Michal Klocek
|
r12 | public: | ||
Michal Klocek
|
r746 | explicit QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); | ||
Tero Ahola
|
r48 | ~QChart(); | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r1541 | void addSeries(QAbstractSeries *series); | ||
Tero Ahola
|
r988 | void removeSeries(QAbstractSeries *series); | ||
Michal Klocek
|
r740 | void removeAllSeries(); | ||
Jani Honkonen
|
r2104 | QList<QAbstractSeries *> series() const; | ||
Michal Klocek
|
r12 | |||
Tero Ahola
|
r2360 | // *** deprecated *** | ||
Jani Honkonen
|
r2104 | void setAxisX(QAbstractAxis *axis, QAbstractSeries *series = 0); | ||
void setAxisY(QAbstractAxis *axis, QAbstractSeries *series = 0); | ||||
QAbstractAxis *axisX(QAbstractSeries *series = 0) const; | ||||
QAbstractAxis *axisY(QAbstractSeries *series = 0) const; | ||||
Tero Ahola
|
r2360 | // ****************** | ||
Michal Klocek
|
r2273 | |||
Miikka Heikkinen
|
r2483 | void addAxis(QAbstractAxis *axis, Qt::Alignment alignment); | ||
Michal Klocek
|
r2273 | void removeAxis(QAbstractAxis *axis); | ||
QList<QAbstractAxis*> axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = 0) const; | ||||
Michal Klocek
|
r1542 | |||
Michal Klocek
|
r1577 | void createDefaultAxes(); | ||
Michal Klocek
|
r740 | void setTheme(QChart::ChartTheme theme); | ||
QChart::ChartTheme theme() const; | ||||
Michal Klocek
|
r28 | |||
Jani Honkonen
|
r2104 | void setTitle(const QString &title); | ||
Michal Klocek
|
r645 | QString title() const; | ||
Jani Honkonen
|
r2104 | void setTitleFont(const QFont &font); | ||
Michal Klocek
|
r645 | QFont titleFont() const; | ||
void setTitleBrush(const QBrush &brush); | ||||
QBrush titleBrush() const; | ||||
Michal Klocek
|
r874 | |||
sauimone
|
r783 | void setBackgroundBrush(const QBrush &brush); | ||
Michal Klocek
|
r645 | QBrush backgroundBrush() const; | ||
sauimone
|
r783 | void setBackgroundPen(const QPen &pen); | ||
Michal Klocek
|
r645 | QPen backgroundPen() const; | ||
Tero Ahola
|
r987 | void setBackgroundVisible(bool visible = true); | ||
Michal Klocek
|
r645 | bool isBackgroundVisible() const; | ||
Michal Klocek
|
r122 | |||
Tero Ahola
|
r1462 | void setDropShadowEnabled(bool enabled = true); | ||
bool isDropShadowEnabled() const; | ||||
Miikka Heikkinen
|
r2549 | void setBackgroundRoundness(qreal diameter); | ||
qreal backgroundRoundness() const; | ||||
Michal Klocek
|
r298 | void setAnimationOptions(AnimationOptions options); | ||
AnimationOptions animationOptions() const; | ||||
Michal Klocek
|
r67 | void zoomIn(); | ||
void zoomOut(); | ||||
Michal Klocek
|
r2273 | |||
void zoomIn(const QRectF &rect); | ||||
Jani Honkonen
|
r1187 | void zoom(qreal factor); | ||
Miikka Heikkinen
|
r2545 | void zoomReset(); | ||
bool isZoomed(); | ||||
Michal Klocek
|
r2273 | |||
Michal Klocek
|
r1553 | void scroll(qreal dx, qreal dy); | ||
Michal Klocek
|
r67 | |||
Jani Honkonen
|
r2104 | QLegend *legend() const; | ||
Michal Klocek
|
r1534 | |||
Jani Honkonen
|
r2272 | void setMinimumMargins(const QMargins& margins); | ||
QMargins minimumMargins() const; | ||||
Jani Honkonen
|
r2104 | void setMargins(const QMargins &margins); | ||
Michal Klocek
|
r1965 | QMargins margins() const; | ||
Michal Klocek
|
r1883 | |||
Michal Klocek
|
r1648 | QRectF plotArea() const; | ||
Miikka Heikkinen
|
r2498 | void setPlotAreaBackgroundBrush(const QBrush &brush); | ||
QBrush plotAreaBackgroundBrush() const; | ||||
void setPlotAreaBackgroundPen(const QPen &pen); | ||||
QPen plotAreaBackgroundPen() const; | ||||
void setPlotAreaBackgroundVisible(bool visible = true); | ||||
bool isPlotAreaBackgroundVisible() const; | ||||
sauimone
|
r803 | |||
Marek Rosa
|
r2344 | QPointF mapToValue(const QPointF &position, QAbstractSeries *series = 0); | ||
QPointF mapToPosition(const QPointF &value, QAbstractSeries *series = 0); | ||||
Miikka Heikkinen
|
r2483 | ChartType chartType() const; | ||
Michal Klocek
|
r740 | protected: | ||
Miikka Heikkinen
|
r2483 | explicit QChart(QChart::ChartType type, QGraphicsItem *parent, Qt::WindowFlags wFlags); | ||
Michal Klocek
|
r740 | QScopedPointer<QChartPrivate> d_ptr; | ||
Michal Klocek
|
r790 | friend class QLegend; | ||
Tero Ahola
|
r2068 | friend class DeclarativeChart; | ||
Michal Klocek
|
r2273 | friend class ChartDataSet; | ||
friend class ChartPresenter; | ||||
friend class ChartThemeManager; | ||||
friend class QAbstractSeries; | ||||
Mika Salmela
|
r2548 | friend class QBoxPlotSeriesPrivate; | ||
Tero Ahola
|
r760 | Q_DISABLE_COPY(QChart) | ||
Michal Klocek
|
r12 | }; | ||
Tero Ahola
|
r30 | QTCOMMERCIALCHART_END_NAMESPACE | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r298 | Q_DECLARE_OPERATORS_FOR_FLAGS(QTCOMMERCIALCHART_NAMESPACE::QChart::AnimationOptions) | ||
Jani Honkonen
|
r2046 | #endif // QCHART_H | ||