logplus/ModuleConsole/command/include/GlobalWorkflowItems.h

76 lines
2.1 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/*
* 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_ */