diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-07-21 10:32:42 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-07-21 11:22:09 +0200 |
| commit | f2b61d1160e935083b14e7b26f4a21821d015e68 (patch) | |
| tree | b2bec583772236462839c9365aec479611136fcb /sources/pyside2/plugins/customwidgets.h | |
| parent | 14023079a9c082fa85592858698810e997af418e (diff) | |
Brush up the code related to custom widgets in the QUiLoader module
- Modernize, use override, nullptr
- Fix include conventions
- Remove *Private structs. They don't make sense in a static
plugin.
- Add some explanatory comments
- Add missing initializations of members
- Most importantly: add error handling to
PyCustomWidget::createWidget(), which so far would swallow all
errors encountered when executing the Widget's __init__ function.
Change-Id: I100a4239013f959c8fb0b0adc0d3a99f73bd4bff
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside2/plugins/customwidgets.h')
| -rw-r--r-- | sources/pyside2/plugins/customwidgets.h | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/sources/pyside2/plugins/customwidgets.h b/sources/pyside2/plugins/customwidgets.h index 5c52d1d25..aec817cdf 100644 --- a/sources/pyside2/plugins/customwidgets.h +++ b/sources/pyside2/plugins/customwidgets.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt for Python. @@ -42,16 +42,11 @@ #include <shiboken.h> -#include <QtCore/QtGlobal> -#if (QT_VERSION < QT_VERSION_CHECK(5, 5, 0)) - #include <QtDesigner/QDesignerCustomWidgetInterface> -#else - #include <QtUiPlugin/QDesignerCustomWidgetInterface> -#endif - +#include <QtUiPlugin/QDesignerCustomWidgetInterface> -struct PyCustomWidgetsPrivate; +#include <QtCore/qlist.h> +// A static plugin linked to the QtUiLoader Python module class PyCustomWidgets: public QObject, public QDesignerCustomWidgetCollectionInterface { Q_OBJECT @@ -59,13 +54,16 @@ class PyCustomWidgets: public QObject, public QDesignerCustomWidgetCollectionInt Q_PLUGIN_METADATA(IID "org.qt-project.Qt.PySide.PyCustomWidgetsInterface") public: - PyCustomWidgets(QObject *parent = 0); + explicit PyCustomWidgets(QObject *parent = nullptr); ~PyCustomWidgets(); - virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const; + + QList<QDesignerCustomWidgetInterface*> customWidgets() const override; + + // Called from added function QUiLoader::registerCustomWidget() void registerWidgetType(PyObject* widget); private: - PyCustomWidgetsPrivate* m_data; + QList<QDesignerCustomWidgetInterface *> m_widgets; }; #endif |
