#ifndef ELAFRAMEWORK_ELAWIDGETTOOLS_DEVELOPERCOMPONENTS_ELADRAWERCONTAINER_H_ #define ELAFRAMEWORK_ELAWIDGETTOOLS_DEVELOPERCOMPONENTS_ELADRAWERCONTAINER_H_ #include #include "ElaDef.h" #include #include class ElaDrawerContainer : public QWidget { Q_OBJECT Q_PRIVATE_CREATE(int, BorderRadius) Q_PRIVATE_CREATE(QPixmap, ContainerPix) Q_PROPERTY_CREATE(qreal, Opacity) public: explicit ElaDrawerContainer(QWidget* parent = nullptr); ~ElaDrawerContainer() override; void addWidget(QWidget* widget); void removeWidget(QWidget* widget); void doDrawerAnimation(bool isExpand); protected: virtual void paintEvent(QPaintEvent* event) override; private: bool _isShowBorder{true}; ElaThemeType::ThemeMode _themeMode; QVBoxLayout* _mainLayout{nullptr}; QVBoxLayout* _containerLayout{nullptr}; QWidget* _containerWidget{nullptr}; QList _drawerWidgetList; int _calculateContainerMinimumHeight() const; }; #endif //ELAFRAMEWORK_ELAWIDGETTOOLS_DEVELOPERCOMPONENTS_ELADRAWERCONTAINER_H_