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
qquickwidget_plugin.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 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
6
7#include <QtDesigner/default_extensionfactory.h>
8#include <QtDesigner/qextensionmanager.h>
9
10#include <QtCore/qplugin.h>
11#include <QtCore/qdebug.h>
12#include <QtQuickWidgets/qquickwidget.h>
13
14#include <QtQuick/QQuickWindow>
15
16
18
19using namespace Qt::StringLiterals;
20
21QQuickWidgetPlugin::QQuickWidgetPlugin(QObject *parent)
22 : QObject(parent)
23{
24}
25
26QString QQuickWidgetPlugin::name() const
27{
28 return u"QQuickWidget"_s;
29}
30
31QString QQuickWidgetPlugin::group() const
32{
33 return u"Display Widgets"_s;
34}
35
36QString QQuickWidgetPlugin::toolTip() const
37{
38 return u"A widget for displaying a Qt Quick 2 user interface."_s;
39}
40
41QString QQuickWidgetPlugin::whatsThis() const
42{
43 return toolTip();
44}
45
46QString QQuickWidgetPlugin::includeFile() const
47{
48 return u"<QtQuickWidgets/QQuickWidget>"_s;
49}
50
51QIcon QQuickWidgetPlugin::icon() const
52{
53 return QIcon(u":/qt-project.org/qquickwidget/images/qquickwidget.png"_s);
54}
55
56bool QQuickWidgetPlugin::isContainer() const
57{
58 return false;
59}
60
61QWidget *QQuickWidgetPlugin::createWidget(QWidget *parent)
62{
63 auto *result = new QQuickWidget(parent);
64 connect(result, &QQuickWidget::sceneGraphError,
65 this, &QQuickWidgetPlugin::sceneGraphError);
66 return result;
67}
68
69bool QQuickWidgetPlugin::isInitialized() const
70{
71 return m_initialized;
72}
73
74void QQuickWidgetPlugin::initialize(QDesignerFormEditorInterface * /*core*/)
75{
76 if (m_initialized)
77 return;
78
79 m_initialized = true;
80}
81
82QString QQuickWidgetPlugin::domXml() const
83{
84 return QStringLiteral(R"(
85<ui language="c++">
86 <widget class="QQuickWidget" name="quickWidget">
87 <property name="resizeMode">
88 <enum>QQuickWidget::SizeRootObjectToView</enum>
89 </property>
90 <property name="geometry">
91 <rect>
92 <x>0</x>
93 <y>0</y>
94 <width>300</width>
95 <height>200</height>
96 </rect>
97 </property>
98 </widget>
99</ui>
100)");
101}
102
103void QQuickWidgetPlugin::sceneGraphError(QQuickWindow::SceneGraphError, const QString &message)
104{
105 qWarning() << Q_FUNC_INFO << ':' << message;
106}
107
108QT_END_NAMESPACE
Combined button and popup list for selecting options.