29 lines
551 B
C
29 lines
551 B
C
|
#pragma once
|
||
|
|
||
|
#include <QWidget>
|
||
|
|
||
|
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;
|
||
|
};
|