DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DAWorkFlowOperateWidget类 参考

工作流绘图建模窗口 更多...

#include <DAWorkFlowOperateWidget.h>

类 DA::DAWorkFlowOperateWidget 继承关系图:
DA::DAAbstractOperateWidget DA::DAAppWorkFlowOperateWidget

class  PrivateData
 

Public 类型

enum  InnerActions {
  ActionCopy = 0 , ActionCut , ActionPaste , ActionDelete ,
  ActionCancel , ActionSelectAll , ActionZoomIn , ActionZoomOut ,
  ActionZoomFit , ActionCrossLineMarker , ActionHLineMarker , ActionVLineMarker ,
  ActionNoneMarker
}
 DAWorkFlowOperateWidget窗口内部的action 更多...
 
using FpScenesOpt = std::function< bool(DAWorkFlowGraphicsScene *) >
 场景操作的迭代函数指针,传入场景指针,返回false代表迭代中断,返回true代表迭代继续
 
using FpEditWidgetOpt = std::function< bool(DAWorkFlowEditWidget *) >
 DAWorkFlowEditWidget操作的迭代函数指针,传入DAWorkFlowEditWidget指针,返回false代表迭代中断,返回true代表迭代继续
 

Public 槽

void addBackgroundPixmap (const QString &pixmapPath)
 
void setBackgroundPixmapLock (bool on)
 
void setSelectTextFont (const QFont &f)
 
void setSelectTextColor (const QColor &color)
 
void setSelectShapeBackgroundBrush (const QBrush &b)
 
void setSelectShapeBorderPen (const QPen &v)
 
void setCurrentWorkflowShowGrid (bool on)
 设置当前工作流的网格显示与否
 
void setCurrentWorkflowReadOnly (bool on)
 设置当前工作流锁定
 
void setCurrentWorkflowWholeView ()
 设置当前工作流全部显示
 
void setCurrentWorkflowZoomIn ()
 放大
 
void setCurrentWorkflowZoomOut ()
 缩小
 
void setCurrentWorkflowSelectAll ()
 全选
 
void runCurrentWorkFlow ()
 运行工作流
 
void terminateCurrentWorkFlow ()
 终止当前工作流
 
void copyCurrentSelectItems ()
 复制当前选中的items
 
void cutCurrentSelectItems ()
 剪切当前选中的items
 
void pasteFromClipBoard ()
 ctrl+v动作
 
void removeCurrentSelectItems ()
 删除当前的item
 
void cancelCurrent ()
 当前的wf执行取消动作
 
void setEnableWorkflowLink (bool on)
 设置是否允许连接
 
bool isEnableWorkflowLink () const
 是否允许连接
 

信号

void selectNodeItemChanged (DA::DAAbstractNodeGraphicsItem *i)
 选中了某个节点的设置窗口
 
void workflowCreated (DA::DAWorkFlowEditWidget *wfw)
 有新的工作流创建
 
void workflowRemoving (DA::DAWorkFlowEditWidget *wfw)
 工作流窗口正在移除,此时DA::DAWorkFlowEditWidget*指针还可正常操作
 
void workflowClearing ()
 工作流在清空,不会发射workflowRemoving信号,而是发射workflowClearing信号
 
void currentWorkFlowWidgetChanged (DA::DAWorkFlowEditWidget *w)
 当前的工作流窗口发生了改变
 
void sceneActionActived (DA::DAAbstractGraphicsSceneAction *scAction)
 场景动作激活
 
void sceneActionDeactived (DA::DAAbstractGraphicsSceneAction *scAction)
 场景动作取消
 
void selectionItemChanged (QGraphicsItem *lastSelectItem)
 选中的item改变发送的信号
 
void workflowStartExecute (DA::DAWorkFlowEditWidget *wfw)
 开始执行,exec函数调用后会触发此信号
 
void nodeExecuteFinished (DA::DAWorkFlowEditWidget *wfw, DA::DAAbstractNode::SharedPointer n, bool state)
 执行到某个节点发射的信号
 
void workflowFinished (DA::DAWorkFlowEditWidget *wfw, bool success)
 工作流执行完毕信号
 
void itemsAdded (DA::DAGraphicsScene *sc, const QList< QGraphicsItem * > &its)
 item添加的信号
 
void itemsRemoved (DA::DAGraphicsScene *sc, const QList< QGraphicsItem * > &its)
 item移除的信号
 

Public 成员函数

 DAWorkFlowOperateWidget (QWidget *parent=nullptr)
 
