##// END OF EJS Templates
Marge spline
Marge spline

File last commit:

r397:e3d058df67ba
r418:4e82d53075c4 merge
Show More
qscatterseries.h
73 lines | 1.9 KiB | text/x-c | CLexer
#ifndef QSCATTERSERIES_H
#define QSCATTERSERIES_H
#include "qseries.h"
#include <QRectF>
#include <QColor>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QScatterSeriesPrivate;
class QTCOMMERCIALCHART_EXPORT QScatterSeries : public QSeries
{
Q_OBJECT
public:
enum MarkerShape {
// TODO: to be defined by the graphics design
// TODO: marker shapes: "x", star, rectangle, tilted rect, triangle, circle, dot
MarkerShapeDefault = 0,
MarkerShapeX,
MarkerShapeRectangle,
MarkerShapeTiltedRectangle,
MarkerShapeTriangle,
MarkerShapeCircle
};
public:
QScatterSeries(QObject *parent = 0);
~QScatterSeries();
public: // from QChartSeries
QSeriesType type() const { return QSeries::SeriesTypeScatter; }
public:
void add(qreal x, qreal y);
void add(QPointF value);
void add(QList<QPointF> points);
void setData(QList<QPointF> points);
QScatterSeries& operator << (const QPointF &value);
QScatterSeries& operator << (QList<QPointF> points);
QList<QPointF> data();
bool replace(int index, QPointF newPoint);
bool removeAt(int index);
int removeAll(QPointF point);
void clear();
int closestPoint(QPointF coordinate);
//TODO: insert, replace...?
QPen pen();
void setPen(QPen pen);
QBrush brush();
void setBrush(QBrush brush);
MarkerShape shape();
void setShape(MarkerShape shape);
qreal size();
void setSize(qreal size);
Q_SIGNALS:
void clicked(QPointF coordinate);
// TODO: move to PIMPL for simplicity or does the user ever need changed signals?
// TODO: more finegrained signaling for performance reasons
// (check QPieSeries implementation with change sets)
void changed();
private:
Q_DECLARE_PRIVATE(QScatterSeries)
Q_DISABLE_COPY(QScatterSeries)
QScatterSeriesPrivate *const d;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif // QSCATTERSERIES_H