forked from qt-creator/qt-creator
Utils: Add ScrollArea
Change-Id: I772f1d7dbc1c24d16ddcb54c3d66a89d9c238bf7 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
#include <QGroupBox>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QScrollArea>
|
||||
#include <QSize>
|
||||
#include <QSpacerItem>
|
||||
#include <QSpinBox>
|
||||
@@ -967,6 +968,19 @@ void addToStack(Stack *stack, QWidget *inner)
|
||||
access(stack)->addWidget(inner);
|
||||
}
|
||||
|
||||
// ScrollArea
|
||||
|
||||
ScrollArea::ScrollArea(const Layout &inner)
|
||||
{
|
||||
ptr = new Implementation;
|
||||
access(this)->setWidget(inner.emerge());
|
||||
}
|
||||
|
||||
void ScrollArea::setLayout(const Layout &inner)
|
||||
{
|
||||
access(this)->setWidget(inner.emerge());
|
||||
}
|
||||
|
||||
// Splitter
|
||||
|
||||
Splitter::Splitter(std::initializer_list<I> ps)
|
||||
|
@@ -29,6 +29,7 @@ class QLabel;
|
||||
class QLayout;
|
||||
class QObject;
|
||||
class QPushButton;
|
||||
class QScrollArea;
|
||||
class QSize;
|
||||
class QSpinBox;
|
||||
class QSplitter;
|
||||
@@ -360,6 +361,16 @@ public:
|
||||
void setChildrenCollapsible(bool collapsible);
|
||||
};
|
||||
|
||||
class QTCREATOR_UTILS_EXPORT ScrollArea : public Widget
|
||||
{
|
||||
public:
|
||||
using Implementation = QScrollArea;
|
||||
|
||||
ScrollArea(const Layout &inner);
|
||||
|
||||
void setLayout(const Layout &inner);
|
||||
};
|
||||
|
||||
class QTCREATOR_UTILS_EXPORT Stack : public Widget
|
||||
{
|
||||
public:
|
||||
|
@@ -517,6 +517,20 @@ void setupGuiModule()
|
||||
sol::base_classes,
|
||||
sol::bases<Widget, Object, Thing>());
|
||||
|
||||
gui.new_usertype<ScrollArea>(
|
||||
"ScrollArea",
|
||||
sol::call_constructor,
|
||||
sol::factories(
|
||||
[](const Layout &inner) {
|
||||
auto item = std::make_unique<ScrollArea>(inner);
|
||||
return item;
|
||||
},
|
||||
[guard](const sol::table &children) {
|
||||
return constructWidgetType<ScrollArea>(children, guard);
|
||||
}),
|
||||
sol::base_classes,
|
||||
sol::bases<Widget, Object, Thing>());
|
||||
|
||||
gui.new_usertype<TextEdit>(
|
||||
"TextEdit",
|
||||
sol::call_constructor,
|
||||
|
@@ -104,6 +104,13 @@ function gui.Form(children) end
|
||||
---@class Stack : Widget
|
||||
local stack = {}
|
||||
|
||||
---A ScrollArea widget.
|
||||
---@class ScrollArea : Widget
|
||||
|
||||
---@param options WidgetOptions
|
||||
---@return ScrollArea
|
||||
function gui.ScrollArea(options) end
|
||||
|
||||
---@param options WidgetOptions
|
||||
---@return Stack
|
||||
function gui.Stack(options) end
|
||||
|
Reference in New Issue
Block a user