Fix tray visibility and message reception issues
Some checks failed
build / build-win64 (push) Waiting to run
build / build-macos (push) Waiting to run
build / build-pip (push) Failing after 16s

- Disable sound initialization to prevent hanging
- Add missing import re in utils.py
- Fix settings loading for QSettings
- Update file paths to use PROJECT_ROOT
- Revert to working API paths and listener from commit efdc63e
This commit is contained in:
kdusek
2025-12-07 22:39:07 +01:00
parent 7b695d7b7f
commit 5138303016
4060 changed files with 579123 additions and 23 deletions

View File

@@ -0,0 +1,6 @@
# Automatically generated configuration for PyQt6.QtDesigner.
sip-version = "6.14.0"
sip-abi-version = "13.8"
module-tags = ["Qt_6_10_0", "Linux"]
module-disabled-features = ["PyQt_OpenGL_ES2"]

View File

@@ -0,0 +1,73 @@
// QtDesignermod.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Module(name=PyQt6.QtDesigner, keyword_arguments="Optional", use_limited_api=True)
%Import QtCore/QtCoremod.sip
%Import QtGui/QtGuimod.sip
%Import QtWidgets/QtWidgetsmod.sip
%Copying
Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
This file is part of PyQt6.
This file may be used under the terms of the GNU General Public License
version 3.0 as published by the Free Software Foundation and appearing in
the file LICENSE included in the packaging of this file. Please review the
following information to ensure the GNU General Public License version 3.0
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
If you do not wish to use this file under the terms of the GPL version 3.0
then you may purchase a commercial license. For more information contact
info@riverbankcomputing.com.
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%End
%DefaultSupertype PyQt6.sip.simplewrapper
%Include abstractactioneditor.sip
%Include abstractformbuilder.sip
%Include abstractformeditor.sip
%Include abstractformwindow.sip
%Include abstractformwindowcursor.sip
%Include abstractformwindowmanager.sip
%Include abstractobjectinspector.sip
%Include abstractpropertyeditor.sip
%Include abstractwidgetbox.sip
%Include container.sip
%Include customwidget.sip
%Include default_extensionfactory.sip
%Include extension.sip
%Include formbuilder.sip
%Include membersheet.sip
%Include propertysheet.sip
%Include qextensionmanager.sip
%Include taskmenu.sip
%Include qpydesignercustomwidgetcollectionplugin.sip
%Include qpydesignercustomwidgetplugin.sip
%Include qpydesignermembersheetextension.sip
%Include qpydesignerpropertysheetextension.sip
%Include qpydesignertaskmenuextension.sip
%Include qpydesignercontainerextension.sip

View File

@@ -0,0 +1,38 @@
// abstractactioneditor.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerActionEditorInterface : public QWidget
{
%TypeHeaderCode
#include <abstractactioneditor.h>
%End
public:
QDesignerActionEditorInterface(QWidget *parent /TransferThis/, Qt::WindowFlags flags = {});
virtual ~QDesignerActionEditorInterface();
virtual QDesignerFormEditorInterface *core() const;
virtual void manageAction(QAction *action) = 0;
virtual void unmanageAction(QAction *action) = 0;
public slots:
virtual void setFormWindow(QDesignerFormWindowInterface *formWindow /KeepReference/) = 0;
};

View File

@@ -0,0 +1,40 @@
// abstractformbuilder.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QAbstractFormBuilder
{
%TypeHeaderCode
#include <abstractformbuilder.h>
%End
public:
QAbstractFormBuilder();
virtual ~QAbstractFormBuilder();
virtual QWidget *load(QIODevice *device, QWidget *parent /TransferThis/ = 0) /Factory/;
virtual void save(QIODevice *dev, QWidget *widget);
void setWorkingDirectory(const QDir &directory);
QDir workingDirectory() const;
QString errorString() const;
private:
QAbstractFormBuilder(const QAbstractFormBuilder &);
};

View File

