DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAStandardNodePixmapGraphicsItem.h
1#ifndef DASTANDARDNODEPIXMAPGRAPHICSITEM_H
2#define DASTANDARDNODEPIXMAPGRAPHICSITEM_H
3#include "DAWorkFlowAPI.h"
4#include "DAAbstractNodeGraphicsItem.h"
5#include "DAGraphicsResizeableItem.h"
6class QDomDocument;
7class QDomElement;
8namespace DA
9{
10
15{
16 Q_OBJECT
17 DA_DECLARE_PRIVATE(DAStandardNodePixmapGraphicsItem)
18public:
19 enum
20 {
21 Type = DA::ItemType_GraphicsStandardNodePixmapItem
22 };
23 int type() const override
24 {
25 return (Type);
26 }
27 DAStandardNodePixmapGraphicsItem(DAAbstractNode* n, QGraphicsItem* p = nullptr);
29 void setBodySize(const QSizeF& s) override;
30 // 计算BoundingRect
31 virtual QSizeF bodySizeHint() const;
32 void paintBody(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget, const QRectF& bodyRect) override;
33 // 设置节点的图片,默认是node节点的icon图片
34 void setPixmap(const QPixmap& p);
35 const QPixmap& getPixmap() const;
36 // 设置图片的尺寸
37 void setPixmapSize(const QSize& s);
38 QSize getPixmapSize() const;
39 // 获取字体的尺寸
40 QSizeF getTextSize() const;
41
42 void setText(const QString& t);
43 QString getText() const;
44 // 文本可以移动
45 void setEnableMoveText(bool on = true);
46 bool isEnableMoveText() const;
47 // 设置图片变换时的比例
48 void setAspectRatioMode(Qt::AspectRatioMode m);
49 Qt::AspectRatioMode getAspectRatioMode() const;
50 // 设置图片缩放时TransformationMode
51 void setTransformationMode(Qt::TransformationMode m);
52 Qt::TransformationMode getTransformationMode() const;
53 // 保存到xml中
54 virtual bool saveToXml(QDomDocument* doc, QDomElement* parentElement, const QVersionNumber& ver) const override;
55 virtual bool loadFromXml(const QDomElement* itemElement, const QVersionNumber& ver) override;
56
57protected:
58 // 添加事件处理
59 QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant& value) override;
60 // 节点名字改变
61 void prepareNodeNameChanged(const QString& name) override;
62};
63
64} // end of namespace DA
65#endif // FCSTANDARDNODEGRAPHICSITEM_H
这是节点的基类,workflow所有节点都继承此类 作为一个节点的QGraphicsItem,此item应该由DAAbstractNode创建
Definition DAAbstractNodeGraphicsItem.h:47
节点对应的基类
Definition DAAbstractNode.h:50
标准的可resize的pixmap GraphicsItem,可以作为节点的图片显示
Definition DAStandardNodePixmapGraphicsItem.h:15
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44