112 lines
2.3 KiB
C++
112 lines
2.3 KiB
C++
/**
|
||
* @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
|
||
|