qxyseries.h
144 lines
| 5.1 KiB
| text/x-c
|
CLexer
Miikka Heikkinen
|
r2854 | /**************************************************************************** | ||
Jani Honkonen
|
r794 | ** | ||
Miikka Heikkinen
|
r2854 | ** Copyright (C) 2016 The Qt Company Ltd. | ||
** Contact: https://www.qt.io/licensing/ | ||||
Jani Honkonen
|
r794 | ** | ||
Miikka Heikkinen
|
r2854 | ** This file is part of the Qt Charts module of the Qt Toolkit. | ||
Jani Honkonen
|
r794 | ** | ||
Miikka Heikkinen
|
r2854 | ** $QT_BEGIN_LICENSE:GPL$ | ||
Titta Heikkala
|
r2845 | ** Commercial License Usage | ||
** Licensees holding valid commercial Qt licenses may use this file in | ||||
** accordance with the commercial license agreement provided with the | ||||
** Software or, alternatively, in accordance with the terms contained in | ||||
** a written agreement between you and The Qt Company. For licensing terms | ||||
Miikka Heikkinen
|
r2854 | ** and conditions see https://www.qt.io/terms-conditions. For further | ||
** information use the contact form at https://www.qt.io/contact-us. | ||||
** | ||||
** GNU General Public License Usage | ||||
** Alternatively, this file may be used under the terms of the GNU | ||||
** General Public License version 3 or (at your option) any later version | ||||
** approved by the KDE Free Qt Foundation. The licenses are as published by | ||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||||
** included in the packaging of this file. Please review the following | ||||
** information to ensure the GNU General Public License requirements will | ||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||||
Jani Honkonen
|
r794 | ** | ||
Titta Heikkala
|
r2845 | ** $QT_END_LICENSE$ | ||
** | ||||
Miikka Heikkinen
|
r2854 | ****************************************************************************/ | ||
Jani Honkonen
|
r794 | |||
Michal Klocek
|
r969 | #ifndef QXYSERIES_H | ||
#define QXYSERIES_H | ||||
Michal Klocek
|
r466 | |||
Titta Heikkala
|
r2714 | #include <QtCharts/QChartGlobal> | ||
#include <QtCharts/QAbstractSeries> | ||||
#include <QtGui/QPen> | ||||
#include <QtGui/QBrush> | ||||
Michal Klocek
|
r466 | |||
Christian Kandeler
|
r2774 | QT_BEGIN_NAMESPACE | ||
Marek Rosa
|
r877 | class QModelIndex; | ||
Christian Kandeler
|
r2774 | QT_END_NAMESPACE | ||
Marek Rosa
|
r877 | |||
Titta Heikkala
|
r2712 | QT_CHARTS_BEGIN_NAMESPACE | ||
Michal Klocek
|
r466 | |||
Michal Klocek
|
r938 | class QXYSeriesPrivate; | ||
Marek Rosa
|
r1164 | class QXYModelMapper; | ||
Michal Klocek
|
r938 | |||
Titta Heikkala
|
r2712 | class QT_CHARTS_EXPORT QXYSeries : public QAbstractSeries | ||
Michal Klocek
|
r466 | { | ||
Tero Ahola
|
r491 | Q_OBJECT | ||
Tero Ahola
|
r1481 | Q_PROPERTY(bool pointsVisible READ pointsVisible WRITE setPointsVisible) | ||
Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) | ||||
Titta Heikkala
|
r2692 | 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) | ||||
Titta Heikkala
|
r2815 | Q_PROPERTY(bool pointLabelsClipping READ pointLabelsClipping WRITE setPointLabelsClipping NOTIFY pointLabelsClippingChanged) | ||
Tero Ahola
|
r1169 | |||
Michal Klocek
|
r470 | protected: | ||
Jani Honkonen
|
r2097 | explicit QXYSeries(QXYSeriesPrivate &d, QObject *parent = 0); | ||
Michal Klocek
|
r466 | |||
public: | ||||
Michal Klocek
|
r1268 | ~QXYSeries(); | ||
Jani Honkonen
|
r796 | void append(qreal x, qreal y); | ||
void append(const QPointF &point); | ||||
Michal Klocek
|
r1057 | void append(const QList<QPointF> &points); | ||
Jani Honkonen
|
r2097 | void replace(qreal oldX, qreal oldY, qreal newX, qreal newY); | ||
void replace(const QPointF &oldPoint, const QPointF &newPoint); | ||||
Miikka Heikkinen
|
r2496 | void replace(int index, qreal newX, qreal newY); | ||
void replace(int index, const QPointF &newPoint); | ||||
Michal Klocek
|
r541 | void remove(qreal x, qreal y); | ||
sauimone
|
r743 | void remove(const QPointF &point); | ||
Miikka Heikkinen
|
r2496 | void remove(int index); | ||
Miikka Heikkinen
|
r2805 | void removePoints(int index, int count); | ||
Marek Rosa
|
r1256 | void insert(int index, const QPointF &point); | ||
void clear(); | ||||
Tero Ahola
|
r491 | |||
int count() const; | ||||
Michal Klocek
|
r1057 | QList<QPointF> points() const; | ||
Miikka Heikkinen
|
r2820 | QVector<QPointF> pointsVector() const; | ||
Miikka Heikkinen
|
r2491 | const QPointF &at(int index) const; | ||
Tero Ahola
|
r491 | |||
Jani Honkonen
|
r2104 | QXYSeries &operator << (const QPointF &point); | ||
QXYSeries &operator << (const QList<QPointF> &points); | ||||
Tero Ahola
|
r491 | |||
Tero Ahola
|
r1537 | virtual void setPen(const QPen &pen); | ||
Michal Klocek
|
r938 | QPen pen() const; | ||
Tero Ahola
|
r1537 | virtual void setBrush(const QBrush &brush); | ||
Michal Klocek
|
r938 | QBrush brush() const; | ||
Tero Ahola
|
r1481 | virtual void setColor(const QColor &color); | ||
virtual QColor color() const; | ||||
Tero Ahola
|
r987 | void setPointsVisible(bool visible = true); | ||
Michal Klocek
|
r938 | bool pointsVisible() const; | ||
Michal Klocek
|
r467 | |||
Titta Heikkala
|
r2689 | 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; | ||||
Titta Heikkala
|
r2815 | void setPointLabelsClipping(bool enabled = true); | ||
bool pointLabelsClipping() const; | ||||
Tero Ahola
|
r1783 | void replace(QList<QPointF> points); | ||
Miikka Heikkinen
|
r2798 | void replace(QVector<QPointF> points); | ||
Tero Ahola
|
r1783 | |||
sauimone
|
r775 | Q_SIGNALS: | ||
sauimone
|
r743 | void clicked(const QPointF &point); | ||
Marek Rosa
|
r2255 | void hovered(const QPointF &point, bool state); | ||
Titta Heikkala
|
r2739 | void pressed(const QPointF &point); | ||
void released(const QPointF &point); | ||||
void doubleClicked(const QPointF &point); | ||||
Marek Rosa
|
r1262 | void pointReplaced(int index); | ||
void pointRemoved(int index); | ||||
void pointAdded(int index); | ||||
Tero Ahola
|
r1481 | void colorChanged(QColor color); | ||
Tero Ahola
|
r1783 | void pointsReplaced(); | ||
Titta Heikkala
|
r2689 | void pointLabelsFormatChanged(const QString &format); | ||
void pointLabelsVisibilityChanged(bool visible); | ||||
void pointLabelsFontChanged(const QFont &font); | ||||
void pointLabelsColorChanged(const QColor &color); | ||||
Titta Heikkala
|
r2815 | void pointLabelsClippingChanged(bool clipping); | ||
Miikka Heikkinen
|
r2805 | void pointsRemoved(int index, int count); | ||
Miikka Heikkinen
|
r2820 | void penChanged(const QPen &pen); | ||
Michal Klocek
|
r466 | |||
Michal Klocek
|
r938 | private: | ||
Tero Ahola
|
r1222 | Q_DECLARE_PRIVATE(QXYSeries) | ||
Q_DISABLE_COPY(QXYSeries) | ||||
sauimone
|
r2175 | friend class QXYLegendMarkerPrivate; | ||
Michal Klocek
|
r938 | friend class XYLegendMarker; | ||
Michal Klocek
|
r1218 | friend class XYChart; | ||
Michal Klocek
|
r466 | }; | ||
Titta Heikkala
|
r2712 | QT_CHARTS_END_NAMESPACE | ||
Michal Klocek
|
r466 | |||
Jani Honkonen
|
r2046 | #endif // QXYSERIES_H | ||