logplus/Workflow/WFWidget/include/PaiToolBarView.h

111 lines
2.9 KiB
C
Raw Permalink Normal View History

2026-01-17 12:55:45 +08:00
/**
* @file PaiToolBarView.h
* @brief P.A.I
* @date 2011-09-16
*/
#ifndef PAI_FRAME_WIDGET_PAITOOLBARVIEW_H
#define PAI_FRAME_WIDGET_PAITOOLBARVIEW_H
#include <QWidget>
#include "Turtle.h"
class QVBoxLayout;
class QToolBar;
namespace pai
{
/**
* @class PaiToolBarView
* @brief P.A.I
*/
class PAI_WIDGET_EXPORT PaiToolBarView : public QWidget
{
public:
/**
* @enum EToolBarType
* @brief
*/
enum EToolBarType
{
NORMAL_TOOLBAR = 40, ///< 普通风格
SMALL_TOOLBAR = 28 ///< 小模式ToolBar
};
/**
* @brief
* @param[in] pParent
* @param[in] type
*/
PaiToolBarView(QWidget *pParent = NULL, EToolBarType type = NORMAL_TOOLBAR);
/**
* @brief
*/
virtual ~PaiToolBarView();
/**
* @brief
* @return
*/
QWidget* GetViewport();
/**
* @brief parent将会视为这个类的对象
* @param[in] pWidget
*/
void SetViewport(QWidget *pWidget);
/**
* @brief
* @param[in] pToolBar
* @param[in] type
*/
void AddToolBar(QToolBar *pToolBar, EToolBarType type = NORMAL_TOOLBAR);
/**
* @brief
* @param[in] pToolBar
*/
void RemoveToolBar(QToolBar *pToolBar);
/**
* @brief
* @return
*/
QList<QToolBar*> GetToolBars();
/**
* @brief QAction
* @param[in] pAction action对象
* @param[in] pToolBar
*/
void AddAction(QAction *pAction, QToolBar *pToolBar = NULL);
/**
* @brief QWidget
* @param[in] pWidget widget对象
* @param[in] pToolBar
*/
void AddWidget(QWidget *pWidget, QToolBar *pToolBar = NULL);
/**
* @brief ToolButton(toolbar有2个固定的值所以可以将toolbutton设置为固定的大小)
* @param[in] pToolButton toolbutton对象
* @param[in] pToolBar
*/
void AddToolButton(QWidget *pToolButton, QToolBar *pToolBar = NULL);
private:
QWidget *m_pToolBarArea; ///< 工具栏区域
QWidget *m_pViewport; ///< 视图
QList<QToolBar*> m_ToolBars; ///< 工具栏
QVBoxLayout *m_pMainVLayout; ///< 主布局
QVBoxLayout *m_pToolBarLayout; ///< 工具栏布局
};
}
#endif ///< PAI_FRAME_WIDGET_PAITOOLBARVIEW_H