ArchitectureColoredPainting/qt-material-widgets/components/qtmaterialdrawer.h

49 lines
1.1 KiB
C
Raw Normal View History

2023-03-06 12:38:25 +08:00
#ifndef QTMATERIALDRAWER_H
#define QTMATERIALDRAWER_H
#include "lib/qtmaterialoverlaywidget.h"
class QtMaterialDrawerPrivate;
class QtMaterialDrawerStateMachine;
class QtMaterialDrawer : public QtMaterialOverlayWidget
{
Q_OBJECT
public:
explicit QtMaterialDrawer(QWidget *parent = 0);
~QtMaterialDrawer();
void setDrawerWidth(int width);
int drawerWidth() const;
void setDrawerLayout(QLayout *layout);
QLayout *drawerLayout() const;
void setClickOutsideToClose(bool state);
bool clickOutsideToClose() const;
void setAutoRaise(bool state);
bool autoRaise() const;
void setOverlayMode(bool value);
bool overlayMode() const;
public slots:
void openDrawer();
void closeDrawer();
protected:
bool event(QEvent *event) Q_DECL_OVERRIDE;
bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
const QScopedPointer<QtMaterialDrawerPrivate> d_ptr;
private:
Q_DISABLE_COPY(QtMaterialDrawer)
Q_DECLARE_PRIVATE(QtMaterialDrawer)
};
#endif // QTMATERIALDRAWER_H