@@ -0,0 +1,46 @@
// abstractformeditor.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerFormEditorInterface : public QObject
{
%TypeHeaderCode
#include <abstractformeditor.h>
%End
public:
explicit QDesignerFormEditorInterface(QObject *parent /TransferThis/ = 0);
virtual ~QDesignerFormEditorInterface();
QExtensionManager *extensionManager() const;
QWidget *topLevel() const;
QDesignerWidgetBoxInterface *widgetBox() const;
QDesignerPropertyEditorInterface *propertyEditor() const;
QDesignerObjectInspectorInterface *objectInspector() const;
QDesignerFormWindowManagerInterface *formWindowManager() const;
QDesignerActionEditorInterface *actionEditor() const;
void setWidgetBox(QDesignerWidgetBoxInterface *widgetBox /KeepReference/);
void setPropertyEditor(QDesignerPropertyEditorInterface *propertyEditor /KeepReference/);
void setObjectInspector(QDesignerObjectInspectorInterface *objectInspector /KeepReference/);
void setActionEditor(QDesignerActionEditorInterface *actionEditor /KeepReference/);
private:
QDesignerFormEditorInterface(const QDesignerFormEditorInterface &);
};

View File

@@ -0,0 +1,106 @@
// abstractformwindow.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerFormWindowInterface : public QWidget /Abstract/
{
%TypeHeaderCode
#include <abstractformwindow.h>
%End
public:
enum FeatureFlag /BaseType=Flag/
{
EditFeature,
GridFeature,
TabOrderFeature,
DefaultFeature,
};
typedef QFlags<QDesignerFormWindowInterface::FeatureFlag> Feature;
QDesignerFormWindowInterface(QWidget *parent /TransferThis/ = 0, Qt::WindowFlags flags = {});
virtual ~QDesignerFormWindowInterface();
virtual QString fileName() const = 0;
virtual QDir absoluteDir() const = 0;
virtual QString contents() const = 0;
virtual bool setContents(QIODevice *dev, QString *errorMessage = 0) = 0;
virtual QDesignerFormWindowInterface::Feature features() const = 0;
virtual bool hasFeature(QDesignerFormWindowInterface::Feature f) const = 0;
virtual QString author() const = 0;
virtual void setAuthor(const QString &author) = 0;
virtual QString comment() const = 0;
virtual void setComment(const QString &comment) = 0;
virtual void layoutDefault(int *margin, int *spacing) = 0;
virtual void setLayoutDefault(int margin, int spacing) = 0;
virtual void layoutFunction(QString *margin /Out/, QString *spacing /Out/) = 0;
virtual void setLayoutFunction(const QString &margin, const QString &spacing) = 0;
virtual QString pixmapFunction() const = 0;
virtual void setPixmapFunction(const QString &pixmapFunction) = 0;
virtual QString exportMacro() const = 0;
virtual void setExportMacro(const QString &exportMacro) = 0;
virtual QStringList includeHints() const = 0;
virtual void setIncludeHints(const QStringList &includeHints) = 0;
virtual QDesignerFormEditorInterface *core() const;
virtual QDesignerFormWindowCursorInterface *cursor() const = 0;
virtual QPoint grid() const = 0;
virtual QWidget *mainContainer() const = 0;
virtual void setMainContainer(QWidget *mainContainer /KeepReference/) = 0;
virtual bool isManaged(QWidget *widget) const = 0;
virtual bool isDirty() const = 0;
static QDesignerFormWindowInterface *findFormWindow(QWidget *w);
static QDesignerFormWindowInterface *findFormWindow(QObject *obj);
virtual void emitSelectionChanged() = 0;
virtual QStringList resourceFiles() const = 0;
virtual void addResourceFile(const QString &path) = 0;
virtual void removeResourceFile(const QString &path) = 0;
public slots:
virtual void manageWidget(QWidget *widget) = 0;
virtual void unmanageWidget(QWidget *widget) = 0;
virtual void setFeatures(QDesignerFormWindowInterface::Feature f) = 0;
virtual void setDirty(bool dirty) = 0;
virtual void clearSelection(bool update = true) = 0;
virtual void selectWidget(QWidget *widget, bool select = true) = 0;
virtual void setGrid(const QPoint &grid) = 0;
virtual void setFileName(const QString &fileName) = 0;
virtual bool setContents(const QString &contents) = 0;
signals:
void mainContainerChanged(QWidget *mainContainer);
void fileNameChanged(const QString &fileName);
void featureChanged(QDesignerFormWindowInterface::Feature f /ScopesStripped=1/);
void selectionChanged();
void geometryChanged();
void resourceFilesChanged();
void widgetManaged(QWidget *widget);
void widgetUnmanaged(QWidget *widget);
void aboutToUnmanageWidget(QWidget *widget);
void activated(QWidget *widget);
void changed();
void widgetRemoved(QWidget *w);
void objectRemoved(QObject *o);
public:
virtual QStringList checkContents() const = 0;
QStringList activeResourceFilePaths() const;
virtual QWidget *formContainer() const = 0;
void activateResourceFilePaths(const QStringList &paths, int *errorCount = 0, QString *errorMessages /Out/ = 0);
};

