qchart.h
134 lines
| 3.9 KiB
| text/x-c
|
CLexer
/ src / qchart.h
Michal Klocek
|
r742 | /**************************************************************************** | ||
** | ||||
** 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$ | ||||
** | ||||
****************************************************************************/ | ||||
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
|
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
|
r758 | struct QChartPrivate; | ||
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) | ||||
Q_PROPERTY(QChart::AnimationOptions animationOptions READ animationOptions WRITE setAnimationOptions) | ||||
Q_PROPERTY(QRectF margins READ margins NOTIFY marginsChanged) | ||||
Tero Ahola
|
r836 | Q_ENUMS(ChartTheme) | ||
Tero Ahola
|
r1094 | Q_ENUMS(AnimationOption) | ||
Tero Ahola
|
r836 | |||
Tero Ahola
|
r64 | public: | ||
Michal Klocek
|
r298 | enum ChartTheme { | ||
Tero Ahola
|
r853 | ChartThemeLight = 0, | ||
Tero Ahola
|
r651 | ChartThemeBlueCerulean, | ||
ChartThemeDark, | ||||
ChartThemeBrownSand, | ||||
ChartThemeBlueNcs, | ||||
Tero Ahola
|
r757 | ChartThemeHighContrast, | ||
Michal Klocek
|
r930 | ChartThemeBlueIcy | ||
Tero Ahola
|
r64 | }; | ||
Michal Klocek
|
r742 | enum AnimationOption { | ||
Michal Klocek
|
r298 | NoAnimation = 0x0, | ||
GridAxisAnimations = 0x1, | ||||
SeriesAnimations =0x2, | ||||
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(); | ||
Michal Klocek
|
r1107 | QList<QAbstractSeries*> series() const; | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r1577 | void setAxisX(QAbstractAxis* axis, QAbstractSeries *series = 0); | ||
void setAxisY(QAbstractAxis* axis, QAbstractSeries *series = 0); | ||||
Michal Klocek
|
r1541 | |||
Michal Klocek
|
r1542 | QAbstractAxis* axisX(QAbstractSeries* series = 0) const; | ||
QAbstractAxis* axisY(QAbstractSeries* series = 0) const; | ||||
Michal Klocek
|
r1577 | void createDefaultAxes(); | ||
Michal Klocek
|
r740 | void setTheme(QChart::ChartTheme theme); | ||
QChart::ChartTheme theme() const; | ||||
Michal Klocek
|
r28 | |||
Michal Klocek
|
r645 | void setTitle(const QString& title); | ||
QString title() const; | ||||
void setTitleFont(const QFont& font); | ||||
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; | ||||
Michal Klocek
|
r298 | void setAnimationOptions(AnimationOptions options); | ||
AnimationOptions animationOptions() const; | ||||
Michal Klocek
|
r67 | void zoomIn(); | ||
sauimone
|
r783 | void zoomIn(const QRectF &rect); | ||
Michal Klocek
|
r67 | void zoomOut(); | ||
Jani Honkonen
|
r1187 | void zoom(qreal factor); | ||
Michal Klocek
|
r1553 | void scroll(qreal dx, qreal dy); | ||
Michal Klocek
|
r67 | |||
sauimone
|
r783 | QLegend* legend() const; | ||
Michal Klocek
|
r1534 | |||
void setMarginsMinimum(const QRectF& margins); | ||||
Michal Klocek
|
r874 | QRectF margins() const; | ||
Michal Klocek
|
r1648 | QRectF plotArea() const; | ||
sauimone
|
r803 | |||
Tero Ahola
|
r1524 | Q_SIGNALS: | ||
void marginsChanged(QRectF newMargins); | ||||
Michal Klocek
|
r740 | protected: | ||
QScopedPointer<QChartPrivate> d_ptr; | ||||
Michal Klocek
|
r790 | friend class QLegend; | ||
Michal Klocek
|
r855 | friend class ChartPresenter; | ||
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) | ||
Michal Klocek
|
r12 | #endif | ||