DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAStandardNodeInputOutputGraphicsItem.h
1#ifndef DASTANDARDNODEINPUTOUTPUTGRAPHICSITEM_H
2#define DASTANDARDNODEINPUTOUTPUTGRAPHICSITEM_H
3#include "DAAbstractNodeGraphicsItem.h"
4#include <functional>
5#include <QPixmap>
6namespace DA
7{
9{
10public:
11 DAStandardNodeInputOutputGraphicsItem(DA::DAAbstractNode* n, QGraphicsItem* p = nullptr);
13 // 计算尺寸,根据输入输出进行尺寸计算
14 QSize calcSize() const;
15 // 绘制具体内容
16 virtual void paintBody(QPainter* painter,
17 const QStyleOptionGraphicsItem* option,
18 QWidget* widget,
19 const QRectF& bodyRect) override;
20 // 获取连接点尺寸
21 QSize getLinkpointSize() const;
22 // 节点名字改变的回调
23 virtual void nodeDisplayNameChanged(const QString& name);
24 // 允许一个节点多次链接
25 void setEnableMultLink(bool on);
26 bool isEnableMultLink() const;
27 // 设置在中间显示icon,icon以node的icon来显示
28 void setEnableShowIcon(bool on);
29 bool isEnableShowIcon() const;
30 // 设置icon的尺寸
31 void setIconSize(const QSize& s);
32 QSize getIconSize() const;
33
34protected:
35 // 绘制显示名字
36 void paintDisplayName(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget, const QString& name);
37 void paintIcon(QPainter* painter,
38 const QStyleOptionGraphicsItem* option,
39 QWidget* widget,
40 const QRectF& bodyRect,
41 const QPixmap& pixmap);
42 // 绘制图标
43 QPixmap generateIcon();
44
45private:
46 QString mDisplayName;
47 bool mEnableShowIcon { true };
48 QSize mIconSize { 20, 20 };
49 QPixmap mIconPixmap;
50};
51}
52#endif // DASTANDARDNODEINPUTOUTPUTGRAPHICSITEM_H
这是节点的基类,workflow所有节点都继承此类 作为一个节点的QGraphicsItem,此item应该由DAAbstractNode创建
Definition DAAbstractNodeGraphicsItem.h:47
节点对应的基类
Definition DAAbstractNode.h:50
Definition DAStandardNodeInputOutputGraphicsItem.h:9
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44