forked from qt-creator/qt-creator
Utils: Add ToolBar to layoutbuilder
Change-Id: I26ce85f73e625508d816c0e361a6afc65adf65ff Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -3,20 +3,21 @@
|
|||||||
|
|
||||||
#include "layoutbuilder.h"
|
#include "layoutbuilder.h"
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QFormLayout>
|
#include <QFormLayout>
|
||||||
#include <QGridLayout>
|
#include <QGridLayout>
|
||||||
#include <QGroupBox>
|
#include <QGroupBox>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QStackedLayout>
|
|
||||||
#include <QSpacerItem>
|
#include <QSpacerItem>
|
||||||
#include <QSpinBox>
|
#include <QSpinBox>
|
||||||
#include <QSplitter>
|
#include <QSplitter>
|
||||||
|
#include <QStackedLayout>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QApplication>
|
#include <QToolBar>
|
||||||
|
|
||||||
namespace Layouting {
|
namespace Layouting {
|
||||||
|
|
||||||
@@ -774,6 +775,26 @@ Splitter::Splitter(std::initializer_list<LayoutItem> items)
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ToolBar::ToolBar(std::initializer_list<LayoutItem> items)
|
||||||
|
{
|
||||||
|
subItems = items;
|
||||||
|
onAdd = [](LayoutBuilder &builder) {
|
||||||
|
auto toolbar = new QToolBar;
|
||||||
|
toolbar->setOrientation(Qt::Horizontal);
|
||||||
|
builder.stack.append(toolbar);
|
||||||
|
};
|
||||||
|
onExit = [](LayoutBuilder &builder) {
|
||||||
|
const Slice slice = builder.stack.last();
|
||||||
|
QToolBar *toolBar = qobject_cast<QToolBar *>(slice.widget);
|
||||||
|
for (const ResultItem &ri : slice.pendingItems) {
|
||||||
|
if (ri.widget)
|
||||||
|
toolBar->addWidget(ri.widget);
|
||||||
|
}
|
||||||
|
builder.stack.pop_back();
|
||||||
|
builder.stack.last().pendingItems.append(ResultItem(toolBar));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
TabWidget::TabWidget(std::initializer_list<LayoutItem> items)
|
TabWidget::TabWidget(std::initializer_list<LayoutItem> items)
|
||||||
{
|
{
|
||||||
this->subItems = items;
|
this->subItems = items;
|
||||||
|
@@ -171,6 +171,12 @@ public:
|
|||||||
Splitter(std::initializer_list<LayoutItem> items);
|
Splitter(std::initializer_list<LayoutItem> items);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class QTCREATOR_UTILS_EXPORT ToolBar : public LayoutItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ToolBar(std::initializer_list<LayoutItem> items);
|
||||||
|
};
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT TabWidget : public LayoutItem
|
class QTCREATOR_UTILS_EXPORT TabWidget : public LayoutItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Reference in New Issue
Block a user