View File

@@ -0,0 +1,68 @@
// abstractformwindowcursor.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerFormWindowCursorInterface
{
%TypeHeaderCode
#include <abstractformwindowcursor.h>
%End
public:
enum MoveOperation
{
NoMove,
Start,
End,
Next,
Prev,
Left,
Right,
Up,
Down,
};
enum MoveMode
{
MoveAnchor,
KeepAnchor,
};
QDesignerFormWindowCursorInterface();
virtual ~QDesignerFormWindowCursorInterface();
virtual QDesignerFormWindowInterface *formWindow() const = 0;
virtual bool movePosition(QDesignerFormWindowCursorInterface::MoveOperation op, QDesignerFormWindowCursorInterface::MoveMode mode = QDesignerFormWindowCursorInterface::MoveAnchor) = 0;
virtual int position() const = 0;
virtual void setPosition(int pos, QDesignerFormWindowCursorInterface::MoveMode mode = QDesignerFormWindowCursorInterface::MoveAnchor) = 0;
virtual QWidget *current() const = 0;
virtual int widgetCount() const = 0;
virtual QWidget *widget(int index) const = 0;
virtual bool hasSelection() const = 0;
virtual int selectedWidgetCount() const = 0;
virtual QWidget *selectedWidget(int index) const = 0;
virtual void setProperty(const QString &name, const QVariant &value) = 0;
virtual void setWidgetProperty(QWidget *widget, const QString &name, const QVariant &value) = 0;
virtual void resetWidgetProperty(QWidget *widget, const QString &name) = 0;
bool isWidgetSelected(QWidget *widget) const;
private:
QDesignerFormWindowCursorInterface(const QDesignerFormWindowCursorInterface &);
};

View File