virtual DAWorkFlowcreateWorkflow ()
 创建工作流,创建完后通过getWorkflow获取
 
DAWorkFlowEditWidgetappendWorkflow (const QString &name)
 添加一个工作流编辑窗口
 
DAWorkFlowEditWidgetappendWorkflowWithDialog ()
 创建一个新的工作流窗口
 
int getCurrentWorkflowIndex () const
 获取当前工作流的索引
 
void setCurrentWorkflow (int index)
 设置当前的工作流
 
DAWorkFlowgetCurrentWorkflow () const
 获取当前的工作流
 
void setCurrentWorkflowWidget (DAWorkFlowEditWidget *wf)
 设置当前的页面
 
DAWorkFlowEditWidgetgetCurrentWorkFlowWidget () const
 获取当前选中的工作流窗口
 
void setCurrentWorkflowName (const QString &name)
 
QList< DAWorkFlowEditWidget * > getAllWorkFlowWidgets () const
 获取所有的工作流编辑窗口
 
DAWorkFlowGraphicsScenegetCurrentWorkFlowScene () const
 获取scene
 
QList< DAWorkFlowGraphicsScene * > getAllWorkFlowScene () const
 获取所有的工作流窗口
 
DAWorkFlowGraphicsViewgetCurrentWorkFlowView () const
 获取当前视图
 
DAWorkFlowEditWidgetgetWorkFlowWidget (int index) const
 获取工作流窗口
 
QString getWorkFlowWidgetName (int index) const
 获取工作流窗口的名称
 
void renameWorkFlowWidget (int index, const QString &name)
 给工作流重命名
 
int count () const
 获取编辑窗口数量
 
void removeWorkflow (int index)
 移除工作流
 
void setUndoStackActive ()
 激活当前的回退功能
 
bool isCurrentWorkflowShowGrid () const
 是否显示网格
 
QUndoStack * getUndoStack () override
 获取undostack
 
bool setPreDefineSceneAction (DAWorkFlowGraphicsScene::SceneActionFlag mf)
 设置鼠标动作
 
void clear ()
 清空
 
QList< QString > getAllWorkflowNames () const
 获取所有工作流的名字
 
QFont getDefaultTextFont () const
 文本字体
 
void setDefaultTextFont (const QFont &f)
 设置文本字体
 
QColor getDefaultTextColor () const
 文本颜色
 
void setDefaultTextColor (const QColor &c)
 设置默认的文本颜色
 
bool isOnlyOneWorkflow () const
 
void setOnlyOneWorkflow (bool v)
 
QAction * getInnerAction (InnerActions act)
 获取窗口内置的action,一般这个函数用来把action设置到工具栏或者菜单中
 
void iteratorScene (FpScenesOpt fp)
 迭代场景操作
 
void setCurrentViewLineMarker (DAGraphicsViewOverlayMouseMarker::MarkerStyle s)
 设置当前视图的标记线
 
QActionGroup * getLineMarkerActionGroup () const
 
- Public 成员函数 继承自 DA::DAAbstractOperateWidget
 DAAbstractOperateWidget (QWidget *par=nullptr)
 

详细描述

工作流绘图建模窗口

成员枚举类型说明

◆ InnerActions

DAWorkFlowOperateWidget窗口内部的action

枚举值
ActionCrossLineMarker 

十字线

ActionHLineMarker 

水平线

ActionVLineMarker 

垂直线

ActionNoneMarker 

无标记线

成员函数说明

◆ appendWorkflow()

DAWorkFlowEditWidget * DA::DAWorkFlowOperateWidget::appendWorkflow ( const QString &  name)

添加一个工作流编辑窗口

此函数发射信号workflowCreated(先),也会触发currentWorkFlowWidgetChanged(后)

参数
wfe

◆ appendWorkflowWithDialog()

DAWorkFlowEditWidget * DA::DAWorkFlowOperateWidget::appendWorkflowWithDialog ( )

创建一个新的工作流窗口

注解
此函数带有交互
返回

◆ clear()

void DA::DAWorkFlowOperateWidget::clear ( )

清空

注解
此函数会发射workflowClearing 信号

◆ count()

int DA::DAWorkFlowOperateWidget::count ( ) const

获取编辑窗口数量

返回

◆ createWorkflow()

DAWorkFlow * DA::DAWorkFlowOperateWidget::createWorkflow ( )
virtual

创建工作流,创建完后通过getWorkflow获取

如果对DAWorkFlow如果有继承,那么重载此函数创建自己的workflow就行

