# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
This file contains the exact signatures for all functions in module
PySide6.QtDesigner, except for defaults which are replaced by "...".
"""

# mypy: disable-error-code="override, overload-overlap"
# Module `PySide6.QtDesigner`

import PySide6.QtDesigner
import PySide6.QtCore
import PySide6.QtWidgets

import enum
import typing
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


class QAbstractExtensionFactory(Shiboken.Object): ...


class QAbstractExtensionManager(Shiboken.Object): ...


class QAbstractFormBuilder(Shiboken.Object): ...


class QDesignerActionEditorInterface(PySide6.QtWidgets.QWidget): ...


class QDesignerContainerExtension(Shiboken.Object): ...


class QDesignerCustomWidgetCollectionInterface(Shiboken.Object): ...


class QDesignerCustomWidgetInterface(Shiboken.Object): ...


class QDesignerDnDItemInterface(Shiboken.Object):

    class DropType(enum.Enum):

        MoveDrop                  = 0x0
        CopyDrop                  = 0x1


class QDesignerDynamicPropertySheetExtension(Shiboken.Object): ...


class QDesignerFormEditorInterface(PySide6.QtCore.QObject): ...


class QDesignerFormWindowCursorInterface(Shiboken.Object):

    class MoveMode(enum.Enum):

        MoveAnchor                = 0x0
        KeepAnchor                = 0x1

    class MoveOperation(enum.Enum):

        NoMove                    = 0x0
        Start                     = 0x1
        End                       = 0x2
        Next                      = 0x3
        Prev                      = 0x4
        Left                      = 0x5
        Right                     = 0x6
        Up                        = 0x7
        Down                      = 0x8


class QDesignerFormWindowInterface(PySide6.QtWidgets.QWidget):

    aboutToUnmanageWidget    : typing.ClassVar[Signal] = ... # aboutToUnmanageWidget(QWidget*)
    activated                : typing.ClassVar[Signal] = ... # activated(QWidget*)
    changed                  : typing.ClassVar[Signal] = ... # changed()
    featureChanged           : typing.ClassVar[Signal] = ... # featureChanged(Feature)
    fileNameChanged          : typing.ClassVar[Signal] = ... # fileNameChanged(QString)
    geometryChanged          : typing.ClassVar[Signal] = ... # geometryChanged()
    mainContainerChanged     : typing.ClassVar[Signal] = ... # mainContainerChanged(QWidget*)
    objectRemoved            : typing.ClassVar[Signal] = ... # objectRemoved(QObject*)
    resourceFilesChanged     : typing.ClassVar[Signal] = ... # resourceFilesChanged()
    selectionChanged         : typing.ClassVar[Signal] = ... # selectionChanged()
    toolChanged              : typing.ClassVar[Signal] = ... # toolChanged(int)
    widgetManaged            : typing.ClassVar[Signal] = ... # widgetManaged(QWidget*)
    widgetRemoved            : typing.ClassVar[Signal] = ... # widgetRemoved(QWidget*)
    widgetUnmanaged          : typing.ClassVar[Signal] = ... # widgetUnmanaged(QWidget*)

    class FeatureFlag(enum.Flag):

        EditFeature               = 0x1
        GridFeature               = 0x2
        DefaultFeature            = 0x3
        TabOrderFeature           = 0x4

    class ResourceFileSaveMode(enum.Enum):

        SaveAllResourceFiles      = 0x0
        SaveOnlyUsedResourceFiles = 0x1
        DontSaveResourceFiles     = 0x2


class QDesignerFormWindowManagerInterface(PySide6.QtCore.QObject):

    activeFormWindowChanged  : typing.ClassVar[Signal] = ... # activeFormWindowChanged(QDesignerFormWindowInterface*)
    formWindowAdded          : typing.ClassVar[Signal] = ... # formWindowAdded(QDesignerFormWindowInterface*)
    formWindowRemoved        : typing.ClassVar[Signal] = ... # formWindowRemoved(QDesignerFormWindowInterface*)
    formWindowSettingsChanged: typing.ClassVar[Signal] = ... # formWindowSettingsChanged(QDesignerFormWindowInterface*)

    class Action(enum.Enum):

        CutAction                 = 0x64
        CopyAction                = 0x65
        PasteAction               = 0x66
        DeleteAction              = 0x67
        SelectAllAction           = 0x68
        LowerAction               = 0xc8
        RaiseAction               = 0xc9
        UndoAction                = 0x12c
        RedoAction                = 0x12d
        HorizontalLayoutAction    = 0x190
        VerticalLayoutAction      = 0x191
        SplitHorizontalAction     = 0x192
        SplitVerticalAction       = 0x193
        GridLayoutAction          = 0x194
        FormLayoutAction          = 0x195
        BreakLayoutAction         = 0x196
        AdjustSizeAction          = 0x197
        SimplifyLayoutAction      = 0x198
        DefaultPreviewAction      = 0x1f4
        FormWindowSettingsDialogAction = 0x258

    class ActionGroup(enum.Enum):

        StyledPreviewActionGroup  = 0x64


class QDesignerFormWindowToolInterface(PySide6.QtCore.QObject): ...


class QDesignerMemberSheetExtension(Shiboken.Object): ...


class QDesignerObjectInspectorInterface(PySide6.QtWidgets.QWidget): ...


class QDesignerPropertyEditorInterface(PySide6.QtWidgets.QWidget):

    propertyChanged          : typing.ClassVar[Signal] = ... # propertyChanged(QString,QVariant)


class QDesignerPropertySheetExtension(Shiboken.Object): ...


class QDesignerTaskMenuExtension(Shiboken.Object): ...


class QDesignerWidgetBoxInterface(PySide6.QtWidgets.QWidget):

    class Category(Shiboken.Object):

        class Type(enum.Enum):

            Default                   = 0x0
            Scratchpad                = 0x1


    class Widget(Shiboken.Object):

        class Type(enum.Enum):

            Default                   = 0x0
            Custom                    = 0x1


class QExtensionFactory(PySide6.QtCore.QObject, PySide6.QtDesigner.QAbstractExtensionFactory): ...


class QExtensionManager(PySide6.QtCore.QObject, PySide6.QtDesigner.QAbstractExtensionManager): ...


class QFormBuilder(PySide6.QtDesigner.QAbstractFormBuilder): ...


class QIntList: ...


class QPyDesignerContainerExtension(PySide6.QtCore.QObject, PySide6.QtDesigner.QDesignerContainerExtension): ...


class QPyDesignerCustomWidgetCollection(PySide6.QtDesigner.QDesignerCustomWidgetCollectionInterface): ...


class QPyDesignerMemberSheetExtension(PySide6.QtCore.QObject, PySide6.QtDesigner.QDesignerMemberSheetExtension): ...


class QPyDesignerPropertySheetExtension(PySide6.QtCore.QObject, PySide6.QtDesigner.QDesignerPropertySheetExtension): ...  # type: ignore[misc]


class QPyDesignerTaskMenuExtension(PySide6.QtCore.QObject, PySide6.QtDesigner.QDesignerTaskMenuExtension): ...


# eof
