DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DATreeModel.h
1#ifndef SATREEMODEL_H
2#define SATREEMODEL_H
3#include <QAbstractItemModel>
4#include "DAGuiAPI.h"
5namespace DA
6{
7class DATreeModelPrivate;
8class DATree;
9class DATreeItem;
13class DAGUI_API DATreeModel : public QAbstractItemModel
14{
15 Q_OBJECT
16 DA_IMPL(DATreeModel)
17public:
18 explicit DATreeModel(QObject* par = nullptr, int colCount = 1);
19 explicit DATreeModel(DATree* t, QObject* par = nullptr, int colCount = 1);
21 QModelIndex index(int row, int column, const QModelIndex& parent) const override;
22 QModelIndex parent(const QModelIndex& index) const override;
23 int rowCount(const QModelIndex& p) const override;
24 int columnCount(const QModelIndex& parent) const override;
25 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
26 Qt::ItemFlags flags(const QModelIndex& index) const override;
27 QVariant data(const QModelIndex& index, int role) const override;
28 void update();
29
30public:
31 virtual QVariant dataTreeItem(DATreeItem* i, const QModelIndex& index, int role) const;
32
33public:
34 //设置列数
35 void setColumnCount(int col);
36 //设置表头,需要先setColumnCount
37 void setHeaderLabel(int column, const QString& s);
38 //设置tree
39 void setTree(DATree* t);
40 //获取树的指针
41 DATree* getTree();
42 const DATree* getTree() const;
43
44public:
45 DATreeItem* indexToItem(const QModelIndex& index) const;
46 QModelIndex itemToIndex(const DATreeItem* i) const;
47};
48} // end of DA
49#endif // SATREEMODEL_H
基本树形结构的条目,是SAAbstractData的基类,提供了名称和图标以及父子关系管理功能 SAItem可用SATree进行管理,形成树形结构
Definition DATreeItem.h:17
针对DATree的通用model
Definition DATreeModel.h:14
通用树形结构数据存储 支持任意拷贝和赋值
Definition DATree.h:14
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44