Core: Introduce a IOptionsPage::setLayout(const LayoutItem)

Helps to move the lambda setup off the user code.

Change-Id: I0de43f53fc9018913340e81b5c1e8e69df067bd6
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
hjk
2023-05-09 18:08:46 +02:00
parent f9fd83df9a
commit e206ed5236
2 changed files with 12 additions and 0 deletions

View File

@@ -9,6 +9,7 @@
#include <coreplugin/icore.h>
#include <utils/aspects.h>
#include <utils/layoutbuilder.h>
#include <utils/qtcassert.h>
#include <utils/stringutils.h>
@@ -204,6 +205,14 @@ void IOptionsPage::setLayouter(const std::function<void(QWidget *w)> &layouter)
m_layouter = layouter;
}
void IOptionsPage::setLayout(const Layouting::LayoutItem &layout)
{
using namespace Layouting;
m_layouter = [layout](QWidget *widget) {
Column { Row { Column { layout, st }, st } }.attachTo(widget);
};
}
/*!
\fn void Core::IOptionsPage::setId(Utils::Id id)