DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAWorkFlowNodeItemSettingWidget.h
1#ifndef DAWORKFLOWNODEITEMSETTINGWIDGET_H
2#define DAWORKFLOWNODEITEMSETTINGWIDGET_H
3#include <QWidget>
4#include <QTabWidget>
5#include <QPointer>
6#include "DAGuiAPI.h"
7#include "DANodeSettingWidget.h"
8#include "DAWorkFlowGraphicsScene.h"
9#include "DANodeItemSettingWidget.h"
10#include "DANodeLinkItemSettingWidget.h"
11#include "DAAbstractNodeLinkGraphicsItem.h"
12namespace Ui
13{
14class DAWorkFlowNodeItemSettingWidget;
15}
16namespace DA
17{
18class DAWorkFlowEditWidget;
19class DAWorkFlowOperateWidget;
20class DAGraphicsPixmapItem;
21class DAAbstractNodeWidget;
22
30class DAGUI_API DAWorkFlowNodeItemSettingWidget : public QWidget
31{
32 Q_OBJECT
33
34public:
35 explicit DAWorkFlowNodeItemSettingWidget(QWidget* parent = nullptr);
37
38 // 添加新窗体
39 void addWidget(QWidget* w, const QIcon& icon, const QString& title);
40 void removeWidget(QWidget* w);
41 // tab窗体
42 QTabWidget* tabWidget();
43
44 // 设置场景
45 void setWorkFlowOperateWidget(DAWorkFlowOperateWidget* wf);
46 // 设置节点设置可用
47 void setNodeSettingEnable(bool on = true);
48 // 设置item设置可用
49 void setItemSettingEnable(bool on = true);
50 // 设置link设置可用
51 void setLinkSettingEnable(bool on = true);
52 // 设置pixmap设置可用
53 void setPixmapItemSettingEnable(bool on = true);
54 // 获取当前的scene
55 DAWorkFlowGraphicsScene* getCurrentScene() const;
56 // 移除tab页
57 void removeTab(QWidget* w);
58 // 移除节点设置tab,移除后将不显示
59 void removeNodeSettingTab();
60 // 移除元件设置tab,移除后将不显示
61 void removeItemSettingTab();
62 // 移除链接设置tab
63 void removeLinkSettingTab();
64 // 移除图片设置窗口
65 void removePictureItemSettingTab();
66 // 判断tab是否包含此窗口
67 bool isTabContainWidget(QWidget* w);
68private slots:
69 // 选择改变
70 void onSceneSelectionChanged();
71 // 条目的位置改变触发的槽
72 void onSceneItemsPositionChanged(const QList< QGraphicsItem* >& items,
73 const QList< QPointF >& oldPos,
74 const QList< QPointF >& newPos);
75 // 条目bodysize改变触发的信号
76 void onSceneItemBodySizeChanged(DA::DAGraphicsResizeableItem* item, const QSizeF& oldSize, const QSizeF& newSize);
77 // 条目item旋转发出的信号
78 void onSceneItemRotationChanged(DA::DAGraphicsResizeableItem* item, const qreal& rotation);
79 // 记录tab最后一个index
80 void onTabBarCurrentIndexChanged(int index);
81 // 编辑窗口发生变更
82 void onWorkFlowEditWidgetChanged(DA::DAWorkFlowEditWidget* w);
83
84private:
85 void init();
86 void bindWorkFlowEditWidget(DAWorkFlowEditWidget* w);
87
88private:
89 Ui::DAWorkFlowNodeItemSettingWidget* ui;
90 QPointer< DAWorkFlowOperateWidget > _workflowOptWidget;
91 QPointer< DAWorkFlowEditWidget > _workflowEditWidget;
92 QPointer< DAAbstractNodeWidget > mLastSetNodeWidget;
93 int _lastTabIndex;
94};
95} // namespace DA
96#endif // DAWORKFLOWNODEITEMSETTINGWIDGET_H
用于调整大小的item
Definition DAGraphicsResizeableItem.h:48
工作流绘图窗口
Definition DAWorkFlowEditWidget.h:29
The DAWorkFlowGraphicsScene class
Definition DAWorkFlowGraphicsScene.h:18
节点设置窗口
Definition DAWorkFlowNodeItemSettingWidget.h:31
工作流绘图建模窗口
Definition DAWorkFlowOperateWidget.h:26
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44