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

112 lines
2.3 KiB
C
Raw Normal View History

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