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

101 lines
1.9 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/**
* @file PaiJobSummaryItem.h
* @brief
* @date 2013-04-20
*/
#ifndef PAI_FRAME_WORKFLOWWIDGET_PAIJOBSUMMARYITEM_H
#define PAI_FRAME_WORKFLOWWIDGET_PAIJOBSUMMARYITEM_H
#include <QGraphicsItem>
#include <QRectF>
class QWidget;
namespace pai
{
namespace gui
{
class PaiJobSummaryWidget;
}
namespace objectmodel
{
class PaiJob;
}
}
namespace pai
{
namespace gui
{
/**
* @class PaiJobSummaryItem
* @brief Item
*/
class PaiJobSummaryItem : public QGraphicsItem
{
public:
/**
* @brief item类型
*/
enum
{
Type = UserType + 1456 ///< item类型
};
/**
* @brief
* @param[in] pJob
* @param[in] pParent
*/
PaiJobSummaryItem(pai::objectmodel::PaiJob *pJob,QGraphicsItem *pParent = NULL);
/**
* @brief
*/
virtual ~PaiJobSummaryItem();
/**
* @brief item类型
* @return item类型
*/
virtual int type() const;
/**
* @brief
* @reurn item外围矩形
*/
virtual QRectF boundingRect() const;
/**
* @brief
*/
void UpdatePosition();
/**
* @brief Widget
* @return Widget
*/
pai::gui::PaiJobSummaryWidget* GetSummaryWidget() const;
private:
/**
* @brief item
* @param[in] pPainter
* @param[in] pOption
* @param[in] pWidget
*/
virtual void paint(QPainter *pPainter, const QStyleOptionGraphicsItem *pOption, QWidget *pWidget = NULL);
private:
qreal m_width; ///< 宽度
qreal m_height; ///< 高度
pai::gui::PaiJobSummaryWidget *m_pSummDlg; ///< 代理Widget
};
}
}
#endif ///< PAI_FRAME_WORKFLOWWIDGET_PAIJOBSUMMARYITEM_H