Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
formbuilder.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef FORMBUILDER_H
6#define FORMBUILDER_H
7
8#if 0
9# pragma qt_class(QFormBuilder)
10#endif
11
12#if defined(QT_BUILD_UITOOLS_LIB)
13# if 0
14# pragma qt_sync_suspend_processing
15# endif
16# include "uilib_global.h"
17# include "abstractformbuilder.h"
18# if 0
19# pragma qt_sync_resume_processing
20# endif
21#else
22# include <QtDesigner/uilib_global.h>
23# include <QtDesigner/abstractformbuilder.h>
24#endif
25
26QT_BEGIN_NAMESPACE
27
28class QDesignerCustomWidgetInterface;
29
30#ifdef QFORMINTERNAL_NAMESPACE
31namespace QFormInternal
32{
33#endif
34
35class QDESIGNER_UILIB_EXPORT QFormBuilder: public QAbstractFormBuilder
36{
37public:
38 QFormBuilder();
39 ~QFormBuilder() override;
40
41 QStringList pluginPaths() const;
42
43 void clearPluginPaths();
44 void addPluginPath(const QString &pluginPath);
45 void setPluginPath(const QStringList &pluginPaths);
46
47 QList<QDesignerCustomWidgetInterface*> customWidgets() const;
48
49protected:
50 QWidget *create(DomUI *ui, QWidget *parentWidget) override;
51 QWidget *create(DomWidget *ui_widget, QWidget *parentWidget) override;
52 QLayout *create(DomLayout *ui_layout, QLayout *layout, QWidget *parentWidget) override;
53 QLayoutItem *create(DomLayoutItem *ui_layoutItem, QLayout *layout, QWidget *parentWidget) override;
54 QAction *create(DomAction *ui_action, QObject *parent) override;
55 QActionGroup *create(DomActionGroup *ui_action_group, QObject *parent) override;
56
57 QWidget *createWidget(const QString &widgetName, QWidget *parentWidget, const QString &name) override;
58 QLayout *createLayout(const QString &layoutName, QObject *parent, const QString &name) override;
59
60 void createConnections(DomConnections *connections, QWidget *widget) override;
61
62 bool addItem(DomLayoutItem *ui_item, QLayoutItem *item, QLayout *layout) override;
63 bool addItem(DomWidget *ui_widget, QWidget *widget, QWidget *parentWidget) override;
64
65 virtual void updateCustomWidgets();
66 void applyProperties(QObject *o, const QList<DomProperty*> &properties) override;
67
68 static QWidget *widgetByName(QWidget *topLevel, const QString &name);
69
70private:
71};
72
73#ifdef QFORMINTERNAL_NAMESPACE
74}
75#endif
76
77QT_END_NAMESPACE
78
79#endif // FORMBUILDER_H
The QFormBuilder class is used to dynamically construct user interfaces from UI files at run-time.
Definition formbuilder.h:36
friend class QWidget
Definition qpainter.h:432
static void insertPlugins(QObject *o, QMap< QString, QDesignerCustomWidgetInterface * > *customWidgets)
static QObject * objectByName(QWidget *topLevel, const QString &name)
Combined button and popup list for selecting options.