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.