8#ifdef QT_OPENGLWIDGETS_LIB
9#include <QtOpenGLWidgets/qopenglwidget.h>
14#ifdef QFORMINTERNAL_NAMESPACE
15namespace QFormInternal
19template <
typename ...T>
22using Layouts = TypeList<
27#if QT_CONFIG(formlayout)
32using Widgets = TypeList<
38#if QT_CONFIG(abstractslider)
41#if QT_CONFIG(calendarwidget)
44#if QT_CONFIG(checkbox)
47#if QT_CONFIG(columnview)
50#if QT_CONFIG(combobox)
53#if QT_CONFIG(commandlinkbutton)
56#if QT_CONFIG(datetimeedit)
64#if QT_CONFIG(dockwidget)
67#if QT_CONFIG(fontcombobox)
70#if QT_CONFIG(groupbox)
73#if QT_CONFIG(keysequenceedit)
76#if QT_CONFIG(lcdnumber)
79#if QT_CONFIG(lineedit)
82#if QT_CONFIG(listview)
85#if QT_CONFIG(listwidget)
88#if QT_CONFIG(mainwindow)
100#if QT_CONFIG(progressbar)
103#if QT_CONFIG(pushbutton)
106#if QT_CONFIG(radiobutton)
109#if QT_CONFIG(scrollarea)
110 , QAbstractScrollArea
113#if QT_CONFIG(scrollbar)
119#if QT_CONFIG(spinbox)
124#if QT_CONFIG(splitter)
127#if QT_CONFIG(stackedwidget)
130#if QT_CONFIG(statusbar)
133#if QT_CONFIG(tableview)
136#if QT_CONFIG(tablewidget)
139#if QT_CONFIG(tabwidget)
142#if QT_CONFIG(textbrowser)
145#if QT_CONFIG(textedit)
149#if QT_CONFIG(toolbar)
152#if QT_CONFIG(toolbox)
155#if QT_CONFIG(toolbutton)
158#if QT_CONFIG(treeview)
161#if QT_CONFIG(treewidget)
164#if QT_CONFIG(undoview)
171#ifdef QT_OPENGLWIDGETS_LIB
174#if !defined(QT_NO_GRAPHICSVIEW)
179template <
typename ...T>
184 ( [&result] { result.append(QString::fromUtf8(T::staticMetaObject.className())); }() , ... );
190 return objectNamesImpl(Layouts());
195 return objectNamesImpl(Widgets());
198template <
typename ...T>
201 QList<
const QMetaObject *> result;
203 ( [&result] { result.append(&T::staticMetaObject); }() , ... );
209 return metaObjectsImpl(Widgets());
212template <
typename Base,
typename T>
215 return className == QLatin1StringView(T::staticMetaObject.className()) ?
new T(parent) :
nullptr;
218template <
typename Base,
typename ...T>
221 Base *result =
nullptr;
224 ( (result ==
nullptr ? (result = createObject<Base, T>(className, parent)) :
nullptr), ... );
230 return createObjectImpl<
QLayout>(className, parent, Layouts());
235 return createObjectImpl<
QWidget>(className, parent, Widgets());
238#ifdef QFORMINTERNAL_NAMESPACE
The QLayout class is the base class of geometry managers.
Combined button and popup list for selecting options.
static Base * createObjectImpl(const QString &className, QWidget *parent, TypeList< T... >)
QStringList layoutNames()
static QStringList objectNamesImpl(TypeList< T... >)
static Base * createObject(const QString &className, QWidget *parent)
static QList< const QMetaObject * > metaObjectsImpl(TypeList< T... >)
QList< const QMetaObject * > widgetMetaObjects()
QWidget * createWidgetInstance(const QString &className, QWidget *parent)
QStringList widgetNames()
QLayout * createLayoutInstance(const QString &className, QWidget *parent)
QList< QString > QStringList
Constructs a string list that contains the given string, str.