@@ -0,0 +1,88 @@
// abstractformwindowmanager.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerFormWindowManagerInterface : public QObject /Abstract/
{
%TypeHeaderCode
#include <abstractformwindowmanager.h>
%End
public:
explicit QDesignerFormWindowManagerInterface(QObject *parent /TransferThis/ = 0);
virtual ~QDesignerFormWindowManagerInterface();
QAction *actionFormLayout() const /Transfer/;
QAction *actionSimplifyLayout() const /Transfer/;
virtual QDesignerFormWindowInterface *activeFormWindow() const = 0;
virtual int formWindowCount() const = 0;
virtual QDesignerFormWindowInterface *formWindow(int index) const = 0 /Transfer/;
virtual QDesignerFormWindowInterface *createFormWindow(QWidget *parent /TransferThis/ = 0, Qt::WindowFlags flags = Qt::WindowFlags()) = 0;
virtual QDesignerFormEditorInterface *core() const = 0;
signals:
void formWindowAdded(QDesignerFormWindowInterface *formWindow);
void formWindowRemoved(QDesignerFormWindowInterface *formWindow);
void activeFormWindowChanged(QDesignerFormWindowInterface *formWindow);
void formWindowSettingsChanged(QDesignerFormWindowInterface *fw);
public slots:
virtual void addFormWindow(QDesignerFormWindowInterface *formWindow) = 0;
virtual void removeFormWindow(QDesignerFormWindowInterface *formWindow) = 0;
virtual void setActiveFormWindow(QDesignerFormWindowInterface *formWindow) = 0;
public:
enum Action
{
CutAction,
CopyAction,
PasteAction,
DeleteAction,
SelectAllAction,
LowerAction,
RaiseAction,
UndoAction,
RedoAction,
HorizontalLayoutAction,
VerticalLayoutAction,
SplitHorizontalAction,
SplitVerticalAction,
GridLayoutAction,
FormLayoutAction,
BreakLayoutAction,
AdjustSizeAction,
SimplifyLayoutAction,
DefaultPreviewAction,
FormWindowSettingsDialogAction,
};
enum ActionGroup
{
StyledPreviewActionGroup,
};
virtual QAction *action(QDesignerFormWindowManagerInterface::Action action) const = 0 /Transfer/;
virtual QActionGroup *actionGroup(QDesignerFormWindowManagerInterface::ActionGroup actionGroup) const = 0 /Transfer/;
public slots:
virtual void showPreview() = 0;
virtual void closeAllPreviews() = 0;
virtual void showPluginDialog() = 0;
};

View File

@@ -0,0 +1,36 @@
// abstractobjectinspector.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerObjectInspectorInterface : public QWidget
{
%TypeHeaderCode
#include <abstractobjectinspector.h>
%End
public:
QDesignerObjectInspectorInterface(QWidget *parent /TransferThis/, Qt::WindowFlags flags = {});
virtual ~QDesignerObjectInspectorInterface();
virtual QDesignerFormEditorInterface *core() const;
public slots:
virtual void setFormWindow(QDesignerFormWindowInterface *formWindow /KeepReference/) = 0;
};

View File

@@ -0,0 +1,44 @@
// abstractpropertyeditor.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerPropertyEditorInterface : public QWidget
{
%TypeHeaderCode
#include <abstractpropertyeditor.h>
%End
public:
QDesignerPropertyEditorInterface(QWidget *parent /TransferThis/, Qt::WindowFlags flags = {});
virtual ~QDesignerPropertyEditorInterface();
virtual QDesignerFormEditorInterface *core() const;
virtual bool isReadOnly() const = 0;
virtual QObject *object() const = 0;
virtual QString currentPropertyName() const = 0;
signals:
void propertyChanged(const QString &name, const QVariant &value);
public slots:
virtual void setObject(QObject *object /KeepReference/) = 0;
virtual void setPropertyValue(const QString &name, const QVariant &value, bool changed = true) = 0;
virtual void setReadOnly(bool readOnly) = 0;
};

View File

@@ -0,0 +1,36 @@
// abstractwidgetbox.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerWidgetBoxInterface : public QWidget /Abstract/
{
%TypeHeaderCode
#include <abstractwidgetbox.h>
%End
public:
QDesignerWidgetBoxInterface(QWidget *parent /TransferThis/ = 0, Qt::WindowFlags flags = Qt::WindowFlags());
virtual ~QDesignerWidgetBoxInterface();
virtual void setFileName(const QString &file_name) = 0;
virtual QString fileName() const = 0;
virtual bool load() = 0;
virtual bool save() = 0;
};

View File

@@ -0,0 +1,44 @@
// container.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerContainerExtension
{
%TypeHeaderCode
#include <container.h>
%End
public:
QDesignerContainerExtension();
virtual ~QDesignerContainerExtension();
virtual int count() const = 0 /__len__/;
virtual QWidget *widget(int index) const = 0;
virtual int currentIndex() const = 0;
virtual void setCurrentIndex(int index) = 0;
virtual void addWidget(QWidget *widget) = 0;
virtual void insertWidget(int index, QWidget *widget) = 0;
virtual void remove(int index) = 0;
virtual bool canAddWidget() const = 0;
virtual bool canRemove(int index) const = 0;
private:
QDesignerContainerExtension(const QDesignerContainerExtension &);
};

