76 lines
2.1 KiB
C++
76 lines
2.1 KiB
C++
/*
|
|
* GlobalWorkflowItems.h
|
|
* @brief 存储工作流中的所有模块和被复制的模块
|
|
* @date: 2012-10-12
|
|
* @author: liujunxia
|
|
*/
|
|
|
|
#ifndef PAI_FRAME_WORKFLOWVIEW_GLOBALWORKFLOWITEMS_H_
|
|
#define PAI_FRAME_WORKFLOWVIEW_GLOBALWORKFLOWITEMS_H_
|
|
|
|
#include <QGraphicsItem>
|
|
|
|
#include "ModuleInformation.h"
|
|
#include "ModuleConnection.h"
|
|
using namespace pai::workflow;
|
|
namespace pai
|
|
{
|
|
namespace graphics2d
|
|
{
|
|
class ModuleGraphicsItem;
|
|
class ModuleConnectGraphicsItem;
|
|
class CModuleInfoAndStyle;
|
|
class WorkflowSceneManager;
|
|
}
|
|
|
|
class GlobalWorkflowItems {
|
|
|
|
private:
|
|
GlobalWorkflowItems();
|
|
virtual ~GlobalWorkflowItems();
|
|
|
|
public:
|
|
|
|
static GlobalWorkflowItems* GetInstance();
|
|
|
|
// set copy items list
|
|
void SetCopyGraphicItems(QList<QGraphicsItem*> itemList);
|
|
// get copy items list
|
|
QList<QGraphicsItem*> GetCopyGraphicItems();
|
|
// clear copy items list and items list
|
|
void Clear();
|
|
/**
|
|
* @brief 根据粘贴列表获取需要粘贴的线的列表
|
|
* @param itemList 粘贴列表
|
|
*/
|
|
QList<CModuleConnection *> GetConnectLineList(QList<QGraphicsItem*> CopyItems);
|
|
/**
|
|
* @brief 根据粘贴列表获取需要粘贴的模块的StepID
|
|
* @param itemList 粘贴列表
|
|
*/
|
|
QList<int> GetStepIdList(QList<QGraphicsItem*> CopyItems);
|
|
QList<pai::graphics2d::CModuleInfoAndStyle *> GetModuleInfoAndStyleList(QList<QGraphicsItem*> CopyItems);
|
|
/**
|
|
* @brief 根据指定ID找到对应的模块图元
|
|
* @param pSceneManager WorkflowSceneManager
|
|
* @param iStepID 模块ID
|
|
*/
|
|
pai::graphics2d::ModuleGraphicsItem* FindModule(pai::graphics2d::WorkflowSceneManager *pSceneManager, int iStepID);
|
|
/**
|
|
* @brief 根据指定connection找到对应的模块图元
|
|
* @param pSceneManager WorkflowSceneManager
|
|
* @param pConnection 图元连线信息
|
|
*/
|
|
pai::graphics2d::ModuleConnectGraphicsItem* FindConnectionItem(pai::graphics2d::WorkflowSceneManager *pSceneManager, workflow::CModuleConnection* pConnection);
|
|
|
|
private:
|
|
QList<QGraphicsItem*> m_pCopyItems; // copy graphic items buffer
|
|
static GlobalWorkflowItems *instance;
|
|
|
|
};
|
|
}
|
|
|
|
|
|
|
|
#endif /* GLOBALWORKFLOWITEMS_H_ */
|