Add Widget::show(), hide() and setGeometry()

This commit is contained in:
Sergio Martins
2020-05-24 17:43:54 +01:00
parent e28f82dcad
commit c477fce1d9
4 changed files with 25 additions and 4 deletions

View File

@@ -508,7 +508,7 @@ Frame *Frame::deserialize(const LayoutSaver::Frame &f)
}
frame->setCurrentTabIndex(f.currentTabIndex);
frame->setGeometry(f.geometry);
frame->QWidget::setGeometry(f.geometry);
return frame;
}

View File

@@ -55,10 +55,13 @@ public:
virtual QSize minSize() const = 0;
virtual QSize maxSize() const = 0;
virtual QRect geometry() const = 0;
virtual void setGeometry(QRect) = 0;
virtual void setParent(Widget *) = 0;
virtual QDebug& dumpDebug(QDebug&) const = 0;
virtual bool isVisible() const = 0;
virtual std::unique_ptr<Widget> parentWidget() const = 0;
virtual void show() = 0;
virtual void hide() = 0;
QSize size() const {
return geometry().size();

View File

@@ -31,17 +31,22 @@ Widget_qwidget::~Widget_qwidget()
QSize Widget_qwidget::minSize() const
{
return widgetMinSize(asWidget());
return widgetMinSize(m_thisWidget);
}
QSize Widget_qwidget::maxSize() const
{
return asWidget()->maximumSize();
return m_thisWidget->maximumSize();
}
QRect Widget_qwidget::geometry() const
{
return asWidget()->geometry();
return m_thisWidget->geometry();
}
void Widget_qwidget::setGeometry(QRect rect)
{
m_thisWidget->setGeometry(rect);
}
void Widget_qwidget::setParent(Widget *parent)
@@ -81,6 +86,16 @@ std::unique_ptr<Widget> Widget_qwidget::parentWidget() const
return {};
}
void Widget_qwidget::show()
{
m_thisWidget->show();
}
void Widget_qwidget::hide()
{
m_thisWidget->hide();
}
QSize Widget_qwidget::widgetMinSize(const QWidget *w)
{
const int minW = w->minimumWidth() > 0 ? w->minimumWidth()

View File

@@ -50,11 +50,14 @@ public:
QSize minSize() const override;
QSize maxSize() const override;
QRect geometry() const override;
void setGeometry(QRect) override;
void setParent(Widget *) override;
QDebug& dumpDebug(QDebug&) const override;
bool isVisible() const override;
std::unique_ptr<Widget> parentWidget() const override;
void setLayoutItem(Item *) override {}
void show() override;
void hide() override;
static QSize widgetMinSize(const QWidget *w);