View File

@@ -0,0 +1,54 @@
// customwidget.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerCustomWidgetInterface
{
%TypeHeaderCode
#include <QtDesigner>
%End
public:
virtual ~QDesignerCustomWidgetInterface();
virtual QString name() const = 0;
virtual QString group() const = 0;
virtual QString toolTip() const = 0;
virtual QString whatsThis() const = 0;
virtual QString includeFile() const = 0;
virtual QIcon icon() const = 0;
virtual bool isContainer() const = 0;
virtual QWidget *createWidget(QWidget *parent /TransferThis/) = 0 /Factory/;
virtual bool isInitialized() const;
virtual void initialize(QDesignerFormEditorInterface *core);
virtual QString domXml() const;
virtual QString codeTemplate() const;
};
class QDesignerCustomWidgetCollectionInterface
{
%TypeHeaderCode
#include <QtDesigner>
%End
public:
virtual ~QDesignerCustomWidgetCollectionInterface();
virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const = 0;
};

View File

@@ -0,0 +1,36 @@
// default_extensionfactory.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QExtensionFactory : public QObject, public QAbstractExtensionFactory
{
%TypeHeaderCode
#include <default_extensionfactory.h>
%End
public:
explicit QExtensionFactory(QExtensionManager *parent /TransferThis/ = 0);
virtual QObject *extension(QObject *object, const QString &iid) const;
QExtensionManager *extensionManager() const;
protected:
virtual QObject *createExtension(QObject *object, const QString &iid, QObject *parent /TransferThis/) const /Factory/;
};

View File

@@ -0,0 +1,45 @@
// extension.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QAbstractExtensionFactory
{
%TypeHeaderCode
#include <extension.h>
%End
public:
virtual ~QAbstractExtensionFactory();
virtual QObject *extension(QObject *object, const QString &iid) const = 0;
};
class QAbstractExtensionManager
{
%TypeHeaderCode
#include <extension.h>
%End
public:
virtual ~QAbstractExtensionManager();
virtual void registerExtensions(QAbstractExtensionFactory *factory, const QString &iid) = 0;
virtual void unregisterExtensions(QAbstractExtensionFactory *factory, const QString &iid) = 0;
virtual QObject *extension(QObject *object, const QString &iid) const = 0;
};

View File

@@ -0,0 +1,37 @@
// formbuilder.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QFormBuilder : public QAbstractFormBuilder
{
%TypeHeaderCode
#include <formbuilder.h>
%End
public:
QFormBuilder();
virtual ~QFormBuilder();
QStringList pluginPaths() const;
void clearPluginPaths();
void addPluginPath(const QString &pluginPath);
void setPluginPath(const QStringList &pluginPaths);
QList<QDesignerCustomWidgetInterface *> customWidgets() const;
};

View File

@@ -0,0 +1,49 @@
// membersheet.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerMemberSheetExtension
{
%TypeHeaderCode
#include <membersheet.h>
%End
public:
QDesignerMemberSheetExtension();
virtual ~QDesignerMemberSheetExtension();
virtual int count() const = 0 /__len__/;
virtual int indexOf(const QString &name) const = 0;
virtual QString memberName(int index) const = 0;
virtual QString memberGroup(int index) const = 0;
virtual void setMemberGroup(int index, const QString &group) = 0;
virtual bool isVisible(int index) const = 0;
virtual void setVisible(int index, bool b) = 0;
virtual bool isSignal(int index) const = 0;
virtual bool isSlot(int index) const = 0;
virtual bool inheritedFromWidget(int index) const = 0;
virtual QString declaredInClass(int index) const = 0;
virtual QString signature(int index) const = 0;
virtual QList<QByteArray> parameterTypes(int index) const = 0;
virtual QList<QByteArray> parameterNames(int index) const = 0;
private:
QDesignerMemberSheetExtension(const QDesignerMemberSheetExtension &);
};