此函数会在appendWorkflow 中调用

返回

DA::DAAppWorkFlowOperateWidget 重载.

◆ currentWorkFlowWidgetChanged

void DA::DAWorkFlowOperateWidget::currentWorkFlowWidgetChanged ( DA::DAWorkFlowEditWidget w)
signal

当前的工作流窗口发生了改变

参数
w

◆ getAllWorkflowNames()

QList< QString > DA::DAWorkFlowOperateWidget::getAllWorkflowNames ( ) const

获取所有工作流的名字

返回

◆ getAllWorkFlowScene()

QList< DAWorkFlowGraphicsScene * > DA::DAWorkFlowOperateWidget::getAllWorkFlowScene ( ) const

获取所有的工作流窗口

返回

◆ getAllWorkFlowWidgets()

QList< DAWorkFlowEditWidget * > DA::DAWorkFlowOperateWidget::getAllWorkFlowWidgets ( ) const

获取所有的工作流编辑窗口

返回

◆ getCurrentWorkflow()

DAWorkFlow * DA::DAWorkFlowOperateWidget::getCurrentWorkflow ( ) const

获取当前的工作流

返回

◆ getCurrentWorkflowIndex()

int DA::DAWorkFlowOperateWidget::getCurrentWorkflowIndex ( ) const

获取当前工作流的索引

返回

◆ getCurrentWorkFlowScene()

DAWorkFlowGraphicsScene * DA::DAWorkFlowOperateWidget::getCurrentWorkFlowScene ( ) const

获取scene

返回

◆ getCurrentWorkFlowView()

DAWorkFlowGraphicsView * DA::DAWorkFlowOperateWidget::getCurrentWorkFlowView ( ) const

获取当前视图

返回

◆ getCurrentWorkFlowWidget()

DAWorkFlowEditWidget * DA::DAWorkFlowOperateWidget::getCurrentWorkFlowWidget ( ) const

获取当前选中的工作流窗口

返回

◆ getDefaultTextColor()

QColor DA::DAWorkFlowOperateWidget::getDefaultTextColor ( ) const

文本颜色

参数
c

◆ getDefaultTextFont()

QFont DA::DAWorkFlowOperateWidget::getDefaultTextFont ( ) const

文本字体

参数
c

◆ getInnerAction()

QAction * DA::DAWorkFlowOperateWidget::getInnerAction ( DAWorkFlowOperateWidget::InnerActions  act)

获取窗口内置的action,一般这个函数用来把action设置到工具栏或者菜单中

参数
act
返回

◆ getUndoStack()

QUndoStack * DA::DAWorkFlowOperateWidget::getUndoStack ( )
overridevirtual

获取undostack

返回

重载 DA::DAAbstractOperateWidget .

◆ getWorkFlowWidget()

DAWorkFlowEditWidget * DA::DAWorkFlowOperateWidget::getWorkFlowWidget ( int  index) const

获取工作流窗口

参数
index
返回
如果超出索引范围返回nullptr

◆ getWorkFlowWidgetName()

QString DA::DAWorkFlowOperateWidget::getWorkFlowWidgetName ( int  index) const

获取工作流窗口的名称

参数
index
返回

◆ isCurrentWorkflowShowGrid()

bool DA::DAWorkFlowOperateWidget::isCurrentWorkflowShowGrid ( ) const

是否显示网格

返回

◆ isEnableWorkflowLink

bool DA::DAWorkFlowOperateWidget::isEnableWorkflowLink ( ) const
slot

是否允许连接

返回

◆ itemsAdded

void DA::DAWorkFlowOperateWidget::itemsAdded ( DA::DAGraphicsScene sc,
const QList< QGraphicsItem * > &  its 
)
signal

item添加的信号

注解
此信号是通过DAGraphicsScene::addItem_ 或是DAGraphicsScene::addItems_ 函数才会触发, 直接调用QGraphicsScene::addItem 函数不会触发此函数
参数
sc
item

◆ itemsRemoved

void DA::DAWorkFlowOperateWidget::itemsRemoved ( DA::DAGraphicsScene sc,
const QList< QGraphicsItem * > &  its 
)
signal

item移除的信号

注解
此信号是通过DAGraphicsScene::removeItem_ 或是DAGraphicsScene::removeItems_ 函数才会触发, 直接调用QGraphicsScene::removeItem 函数不会触发此函数
参数
sc
item

◆ iteratorScene()

void DA::DAWorkFlowOperateWidget::iteratorScene ( FpScenesOpt  fp)

