diff options
Diffstat (limited to 'src/charts/xychart/qxyseries.h')
-rw-r--r-- | src/charts/xychart/qxyseries.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/src/charts/xychart/qxyseries.h b/src/charts/xychart/qxyseries.h new file mode 100644 index 00000000..4c73bf07 --- /dev/null +++ b/src/charts/xychart/qxyseries.h @@ -0,0 +1,120 @@ +/**************************************************************************** +** +** Copyright (C) 2014 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 Enterprise Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise 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 QXYSERIES_H +#define QXYSERIES_H + +#include <QtCharts/qchartglobal.h> +#include <QtCharts/qabstractseries.h> +#include <QPen> +#include <QBrush> + +class QModelIndex; + +QT_CHARTS_BEGIN_NAMESPACE + +class QXYSeriesPrivate; +class QXYModelMapper; + +class QT_CHARTS_EXPORT QXYSeries : public QAbstractSeries +{ + Q_OBJECT + Q_PROPERTY(bool pointsVisible READ pointsVisible WRITE setPointsVisible) + Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) + Q_PROPERTY(QString pointLabelsFormat READ pointLabelsFormat WRITE setPointLabelsFormat NOTIFY pointLabelsFormatChanged) + Q_PROPERTY(bool pointLabelsVisible READ pointLabelsVisible WRITE setPointLabelsVisible NOTIFY pointLabelsVisibilityChanged) + Q_PROPERTY(QFont pointLabelsFont READ pointLabelsFont WRITE setPointLabelsFont NOTIFY pointLabelsFontChanged) + Q_PROPERTY(QColor pointLabelsColor READ pointLabelsColor WRITE setPointLabelsColor NOTIFY pointLabelsColorChanged) + +protected: + explicit QXYSeries(QXYSeriesPrivate &d, QObject *parent = 0); + +public: + ~QXYSeries(); + void append(qreal x, qreal y); + void append(const QPointF &point); + void append(const QList<QPointF> &points); + void replace(qreal oldX, qreal oldY, qreal newX, qreal newY); + void replace(const QPointF &oldPoint, const QPointF &newPoint); + void replace(int index, qreal newX, qreal newY); + void replace(int index, const QPointF &newPoint); + void remove(qreal x, qreal y); + void remove(const QPointF &point); + void remove(int index); + void insert(int index, const QPointF &point); + void clear(); + + int count() const; + QList<QPointF> points() const; + const QPointF &at(int index) const; + + QXYSeries &operator << (const QPointF &point); + QXYSeries &operator << (const QList<QPointF> &points); + + virtual void setPen(const QPen &pen); + QPen pen() const; + + virtual void setBrush(const QBrush &brush); + QBrush brush() const; + + virtual void setColor(const QColor &color); + virtual QColor color() const; + + void setPointsVisible(bool visible = true); + bool pointsVisible() const; + + void setPointLabelsFormat(const QString &format); + QString pointLabelsFormat() const; + + void setPointLabelsVisible(bool visible = true); + bool pointLabelsVisible() const; + + void setPointLabelsFont(const QFont &font); + QFont pointLabelsFont() const; + + void setPointLabelsColor(const QColor &color); + QColor pointLabelsColor() const; + + void replace(QList<QPointF> points); + +Q_SIGNALS: + void clicked(const QPointF &point); + void hovered(const QPointF &point, bool state); + void pointReplaced(int index); + void pointRemoved(int index); + void pointAdded(int index); + void colorChanged(QColor color); + void pointsReplaced(); + void pointLabelsFormatChanged(const QString &format); + void pointLabelsVisibilityChanged(bool visible); + void pointLabelsFontChanged(const QFont &font); + void pointLabelsColorChanged(const QColor &color); + +private: + Q_DECLARE_PRIVATE(QXYSeries) + Q_DISABLE_COPY(QXYSeries) + friend class QXYLegendMarkerPrivate; + friend class XYLegendMarker; + friend class XYChart; +}; + +QT_CHARTS_END_NAMESPACE + +#endif // QXYSERIES_H |