DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DANodeTreeWidget.h
1#ifndef DANODETREEWIDGET_H
2#define DANODETREEWIDGET_H
3#include <QTreeWidget>
4#include <QTreeWidgetItem>
5#include "DANodeMetaData.h"
6#include "DAGuiAPI.h"
7
8class QMouseEvent;
9namespace DA
10{
11
12class DAGUI_API DANodeTreeWidgetItem : public QTreeWidgetItem
13{
14public:
15 enum NodeItemType
16 {
17 ThisItemType = QTreeWidgetItem::UserType + 1
18 };
19
20public:
22 DANodeTreeWidgetItem(QTreeWidgetItem* parent, const DANodeMetaData& md);
23 DANodeMetaData getNodeMetaData() const;
24 void setNodeMetaData(const DANodeMetaData& md);
25};
26
30class DAGUI_API DANodeTreeWidget : public QTreeWidget
31{
32 Q_OBJECT
33public:
34 DANodeTreeWidget(QWidget* par = nullptr);
35 //添加items
36 void addItems(const QList< DANodeMetaData >& nodeMetaDatas);
37 //逐个添加 注意此效率非常低
38 void addItem(const DANodeMetaData& md);
39 //添加到收藏
40 void addToFavorite(const DANodeMetaData& md);
41 void removeFavorite(const DANodeMetaData& md);
42 //
43 QTreeWidgetItem* getFavoriteItem();
44 //创建收藏列
45 QTreeWidgetItem* createFavoriteItem();
46 //
47 DANodeMetaData getNodeMetaData(const QPoint& p) const;
48
49protected:
50 virtual void mousePressEvent(QMouseEvent* event) override;
51 virtual void mouseMoveEvent(QMouseEvent* event) override;
52
53private:
54 QPoint _startPressPos;
55 QTreeWidgetItem* _favoriteItem;
56};
57}
58
59#endif // DANODETREEWIDGET_H
保存节点元数据 节点元数据由工厂进行管理
Definition DANodeMetaData.h:16
Definition DANodeTreeWidget.h:13
用于显示节点,并支持拖曳到view视图中
Definition DANodeTreeWidget.h:31
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44