forked from qt-creator/qt-creator
LayoutBuilder: Turn Splitter into a LayoutItem
Change-Id: I05bdadf7f79966e215b4999db9c2f96cd8f67f9f Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
#include <QGroupBox>
|
||||
#include <QPushButton>
|
||||
#include <QStackedLayout>
|
||||
#include <QSplitter>
|
||||
#include <QStyle>
|
||||
#include <QTabWidget>
|
||||
#include <QWidget>
|
||||
@@ -496,6 +497,16 @@ PushButton::PushButton(std::initializer_list<LayoutItem> items)
|
||||
applyItems(widget, items);
|
||||
}
|
||||
|
||||
Splitter::Splitter(std::initializer_list<LayoutItem> items)
|
||||
: Splitter(new QSplitter(Qt::Vertical), items) {}
|
||||
|
||||
Splitter::Splitter(QSplitter *splitter, std::initializer_list<LayoutItem> items)
|
||||
{
|
||||
widget = splitter;
|
||||
for (const LayoutItem &item : items)
|
||||
splitter->addWidget(item.widget);
|
||||
}
|
||||
|
||||
TabWidget::TabWidget(std::initializer_list<Tab> tabs)
|
||||
: TabWidget(new QTabWidget, tabs) {}
|
||||
|
||||
|
@@ -14,6 +14,7 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QLayout;
|
||||
class QSplitter;
|
||||
class QTabWidget;
|
||||
class QWidget;
|
||||
QT_END_NAMESPACE
|
||||
@@ -193,6 +194,13 @@ public:
|
||||
PushButton(std::initializer_list<LayoutItem> items);
|
||||
};
|
||||
|
||||
class QTCREATOR_UTILS_EXPORT Splitter : public LayoutBuilder::LayoutItem
|
||||
{
|
||||
public:
|
||||
Splitter(std::initializer_list<LayoutItem> items);
|
||||
Splitter(QSplitter *splitter, std::initializer_list<LayoutItem> items);
|
||||
};
|
||||
|
||||
class QTCREATOR_UTILS_EXPORT TabWidget : public LayoutBuilder::LayoutItem
|
||||
{
|
||||
public:
|
||||
@@ -235,13 +243,6 @@ public:
|
||||
Stack(std::initializer_list<LayoutItem> items) : LayoutBuilder(StackLayout, items) {}
|
||||
};
|
||||
|
||||
class QTCREATOR_UTILS_EXPORT Splitter : public LayoutBuilder
|
||||
{
|
||||
public:
|
||||
Splitter() : LayoutBuilder(StackLayout) {}
|
||||
Splitter(std::initializer_list<LayoutItem> items) : LayoutBuilder(StackLayout, items) {}
|
||||
};
|
||||
|
||||
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Break br;
|
||||
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Stretch st;
|
||||
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Space empty;
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <QApplication>
|
||||
#include <QLineEdit>
|
||||
#include <QTextEdit>
|
||||
|
||||
using namespace Utils::Layouting;
|
||||
|
||||
@@ -25,7 +26,16 @@ int main(int argc, char *argv[])
|
||||
Row {
|
||||
PushButton { text("-"), onClicked(minusClick) },
|
||||
lineEdit,
|
||||
PushButton { text("+"), onClicked(plusClick) }
|
||||
PushButton { text("+"), onClicked(plusClick) },
|
||||
Group {
|
||||
title("Splitter in Group"),
|
||||
Column {
|
||||
Splitter {
|
||||
new QTextEdit("First Widget"),
|
||||
new QTextEdit("Second Widget"),
|
||||
},
|
||||
}
|
||||
},
|
||||
}.emerge()->show();
|
||||
|
||||
return app.exec();
|
||||
|
Reference in New Issue
Block a user