logplus/Workflow/WFWidget/include/PaiWidgetAction.h

87 lines
2.0 KiB
C
Raw Normal View History

2026-01-17 12:55:45 +08:00
/**
* @file PaiWidgetAction.h
* @brief PAI自定义的WidgetAction
* @date 2012-11-30
*/
#ifndef PAI_FRAME_WIDGET_PAIWIDGETACTION_H
#define PAI_FRAME_WIDGET_PAIWIDGETACTION_H
#include <QWidgetAction>
#include "Turtle.h"
namespace pai
{
namespace gui
{
/**
* @class PaiHorizonGroupWidget
* @brief PAI自定义的水平组合类
*/
class PAI_WIDGET_EXPORT PaiHorizonGroupWidget : public QWidget
{
Q_OBJECT
public:
/**
* @brief
* @param[in] pFirstWidget Widget
* @param[in] pSecondWidget Widget
* @param[in] spacing
* @param[in] pParent
*/
PaiHorizonGroupWidget(QWidget *pFirstWidget, QWidget *pSecondWidget, int spacing = 0, QWidget *pParent = NULL);
/**
* @brief
*/
virtual ~PaiHorizonGroupWidget();
};
/**
* @class PaiWidgetAction
* @brief PAI自定义的WidgetAction基类
*/
class PAI_WIDGET_EXPORT PaiWidgetAction : public QWidgetAction
{
Q_OBJECT
public:
/**
* @brief
* @param[in] pParent
*/
PaiWidgetAction(QObject *pParent = NULL);
/**
* @brief ,
* @param[in] pParent
* @return
*/
virtual QWidget* NewWidget(QWidget *pParent) = 0;
/**
* @brief
* @param[in] pWidget NewWidget返回的控件指针
*/
virtual void ConnectSignals(QWidget *pWidget);
/**
* @brief
* @return
*/
QWidget* GetDefaultWidget() const;
protected:
/**
* @brief createWidget
* @param[in] pParent
*/
virtual QWidget* createWidget(QWidget *pParent);
private:
QWidget *m_pDefaultWidget; ///< 默认控件指针,即第一个创建出来的工具栏上的,而不是扩展菜单中的。
};
}
}
#endif ///< PAI_FRAME_WIDGET_PAIWIDGETACTION_H