DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DADataManagerTableModel.h
1#ifndef DADATAMANAGERTABLEMODEL_H
2#define DADATAMANAGERTABLEMODEL_H
3#include <QAbstractTableModel>
4#include "DAGlobals.h"
5#include "DADataManager.h"
6#include "DAGuiAPI.h"
7#ifndef DA_ROLE_DADATAMANAGERTABLEMODEL_DATA
11#define DA_ROLE_DADATAMANAGERTABLEMODEL_DATA Qt::UserRole + 1
12#endif
13
14namespace DA
15{
19class DAGUI_API DADataManagerTableModel : public QAbstractTableModel
20{
21 Q_OBJECT
22public:
23 DADataManagerTableModel(QObject* p = nullptr);
24 DADataManagerTableModel(DADataManager* dm, QObject* p = nullptr);
26 QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
27 int columnCount(const QModelIndex& parent = QModelIndex()) const override;
28 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
29 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
30 Qt::ItemFlags flags(const QModelIndex& index) const override;
31
32public:
33 void setDataManager(DADataManager* dm);
34 QVariant dataDisplay(const DAData& d, const QModelIndex& index) const;
35 QVariant dataDecoration(const DAData& d, const QModelIndex& index) const;
36 QVariant dataBackground(const DAData& d, const QModelIndex& index) const;
37 QVariant dataToolTip(const DAData& d, const QModelIndex& index) const;
38 //变量对应的图标
39 static QIcon dataToIcon(const DAData& d);
40
41public:
42 //刷新
43 void refresh(int row, int col);
44private slots:
45 void onDataAdded(const DA::DAData& d);
46 void onDataBeginRemoved(const DA::DAData& d, int dataIndex);
47 void onDataRemoved(const DA::DAData& d, int dataIndex);
48
49private:
50 DADataManager* _dataManager;
51};
52} // namespace DA
53#endif // DADATAMANAGERMODEL_H
对DataManager显示的的model
Definition DADataManagerTableModel.h:20
DAData的数据管理类,实现数据操作的一些通知例如数据添加、删除、改名、内容改变等等
Definition DADataManager.h:18
DAAbstractData的封装 可以放入QMap,QHash中,DAData的等于操作相当于创建一个引用
Definition DAData.h:25
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44