18 #include <QResizeEvent>
19 #include <QStackedWidget>
22 const int minimum_widget_height = 25;
23 const int minimum_height_before_collapse = 50;
24 const int default_height = 200;
30 , m_stackedWidget(new QStackedWidget)
31 , m_cached_height(default_height)
33 auto mainLayout =
new QVBoxLayout;
37 mainLayout->setContentsMargins(0, 0, 0, 0);
38 mainLayout->setMargin(0);
39 mainLayout->setSpacing(0);
41 setLayout(mainLayout);
52 if (widget->isVisible())
53 result.setHeight(widget->height() +
m_toolBar->height());
63 return QSize(minimum_widget_height, minimum_widget_height);
83 m_cached_height = (height() < minimum_height_before_collapse ? default_height : height());
103 if (event->oldSize().height() > event->size().height()) {
104 if (event->size().height() <= minimum_height_before_collapse &&
isContentVisible())
109 if (event->oldSize().height() < event->size().height()) {
110 if (event->size().height() > minimum_height_before_collapse && !
isContentVisible())
114 QWidget::resizeEvent(event);
QStackedWidget * m_stackedWidget
void setContentVisible(bool editor_status, bool dock_notify=false)
InfoPanel(QWidget *parent)
void widgetHeightRequest(int)
QSize minimumSizeHint() const
void onExpandButtonClicked()
InfoPanelToolBar * m_toolBar
void resizeEvent(QResizeEvent *event)