##// END OF EJS Templates
Simple to examples
Simple to examples

File last commit:

r1577:779eeed6a402
r1623:484828e48d5e
Show More
qchart.h
135 lines | 3.9 KiB | text/x-c | CLexer
/****************************************************************************
**
** 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$
**
****************************************************************************/
#ifndef QCHART_H
#define QCHART_H
#include <QAbstractSeries>
#include <QLegend>
#include <QGraphicsWidget>
class QGraphicsSceneResizeEvent;
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QAbstractSeries;
class QAbstractAxis;
class QLegend;
struct QChartPrivate;
class QTCOMMERCIALCHART_EXPORT QChart : public QGraphicsWidget
{
Q_OBJECT
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)
Q_ENUMS(ChartTheme)
Q_ENUMS(AnimationOption)
public:
enum ChartTheme {
ChartThemeLight = 0,
ChartThemeBlueCerulean,
ChartThemeDark,
ChartThemeBrownSand,
ChartThemeBlueNcs,
ChartThemeHighContrast,
ChartThemeBlueIcy
};
enum AnimationOption {
NoAnimation = 0x0,
GridAxisAnimations = 0x1,
SeriesAnimations =0x2,
AllAnimations = 0x3
};
Q_DECLARE_FLAGS(AnimationOptions, AnimationOption)
public:
explicit QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
~QChart();
void addSeries(QAbstractSeries *series);
void removeSeries(QAbstractSeries *series);
void removeAllSeries();
QList<QAbstractSeries*> series() const;
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;
void createDefaultAxes();
void setTheme(QChart::ChartTheme theme);
QChart::ChartTheme theme() const;
void setTitle(const QString& title);
QString title() const;
void setTitleFont(const QFont& font);
QFont titleFont() const;
void setTitleBrush(const QBrush &brush);
QBrush titleBrush() const;
void setBackgroundBrush(const QBrush &brush);
QBrush backgroundBrush() const;
void setBackgroundPen(const QPen &pen);
QPen backgroundPen() const;
void setBackgroundVisible(bool visible = true);
bool isBackgroundVisible() const;
void setDropShadowEnabled(bool enabled = true);
bool isDropShadowEnabled() const;
void setAnimationOptions(AnimationOptions options);
AnimationOptions animationOptions() const;
void zoomIn();
void zoomIn(const QRectF &rect);
void zoomOut();
void zoom(qreal factor);
void scroll(qreal dx, qreal dy);
void adjustViewToSeries(QAbstractSeries* series = 0);
QLegend* legend() const;
void setMarginsMinimum(const QRectF& margins);
QRectF margins() const;
Q_SIGNALS:
void marginsChanged(QRectF newMargins);
protected:
QScopedPointer<QChartPrivate> d_ptr;
friend class QLegend;
friend class ChartPresenter;
Q_DISABLE_COPY(QChart)
};
QTCOMMERCIALCHART_END_NAMESPACE
Q_DECLARE_OPERATORS_FOR_FLAGS(QTCOMMERCIALCHART_NAMESPACE::QChart::AnimationOptions)
#endif