You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.2 KiB
C++

#ifndef SAFRAMELESSHELPER_H
#define SAFRAMELESSHELPER_H
#include "SARibbonGlobal.h"
#include <QObject>
class QWidget;
class SA_RIBBON_EXPORT SAFramelessHelper : public QObject
{
Q_OBJECT
SA_RIBBON_DECLARE_PRIVATE(SAFramelessHelper)
friend class SAPrivateFramelessWidgetData;
public:
explicit SAFramelessHelper(QObject* parent);
~SAFramelessHelper();
// 激活窗体
void activateOn(QWidget* topLevelWidget);
// 移除窗体
void removeFrom(QWidget* topLevelWidget);
// 设置窗体移动
void setWidgetMovable(bool movable);
// 设置窗体缩放
void setWidgetResizable(bool resizable);
// 设置橡皮筋移动
void setRubberBandOnMove(bool movable);
// 设置橡皮筋缩放
void setRubberBandOnResize(bool resizable);
// 设置边框的宽度
void setBorderWidth(int width);
// 设置标题栏高度
void setTitleHeight(int height);
bool widgetResizable();
bool widgetMovable();
bool rubberBandOnMove();
bool rubberBandOnResisze();
uint borderWidth();
uint titleHeight();
protected:
// 事件过滤,进行移动、缩放等
virtual bool eventFilter(QObject* obj, QEvent* event);
};
#endif // FRAMELESSHELPER_H