28 lines
551 B
C++
Executable file
28 lines
551 B
C++
Executable file
#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;
|
|
};
|