43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#ifndef SARIBBONSTACKEDWIDGET_H
|
||
#define SARIBBONSTACKEDWIDGET_H
|
||
#include <QStackedWidget>
|
||
#include "SARibbonGlobal.h"
|
||
class QHideEvent;
|
||
class QResizeEvent;
|
||
|
||
/**
|
||
* @brief 有qdialog功能的stackwidget,用于在最小化时stack能像dialog那样弹出来
|
||
*/
|
||
class SA_RIBBON_EXPORT SARibbonStackedWidget : public QStackedWidget
|
||
{
|
||
Q_OBJECT
|
||
SA_RIBBON_DECLARE_PRIVATE(SARibbonStackedWidget)
|
||
public:
|
||
SARibbonStackedWidget(QWidget* parent);
|
||
~SARibbonStackedWidget();
|
||
void setPopupMode();
|
||
bool isPopupMode() const;
|
||
void setNormalMode();
|
||
bool isNormalMode() const;
|
||
void exec();
|
||
|
||
// 设置stacked管理的窗口会随着stacked的大小变化而变化大小
|
||
// 就算不激活也调整大小
|
||
void setAutoResize(bool autoresize);
|
||
bool isAutoResize() const;
|
||
// 移动窗口
|
||
void moveWidget(int from, int to);
|
||
|
||
protected:
|
||
// void mouseReleaseEvent(QMouseEvent *e);
|
||
void hideEvent(QHideEvent* e) Q_DECL_OVERRIDE;
|
||
virtual void resizeEvent(QResizeEvent* e) Q_DECL_OVERRIDE;
|
||
Q_SIGNALS:
|
||
/**
|
||
* @brief hidWindow
|
||
*/
|
||
void hidWindow();
|
||
};
|
||
|
||
#endif // SARIBBONSTACKEDWIDGET_H
|