View File

@@ -0,0 +1,51 @@
// propertysheet.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerPropertySheetExtension
{
%TypeHeaderCode
#include <propertysheet.h>
%End
public:
QDesignerPropertySheetExtension();
virtual ~QDesignerPropertySheetExtension();
virtual int count() const = 0 /__len__/;
virtual int indexOf(const QString &name) const = 0;
virtual QString propertyName(int index) const = 0;
virtual QString propertyGroup(int index) const = 0;
virtual void setPropertyGroup(int index, const QString &group) = 0;
virtual bool hasReset(int index) const = 0;
virtual bool reset(int index) = 0;
virtual bool isVisible(int index) const = 0;
virtual void setVisible(int index, bool b) = 0;
virtual bool isAttribute(int index) const = 0;
virtual void setAttribute(int index, bool b) = 0;
virtual QVariant property(int index) const = 0;
virtual void setProperty(int index, const QVariant &value) = 0;
virtual bool isChanged(int index) const = 0;
virtual void setChanged(int index, bool changed) = 0;
virtual bool isEnabled(int index) const = 0;
private:
QDesignerPropertySheetExtension(const QDesignerPropertySheetExtension &);
};

View File

@@ -0,0 +1,77 @@
// qextensionmanager.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QExtensionManager : public QObject, public QAbstractExtensionManager
{
%TypeHeaderCode
#include <qextensionmanager.h>
%End
%ConvertToSubClassCode
static struct class_graph {
const char *name;
sipTypeDef **type;
int yes, no;
} graph[] = {
{sipName_QPyDesignerCustomWidgetPlugin, &sipType_QPyDesignerCustomWidgetPlugin, -1, 1},
{sipName_QExtensionFactory, &sipType_QExtensionFactory, -1, 2},
{sipName_QPyDesignerMemberSheetExtension, &sipType_QPyDesignerMemberSheetExtension, -1, 3},
{sipName_QDesignerFormEditorInterface, &sipType_QDesignerFormEditorInterface, -1, 4},
{sipName_QDesignerWidgetBoxInterface, &sipType_QDesignerWidgetBoxInterface, -1, 5},
{sipName_QDesignerFormWindowInterface, &sipType_QDesignerFormWindowInterface, -1, 6},
{sipName_QDesignerActionEditorInterface, &sipType_QDesignerActionEditorInterface, -1, 7},
{sipName_QPyDesignerContainerExtension, &sipType_QPyDesignerContainerExtension, -1, 8},
{sipName_QDesignerPropertyEditorInterface, &sipType_QDesignerPropertyEditorInterface, -1, 9},
{sipName_QDesignerFormWindowManagerInterface, &sipType_QDesignerFormWindowManagerInterface, -1, 10},
{sipName_QPyDesignerTaskMenuExtension, &sipType_QPyDesignerTaskMenuExtension, -1, 11},
{sipName_QPyDesignerPropertySheetExtension, &sipType_QPyDesignerPropertySheetExtension, -1, 12},
{sipName_QDesignerObjectInspectorInterface, &sipType_QDesignerObjectInspectorInterface, -1, 13},
{sipName_QPyDesignerCustomWidgetCollectionPlugin, &sipType_QPyDesignerCustomWidgetCollectionPlugin, -1, 14},
{sipName_QExtensionManager, &sipType_QExtensionManager, -1, -1},
};
int i = 0;
sipType = NULL;
do
{
struct class_graph *cg = &graph[i];
if (cg->name != NULL && sipCpp->inherits(cg->name))
{
sipType = *cg->type;
i = cg->yes;
}
else
i = cg->no;
}
while (i >= 0);
%End
public:
explicit QExtensionManager(QObject *parent /TransferThis/ = 0);
virtual ~QExtensionManager();
virtual void registerExtensions(QAbstractExtensionFactory *factory, const QString &iid = QString());
virtual void unregisterExtensions(QAbstractExtensionFactory *factory, const QString &iid = QString());
virtual QObject *extension(QObject *object, const QString &iid) const;
};

