DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DADataManagerInterface.h
1#ifndef DADATAMANAGERINTERFACE_H
2#define DADATAMANAGERINTERFACE_H
3#include "DAInterfaceAPI.h"
4#include <QRegularExpression>
5#include "DABaseInterface.h"
6#include "DAData.h"
7#include "DADataManager.h"
8class QUndoStack;
9namespace DA
10{
11class DACoreInterface;
15class DAINTERFACE_API DADataManagerInterface : public DABaseInterface
16{
17 Q_OBJECT
18 DA_DECLARE_PRIVATE(DADataManagerInterface)
19public:
20 DADataManagerInterface(DACoreInterface* c, QObject* par = nullptr);
22 // 获取datamanager指针
23 DADataManager* dataManager() const;
24 // 添加数据
25 virtual void addData(DAData& d);
26 virtual void addData_(DAData& d);
27 // 移除数据
28 virtual void removeData(DAData& d);
29 virtual void removeData_(DAData& d);
30 // 获取数据量
31 virtual int getDataCount() const;
32
39 virtual QList< DAData > getSelectDatas() const = 0;
46 virtual DAData getOperateData() const = 0;
47
57 virtual QList< int > getOperateDataSeries() const = 0;
58 // 参数的索引
59 int getDataIndex(const DAData& d) const;
60 // 根据索引获取对应的值
61 DAData getData(int index) const;
62 // 根据id获取数据
63 DAData getDataById(DAData::IdType id) const;
64 // 查找数据
65 DAData findData(const QString& name, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
66 // 可以使用通配符字符串查找匹配
67 QList< DAData > findDatas(const QString& pattern, Qt::CaseSensitivity cs = Qt::CaseInsensitive) const;
68 QList< DAData > findDatasReg(const QRegularExpression& regex) const;
69 // 获取所有数据
70 QList< DAData > getAllDatas() const;
71 // 获取undo stack
72 QUndoStack* getUndoStack() const;
73signals:
78 void dataAdded(const DA::DAData& d);
84 void dataBeginRemove(const DA::DAData& d, int dataIndex);
89 void dataRemoved(const DA::DAData& d, int dataOldIndex);
96};
97} // namespace DA
98#endif // DADATAMANAGERINTERFACE_H
Definition DABaseInterface.h:9
APP的核心接口
Definition DACoreInterface.h:24
数据管理接口
Definition DADataManagerInterface.h:16
void dataBeginRemove(const DA::DAData &d, int dataIndex)
数据准备删除
void dataRemoved(const DA::DAData &d, int dataOldIndex)
数据删除发射的信号
virtual QList< int > getOperateDataSeries() const =0
获取当前正在操作窗口操作的列名
virtual QList< DAData > getSelectDatas() const =0
获取当前选中的数据,此函数要基于界面数据管理器选择的数据返回
void dataAdded(const DA::DAData &d)
有数据添加发射的信号
virtual DAData getOperateData() const =0
获取当前正在操作的数据,当前正在操作的数据是指当前正在打开的表格所对应的数据
void dataChanged(const DA::DAData &d, DA::DADataManager::ChangeType t)
数据信息改变
DAData的数据管理类,实现数据操作的一些通知例如数据添加、删除、改名、内容改变等等
Definition DADataManager.h:18
ChangeType
改变类型
Definition DADataManager.h:28
DAAbstractData的封装 可以放入QMap,QHash中,DAData的等于操作相当于创建一个引用
Definition DAData.h:25
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44