logplus/Workflow/WFEngine/Component/WorkflowWidget/include/ModulePortInfoGraphicsItem.h

107 lines
2.6 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/**
* @file ModulePortInfoGraphicsItem.h
* @brief item
* @date 2011-10-31
*/
#ifndef PAI_FRAME_WORKFLOWWIDGET_MODULEPORTINFOGRAPHICSITEM_H
#define PAI_FRAME_WORKFLOWWIDGET_MODULEPORTINFOGRAPHICSITEM_H
#include <QGraphicsItem>
namespace pai
{
namespace graphics2d
{
class ModuleGraphicsItem;
}
}
namespace pai
{
namespace graphics2d
{
/**
* @class ModulePortInfoGraphicsItem
* @brief item
*/
class ModulePortInfoGraphicsItem : public QGraphicsItem
{
public:
/**
* @brief item类型
*/
enum
{
Type = UserType + 1002 ///< 当前Item类型
};
/**
* @brief
* @param[in] pModuleItem
* @param[in] portDirection
* @param[in] portIndex
* @param[in] pParent
*/
ModulePortInfoGraphicsItem(pai::graphics2d::ModuleGraphicsItem *pModuleItem,
PortDirection portDirection,
int portIndex,
QGraphicsItem *pParent = NULL);
/**
* @brief
*/
virtual ~ModulePortInfoGraphicsItem();
/**
* @brief item类型
* @return item类型
*/
virtual int type() const;
/**
* @brief 线
* @return item外围矩形
*/
virtual QRectF boundingRect() const;
/**
* @brief
* @return
*/
PortDirection GetPortDirection() const;
/**
* @brief
* @return
*/
int GetPortIndex() const;
/**
* @brief
* @param[in] trace
* @param[in] time
*/
void SetPrgsInfo(int trace, int speed);
protected:
/**
* @brief
* @param[in] pPainter
* @param[in] pOption
* @param[in] pWidget
*/
virtual void paint(QPainter *pPainter, const QStyleOptionGraphicsItem *pOption, QWidget *pWidget = NULL);
private:
pai::graphics2d::ModuleGraphicsItem *m_pModuleItem; ///< 模块
pai::graphics2d::PortDirection m_PortDirection; ///< 端口方向
int m_PortIndex; ///< 指示了起始模块的第几个输出端口
int m_TraceFinished; ///< 进度
int m_speed; ///< 速度
};
}
}
#endif ///< PAI_FRAME_WORKFLOWWIDGET_MODULEPORTINFOGRAPHICSITEM_H