迭代场景操作

参数
fp函数指:bool(DAWorkFlowGraphicsScene*),返回false代表迭代结束,返回true,代表迭代继续
参见
FpScenesOpt

◆ nodeExecuteFinished

void DA::DAWorkFlowOperateWidget::nodeExecuteFinished ( DA::DAWorkFlowEditWidget wfw,
DA::DAAbstractNode::SharedPointer  n,
bool  state 
)
signal

执行到某个节点发射的信号

参数
n

◆ removeWorkflow()

void DA::DAWorkFlowOperateWidget::removeWorkflow ( int  index)

移除工作流

参数
index

◆ renameWorkFlowWidget()

void DA::DAWorkFlowOperateWidget::renameWorkFlowWidget ( int  index,
const QString &  name 
)

给工作流重命名

参数
index
name

◆ sceneActionActived

void DA::DAWorkFlowOperateWidget::sceneActionActived ( DA::DAAbstractGraphicsSceneAction scAction)
signal

场景动作激活

参数
scAction场景动作

◆ sceneActionDeactived

void DA::DAWorkFlowOperateWidget::sceneActionDeactived ( DA::DAAbstractGraphicsSceneAction scAction)
signal

场景动作取消

参数
scAction场景动作

◆ selectionItemChanged

void DA::DAWorkFlowOperateWidget::selectionItemChanged ( QGraphicsItem *  lastSelectItem)
signal

选中的item改变发送的信号

参数
lastSelectItem

◆ selectNodeItemChanged

void DA::DAWorkFlowOperateWidget::selectNodeItemChanged ( DA::DAAbstractNodeGraphicsItem i)
signal

选中了某个节点的设置窗口

参数
w

◆ setCurrentViewLineMarker()

void DA::DAWorkFlowOperateWidget::setCurrentViewLineMarker ( DAGraphicsViewOverlayMouseMarker::MarkerStyle  s)

设置当前视图的标记线

参数
s

◆ setCurrentWorkflow()

void DA::DAWorkFlowOperateWidget::setCurrentWorkflow ( int  index)

设置当前的工作流

参数
index

◆ setCurrentWorkflowReadOnly

void DA::DAWorkFlowOperateWidget::setCurrentWorkflowReadOnly ( bool  on)
slot

设置当前工作流锁定

参数
on

◆ setCurrentWorkflowShowGrid

void DA::DAWorkFlowOperateWidget::setCurrentWorkflowShowGrid ( bool  on)
slot

设置当前工作流的网格显示与否

参数
on

◆ setCurrentWorkflowWidget()

void DA::DAWorkFlowOperateWidget::setCurrentWorkflowWidget ( DAWorkFlowEditWidget wf)

设置当前的页面

参数
wf

◆ setDefaultTextColor()

void DA::DAWorkFlowOperateWidget::setDefaultTextColor ( const QColor &  c)

设置默认的文本颜色

参数
c

◆ setDefaultTextFont()

void DA::DAWorkFlowOperateWidget::setDefaultTextFont ( const QFont &  f)

设置文本字体

参数
c

◆ setEnableWorkflowLink

void DA::DAWorkFlowOperateWidget::setEnableWorkflowLink ( bool  on)
slot

设置是否允许连接

参数
on

◆ setPreDefineSceneAction()

bool DA::DAWorkFlowOperateWidget::setPreDefineSceneAction ( DAWorkFlowGraphicsScene::SceneActionFlag  mf)

设置鼠标动作

一旦设置鼠标动作,鼠标点击后就会触发此动作,continuous来标记动作结束后继续保持还是还原为无动作

参数
mf鼠标动作
continuous是否连续执行

◆ workflowCreated

void DA::DAWorkFlowOperateWidget::workflowCreated ( DA::DAWorkFlowEditWidget wfw)
signal

有新的工作流创建

参数
wfw

◆ workflowFinished

void DA::DAWorkFlowOperateWidget::workflowFinished ( DA::DAWorkFlowEditWidget wfw,
bool  success 
)
signal

工作流执行完毕信号

参数
success成功全部执行完成为true

◆ workflowRemoving

void DA::DAWorkFlowOperateWidget::workflowRemoving ( DA::DAWorkFlowEditWidget wfw)
signal

工作流窗口正在移除,此时DA::DAWorkFlowEditWidget*指针还可正常操作

此时DAWorkFlowOperateWidget还管理着DA::DAWorkFlowEditWidget*,此信号之后将移除

参数
wfw

该类的文档由以下文件生成: