DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAChartDataInterface.h
1#ifndef DACHARTDATAINTERFACE_H
2#define DACHARTDATAINTERFACE_H
3
4#include "DAFigureAPI.h"
5#include <QVector>
6#include <QPointF>
7#include <QRectF>
8#include <QString>
9
10class QwtPlotItem;
11class QwtPlotCurve;
12class QwtPlotBarChart;
13class QwtPlotIntervalCurve;
14class QwtPlotMarker;
15class QwtPlotSpectrogram;
16class QwtGridRasterData;
17namespace DA
18{
19
23class DAFIGURE_API DAChartDataInterface
24{
25public:
26 virtual ~DAChartDataInterface() = default;
27
28 // ==================== 通用操作 ====================
29 // 获取所有数据相关的rtti
30 virtual QList< int > dataRttis() const = 0;
31
32 // ==================== 曲线操作 ====================
33 virtual QwtPlotCurve* addCurve(const QVector< double >& xData,
34 const QVector< double >& yData,
35 const QString& title = QString()) = 0;
36 virtual QwtPlotCurve* addCurve(const QVector< QPointF >& points, const QString& title = QString()) = 0;
37 virtual QList< QwtPlotCurve* > getCurves() const = 0;
38 virtual void removeCurve(QwtPlotCurve* curve) = 0;
39
40 // ==================== 散点图 ====================
41 virtual QwtPlotCurve* addScatter(const QVector< QPointF >& points, const QString& title = QString()) = 0;
42
43 // ==================== 柱状图 ====================
44 virtual QwtPlotBarChart* addBarChart(const QVector< double >& values, const QString& title = QString()) = 0;
45 virtual QwtPlotBarChart* addBarChart(const QVector< QPointF >& points, const QString& title = QString()) = 0;
46
47 // ==================== 误差图 ====================
48 virtual QwtPlotIntervalCurve* addIntervalCurve(const QVector< double >& values,
49 const QVector< double >& mins,
50 const QVector< double >& maxs,
51 const QString& title = QString()) = 0;
52
53 // ==================== 标记线 ====================
54 virtual QwtPlotMarker* addVerticalLine(double x, const QString& title = QString()) = 0;
55 virtual QwtPlotMarker* addHorizontalLine(double y, const QString& title = QString()) = 0;
56 virtual QwtPlotMarker* addCrossLine(double x, double y, const QString& title = QString()) = 0;
57
58 // ==================== 高级图表 ====================
59 virtual QwtPlotSpectrogram* addSpectrogram(QwtGridRasterData* gridData, const QString& title = QString()) = 0;
60
61 // ==================== 通用数据操作 ====================
62 virtual void removePlotItem(QwtPlotItem* item) = 0;
63 virtual void clearAllData() = 0;
64
65 // ==================== 数据工具函数 ====================
66 virtual QRectF getDataBounds() const = 0;
67 virtual bool hasData() const = 0;
68};
69
70} // namespace DA
71
72#endif // DACHARTDATAINTERFACE_H
图表数据操作接口 - 负责数据的添加、删除和管理
Definition DAChartDataInterface.h:24
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44