#pragma once #include class CollapseSection : public QWidget { Q_OBJECT public: CollapseSection(QString label, bool closable = false); signals: void closeRequested(); protected: void paintEvent(QPaintEvent* event) override; void mouseMoveEvent(QMouseEvent* event) override; void mousePressEvent(QMouseEvent* event) override; private: QString label; bool closable; QRect closeButtonRect; bool closeButtonHovered = false; bool collapsed = false; QWidget* wrapper; QLayout* layout; };