qchart.h
119 lines
| 3.1 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
|
r72 | class QChartAxis; | ||
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
|
r836 | Q_ENUMS(ChartTheme) | ||
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 | |||
Tero Ahola
|
r988 | void addSeries(QAbstractSeries *series, QChartAxis *axisY = 0); | ||
void removeSeries(QAbstractSeries *series); | ||||
Michal Klocek
|
r740 | void removeAllSeries(); | ||
Michal Klocek
|
r12 | |||
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 | |||
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(); | ||
Michal Klocek
|
r600 | void scrollLeft(); | ||
void scrollRight(); | ||||
void scrollUp(); | ||||
void scrollDown(); | ||||
Michal Klocek
|
r67 | |||
Michal Klocek
|
r223 | QChartAxis* axisX() const; | ||
Tero Ahola
|
r988 | QChartAxis* axisY(QAbstractSeries* series = 0) const; | ||
Michal Klocek
|
r72 | |||
sauimone
|
r783 | QLegend* legend() const; | ||
Michal Klocek
|
r874 | QRectF margins() const; | ||
sauimone
|
r803 | |||
Michal Klocek
|
r115 | protected: | ||
void resizeEvent(QGraphicsSceneResizeEvent *event); | ||||
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 | ||