forked from qt-creator/qt-creator
LayoutBuilder: Use explicitly empty cells for nullptr widgets
And layouts, and empty label texts. Task-number: QTCREATORBUG-31024 Change-Id: I8435327ddd75d0a218d2a50efe900a7d5ec6490f Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -232,10 +232,21 @@ LayoutItem::LayoutItem() = default;
|
||||
|
||||
LayoutItem::~LayoutItem() = default;
|
||||
|
||||
LayoutItem::LayoutItem(QLayout *l)
|
||||
: layout(l), empty(!l)
|
||||
{}
|
||||
|
||||
LayoutItem::LayoutItem(QWidget *w)
|
||||
: widget(w), empty(!w)
|
||||
{}
|
||||
|
||||
LayoutItem::LayoutItem(const QString &t)
|
||||
: text(t), empty(t.isEmpty())
|
||||
{}
|
||||
|
||||
LayoutItem::LayoutItem(const LayoutModifier &inner)
|
||||
{
|
||||
ownerModifier = inner;
|
||||
}
|
||||
: empty(!inner), ownerModifier(inner)
|
||||
{}
|
||||
|
||||
/*!
|
||||
\fn template <class T> LayoutItem(const T &t)
|
||||
@@ -428,31 +439,23 @@ void addToWidget(Widget *widget, const Layout &layout)
|
||||
|
||||
void addToLayout(Layout *layout, const Widget &inner)
|
||||
{
|
||||
LayoutItem item;
|
||||
item.widget = access(&inner);
|
||||
layout->addLayoutItem(item);
|
||||
layout->addLayoutItem(access(&inner));
|
||||
}
|
||||
|
||||
void addToLayout(Layout *layout, QWidget *inner)
|
||||
{
|
||||
LayoutItem item;
|
||||
item.widget = inner;
|
||||
layout->addLayoutItem(item);
|
||||
layout->addLayoutItem(inner);
|
||||
}
|
||||
|
||||
void addToLayout(Layout *layout, QLayout *inner)
|
||||
{
|
||||
LayoutItem item;
|
||||
item.layout = inner;
|
||||
layout->addLayoutItem(item);
|
||||
layout->addLayoutItem(inner);
|
||||
}
|
||||
|
||||
void addToLayout(Layout *layout, const Layout &inner)
|
||||
{
|
||||
inner.flush_();
|
||||
LayoutItem item;
|
||||
item.layout = access(&inner);
|
||||
layout->addLayoutItem(item);
|
||||
layout->addLayoutItem(access(&inner));
|
||||
}
|
||||
|
||||
void addToLayout(Layout *layout, const LayoutModifier &inner)
|
||||
@@ -462,9 +465,7 @@ void addToLayout(Layout *layout, const LayoutModifier &inner)
|
||||
|
||||
void addToLayout(Layout *layout, const QString &inner)
|
||||
{
|
||||
LayoutItem item;
|
||||
item.text = inner;
|
||||
layout->addLayoutItem(item);
|
||||
layout->addLayoutItem(inner);
|
||||
}
|
||||
|
||||
void empty(Layout *layout)
|
||||
|
@@ -149,9 +149,9 @@ class QTCREATOR_UTILS_EXPORT LayoutItem
|
||||
public:
|
||||
~LayoutItem();
|
||||
LayoutItem();
|
||||
LayoutItem(QLayout *l) : layout(l) {}
|
||||
LayoutItem(QWidget *w) : widget(w) {}
|
||||
LayoutItem(const QString &t) : text(t) {}
|
||||
LayoutItem(QLayout *l);
|
||||
LayoutItem(QWidget *w);
|
||||
LayoutItem(const QString &t);
|
||||
LayoutItem(const LayoutModifier &inner);
|
||||
|
||||
QString text;
|
||||
|
Reference in New Issue
Block a user