forked from qt-creator/qt-creator
LayoutBuilder: Add support for tab widget
Change-Id: Ia35fa234c8ac1befd7e8fd2be57998e94294a5a1 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QStackedLayout>
|
#include <QStackedLayout>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
|
#include <QTabWidget>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
@@ -452,6 +453,13 @@ LayoutBuilder::Span::Span(int span_, const LayoutItem &item)
|
|||||||
span = span_;
|
span = span_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LayoutBuilder::Tab::Tab(const QString &tabName, const LayoutBuilder &item)
|
||||||
|
{
|
||||||
|
text = tabName;
|
||||||
|
widget = new QWidget;
|
||||||
|
item.attachTo(widget);
|
||||||
|
}
|
||||||
|
|
||||||
LayoutBuilder::HorizontalRule::HorizontalRule()
|
LayoutBuilder::HorizontalRule::HorizontalRule()
|
||||||
{
|
{
|
||||||
specialType = SpecialType::HorizontalRule;
|
specialType = SpecialType::HorizontalRule;
|
||||||
@@ -476,18 +484,28 @@ static void applyItems(QWidget *widget, const QList<LayoutBuilder::LayoutItem> &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Group::Group(std::initializer_list<LayoutBuilder::LayoutItem> items)
|
Group::Group(std::initializer_list<LayoutItem> items)
|
||||||
{
|
{
|
||||||
widget = new QGroupBox;
|
widget = new QGroupBox;
|
||||||
applyItems(widget, items);
|
applyItems(widget, items);
|
||||||
}
|
}
|
||||||
|
|
||||||
PushButton::PushButton(std::initializer_list<LayoutBuilder::LayoutItem> items)
|
PushButton::PushButton(std::initializer_list<LayoutItem> items)
|
||||||
{
|
{
|
||||||
widget = new QPushButton;
|
widget = new QPushButton;
|
||||||
applyItems(widget, items);
|
applyItems(widget, items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TabWidget::TabWidget(std::initializer_list<Tab> tabs)
|
||||||
|
: TabWidget(new QTabWidget, tabs) {}
|
||||||
|
|
||||||
|
TabWidget::TabWidget(QTabWidget *tabWidget, std::initializer_list<Tab> tabs)
|
||||||
|
{
|
||||||
|
widget = tabWidget;
|
||||||
|
for (const Tab &tab : tabs)
|
||||||
|
tabWidget->addTab(tab.widget, tab.text);
|
||||||
|
}
|
||||||
|
|
||||||
// "Properties"
|
// "Properties"
|
||||||
|
|
||||||
LayoutBuilder::Setter title(const QString &title, BoolAspect *checker)
|
LayoutBuilder::Setter title(const QString &title, BoolAspect *checker)
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QLayout;
|
class QLayout;
|
||||||
|
class QTabWidget;
|
||||||
class QWidget;
|
class QWidget;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
@@ -125,6 +126,12 @@ public:
|
|||||||
explicit Stretch(int stretch = 1);
|
explicit Stretch(int stretch = 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class QTCREATOR_UTILS_EXPORT Tab : public LayoutItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Tab(const QString &tabName, const LayoutBuilder &item);
|
||||||
|
};
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT Break : public LayoutItem
|
class QTCREATOR_UTILS_EXPORT Break : public LayoutItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -161,6 +168,10 @@ private:
|
|||||||
|
|
||||||
namespace Layouting {
|
namespace Layouting {
|
||||||
|
|
||||||
|
using Space = LayoutBuilder::Space;
|
||||||
|
using Span = LayoutBuilder::Span;
|
||||||
|
using Tab = LayoutBuilder::Tab;
|
||||||
|
|
||||||
QTCREATOR_UTILS_EXPORT LayoutBuilder::Setter title(const QString &title,
|
QTCREATOR_UTILS_EXPORT LayoutBuilder::Setter title(const QString &title,
|
||||||
BoolAspect *checker = nullptr);
|
BoolAspect *checker = nullptr);
|
||||||
|
|
||||||
@@ -182,6 +193,13 @@ public:
|
|||||||
PushButton(std::initializer_list<LayoutItem> items);
|
PushButton(std::initializer_list<LayoutItem> items);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class QTCREATOR_UTILS_EXPORT TabWidget : public LayoutBuilder::LayoutItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TabWidget(std::initializer_list<Tab> tabs);
|
||||||
|
TabWidget(QTabWidget *tabWidget, std::initializer_list<Tab> tabs);
|
||||||
|
};
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT Column : public LayoutBuilder
|
class QTCREATOR_UTILS_EXPORT Column : public LayoutBuilder
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -224,9 +242,6 @@ public:
|
|||||||
Splitter(std::initializer_list<LayoutItem> items) : LayoutBuilder(StackLayout, items) {}
|
Splitter(std::initializer_list<LayoutItem> items) : LayoutBuilder(StackLayout, items) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
using Space = LayoutBuilder::Space;
|
|
||||||
using Span = LayoutBuilder::Span;
|
|
||||||
|
|
||||||
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;
|
||||||
|
Reference in New Issue
Block a user