Utils: Add an 'If' LayoutItem

Change-Id: I700e28d03b6dc39e96fa969152f236760989bdb7
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
hjk
2023-08-15 14:14:16 +02:00
parent b0d5e44235
commit 123793fbb1
3 changed files with 24 additions and 3 deletions

View File

@@ -819,6 +819,13 @@ Tab::Tab(const QString &tabName, const LayoutItem &item)
};
}
// Special If
If::If(bool condition, const LayoutItems &items, const LayoutItems &other)
{
subItems.append(condition ? items : other);
}
// Special Application
Application::Application(std::initializer_list<LayoutItem> items)

View File

@@ -141,6 +141,12 @@ public:
Tab(const QString &tabName, const LayoutItem &item);
};
class QTCREATOR_UTILS_EXPORT If : public LayoutItem
{
public:
If(bool condition, const LayoutItems &item, const LayoutItems &other = {});
};
class QTCREATOR_UTILS_EXPORT Group : public LayoutItem
{
public:

View File

@@ -17,10 +17,18 @@ int main(int argc, char *argv[])
title("Hello World"),
Column {
If { false, {
TextEdit {
id(textId),
text("Hallo")
},
}, {
TextEdit {
id(textId),
text("Och noe")
},
}
},
Row {
SpinBox {