DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAAbstractData.h
1#ifndef DAABSTRACTDATA_H
2#define DAABSTRACTDATA_H
3#include <QVariant>
4#include <memory>
5#include <QMetaEnum>
6#include <QDataStream>
7#include "DADataAPI.h"
8namespace DA
9{
15class DADATA_API DAAbstractData
16{
17public:
18 using Pointer = std::shared_ptr< DAAbstractData >;
19 using IdType = uint64_t;
20public:
30
31public:
33 virtual ~DAAbstractData();
34
35 // 变量类型
36 virtual DataType getDataType() const = 0;
37
38 // 变量值
39 virtual QVariant toVariant(std::size_t dim1, std::size_t dim2) const = 0;
40 virtual bool setValue(std::size_t dim1, std::size_t dim2, const QVariant& v) = 0;
41
42 // 变量名
43 QString getName() const;
44 void setName(const QString& n);
45
46 // 变量描述
47 QString getDescribe() const;
48 void setDescribe(const QString& d);
49
50 // 返回其父节点(一般此函数之会对DADataPackage有用)
51 Pointer getParent() const;
52 void setParent(Pointer& p);
53
54 //
55 virtual void write(QDataStream& out);
56 virtual bool read(QDataStream& in);
57 // id操作
58 IdType id() const;
59 void setID(IdType d);
60
61public:
62 // 类型转换为文字
63 static QString typeToString(DataType d);
64 // 生成一个uint64_t的唯一id
65 static IdType generateID();
66
67private:
68 QString mName;
69 QString mDescribe;
70 Pointer mParent;
71 IdType mID;
72};
73
74} // namespace DA
75#endif // DAABSTRACTDATA_H
DA 的数据基类
Definition DAAbstractData.h:16
uint64_t IdType
id类型
Definition DAAbstractData.h:19
DataType
Definition DAAbstractData.h:22
@ TypePythonDataFrame
说明这个是python pandas.dataframe
Definition DAAbstractData.h:26
@ TypePythonObject
说明这个是python object
Definition DAAbstractData.h:25
@ TypeDataPackage
是一个数据包(类似struct)
Definition DAAbstractData.h:24
@ TypeNone
Definition DAAbstractData.h:23
@ TypePythonSeries
说明这个是python pandas.dataframe
Definition DAAbstractData.h:27
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44