#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 d_ptr; private: Q_DISABLE_COPY(QtMaterialDrawer) Q_DECLARE_PRIVATE(QtMaterialDrawer) }; #endif // QTMATERIALDRAWER_H