18 #include <QHBoxLayout>
21 #include <QMouseEvent>
26 : QFrame(parent), m_pixmapLabel(new QLabel), m_titleLabel(new QLabel)
28 m_pixmapLabel->setPixmap(QPixmap(
":/icons/chevron-down.svg"));
30 auto layout =
new QHBoxLayout(
this);
31 layout->setContentsMargins(0, 4, 0, 0);
37 setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
44 widget->installEventFilter(
this);
50 if (event->button() == Qt::LeftButton)
59 bool is_event_of_interest = (
event->type() == QEvent::Show ||
event->type() == QEvent::Hide);
62 return QObject::eventFilter(obj, event);
70 m_pixmapLabel->setPixmap(QPixmap(
":/icons/chevron-down.svg"));
71 setFrameStyle(QFrame::StyledPanel);
73 m_pixmapLabel->setPixmap(QPixmap(
":/icons/chevron-right.svg"));
74 setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
void mousePressEvent(QMouseEvent *event) override
QWidget * m_controlledWidget
void setWidget(QWidget *widget, const QString &title)
bool eventFilter(QObject *obj, QEvent *event) override
Listens for widget signals and update collapse/expand icon on visibility change.
CollapsibleBar(QWidget *parent=nullptr)
void updatePixmap()
Set pixmap depending from the visibility of the widget.
MVVM_VIEW_EXPORT int HeightOfLetterM()
Returns height of the letter 'M' deduced from current font metrics.
materialitems.h Collection of materials to populate MaterialModel.