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 <QGroupBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QStackedLayout>
|
#include <QStackedLayout>
|
||||||
|
#include <QSplitter>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
@@ -496,6 +497,16 @@ PushButton::PushButton(std::initializer_list<LayoutItem> items)
|
|||||||
applyItems(widget, 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::TabWidget(std::initializer_list<Tab> tabs)
|
||||||
: TabWidget(new QTabWidget, tabs) {}
|
: TabWidget(new QTabWidget, tabs) {}
|
||||||
|
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QLayout;
|
class QLayout;
|
||||||
|
class QSplitter;
|
||||||
class QTabWidget;
|
class QTabWidget;
|
||||||
class QWidget;
|
class QWidget;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
@@ -193,6 +194,13 @@ public:
|
|||||||
PushButton(std::initializer_list<LayoutItem> items);
|
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
|
class QTCREATOR_UTILS_EXPORT TabWidget : public LayoutBuilder::LayoutItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -235,13 +243,6 @@ public:
|
|||||||
Stack(std::initializer_list<LayoutItem> items) : LayoutBuilder(StackLayout, items) {}
|
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::Break br;
|
||||||
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Stretch st;
|
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Stretch st;
|
||||||
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Space empty;
|
QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Space empty;
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
|
#include <QTextEdit>
|
||||||
|
|
||||||
using namespace Utils::Layouting;
|
using namespace Utils::Layouting;
|
||||||
|
|
||||||
@@ -25,7 +26,16 @@ int main(int argc, char *argv[])
|
|||||||
Row {
|
Row {
|
||||||
PushButton { text("-"), onClicked(minusClick) },
|
PushButton { text("-"), onClicked(minusClick) },
|
||||||
lineEdit,
|
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();
|
}.emerge()->show();
|
||||||
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
|
Reference in New Issue
Block a user