logplus/Workflow/WFEngine/Component/WorkflowWidget/include/PaiJobParameterItem.h
2026-01-16 17:18:41 +08:00

112 lines
2.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @file PaiJobParameterItem.h
* @brief 作业参数信息
* @date 2013-04-20
*/
#ifndef PAI_FRAME_WORKFLOWWIDGET_PAIJOBPARAMETERITEM_H
#define PAI_FRAME_WORKFLOWWIDGET_PAIJOBPARAMETERITEM_H
#include <QGraphicsItem>
#include <QRectF>
class QWidget;
namespace pai
{
namespace gui
{
class PaiJobParameterItemWidget;
}
}
namespace pai
{
namespace gui
{
/**
* @class PaiJobParameterItem
* @brief 作业信息item
*/
class PaiJobParameterItem : public QGraphicsItem
{
public:
/**
* @brief item类型
*/
enum
{
Type = UserType + 1457 ///< item类型
};
/**
* @brief 构造函数
* @param[in] pParent 父亲
*/
PaiJobParameterItem(QGraphicsItem *pParent = NULL);
/**
* @brief 析构函数
*/
virtual ~PaiJobParameterItem();
/**
* @brief item类型
* @return item类型
*/
virtual int type() const;
/**
* @brief 实现该虚函数,返回模块图元的包围矩形
* @return item外围矩形
*/
virtual QRectF boundingRect() const;
/**
* @brief 更新位置
*/
void UpdatePosition();
/**
* @brief 获取item的代理对话框
* @return item的代理对话框
*/
pai::gui::PaiJobParameterItemWidget* GetWidget() const;
protected:
/**
* @brief 重写该虚函数,实现鼠标进入覆盖操作
* @param[in] pEvent 鼠标hoverEnter事件
*/
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *pEvent);
/**
* @brief 重写该虚函数,实现鼠标覆盖离开操作
* @param[in] pEvent 鼠标hoverLeave事件
*/
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *pEvent);
private:
/**
* @brief 实现该虚函数绘制作业信息展示item
* @param[in] pPainter 画笔
* @param[in] pOption 模块风格参数
* @param[in] pWidget 画布
*/
virtual void paint(QPainter *pPainter, const QStyleOptionGraphicsItem *pOption, QWidget *pWidget = NULL);
private:
bool m_flag; ///< 进入标志
qreal m_width; ///< 宽度
qreal m_height; ///< 高度
pai::gui::PaiJobParameterItemWidget *m_pParameItemWidget; ///< 代理widget
};
}
}
#endif ///< PAI_FRAME_WORKFLOWWIDGET_PAIJOBPARAMETERITEM_H