View File

@@ -0,0 +1,32 @@
// This is the SIP specification of the QPyDesignerContainerExtension class.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QPyDesignerContainerExtension : QObject, QDesignerContainerExtension
{
%TypeHeaderCode
#include <qpydesignercontainerextension.h>
%End
public:
QPyDesignerContainerExtension(QObject *parent /TransferThis/);
private:
QPyDesignerContainerExtension(const QPyDesignerContainerExtension &);
};

View File

@@ -0,0 +1,33 @@
// This is the SIP specification of the QPyDesignerCustomWidgetCollectionPlugin
// class.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QPyDesignerCustomWidgetCollectionPlugin : QObject, QDesignerCustomWidgetCollectionInterface
{
%TypeHeaderCode
#include <qpydesignercustomwidgetcollectionplugin.h>
%End
public:
QPyDesignerCustomWidgetCollectionPlugin(QObject *parent /TransferThis/ = 0);
private:
QPyDesignerCustomWidgetCollectionPlugin(const QPyDesignerCustomWidgetCollectionPlugin &);
};

View File

@@ -0,0 +1,32 @@
// This is the SIP specification of the QPyDesignerCustomWidgetPlugin class.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QPyDesignerCustomWidgetPlugin : QObject, QDesignerCustomWidgetInterface
{
%TypeHeaderCode
#include <qpydesignercustomwidgetplugin.h>
%End
public:
QPyDesignerCustomWidgetPlugin(QObject *parent /TransferThis/ = 0);
private:
QPyDesignerCustomWidgetPlugin(const QPyDesignerCustomWidgetPlugin &);
};

View File

@@ -0,0 +1,32 @@
// This is the SIP specification of the QPyDesignerMemberSheetExtension class.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QPyDesignerMemberSheetExtension : QObject, QDesignerMemberSheetExtension
{
%TypeHeaderCode
#include <qpydesignermembersheetextension.h>
%End
public:
QPyDesignerMemberSheetExtension(QObject *parent /TransferThis/);
private:
QPyDesignerMemberSheetExtension(const QPyDesignerMemberSheetExtension &);
};

View File

@@ -0,0 +1,33 @@
// This is the SIP specification of the QPyDesignerPropertySheetExtension
// class.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QPyDesignerPropertySheetExtension : QObject, QDesignerPropertySheetExtension
{
%TypeHeaderCode
#include <qpydesignerpropertysheetextension.h>
%End
public:
QPyDesignerPropertySheetExtension(QObject *parent /TransferThis/);
private:
QPyDesignerPropertySheetExtension(const QPyDesignerPropertySheetExtension &);
};

View File

@@ -0,0 +1,32 @@
// This is the SIP specification of the QPyDesignerTaskMenuExtension class.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QPyDesignerTaskMenuExtension : QObject, QDesignerTaskMenuExtension
{
%TypeHeaderCode
#include <qpydesignertaskmenuextension.h>
%End
public:
QPyDesignerTaskMenuExtension(QObject *parent /TransferThis/);
private:
QPyDesignerTaskMenuExtension(const QPyDesignerTaskMenuExtension &);
};

View File

@@ -0,0 +1,37 @@
// taskmenu.sip generated by MetaSIP
//
// This file is part of the QtDesigner Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt6.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QDesignerTaskMenuExtension
{
%TypeHeaderCode
#include <taskmenu.h>
%End
public:
QDesignerTaskMenuExtension();
virtual ~QDesignerTaskMenuExtension();
virtual QList<QAction *> taskActions() const = 0;
virtual QAction *preferredEditAction() const;
private:
QDesignerTaskMenuExtension(const QDesignerTaskMenuExtension &);
};