from __future__ import annotations

import collections
import enum
import typing

from qtpy import QtCore, QtGui, QtWidgets
from qtpy.QtCore import Signal

from bec_widgets.widgets.containers.qt_ads import ads
from bec_widgets.widgets.containers.qt_ads.ads import *

# pylint: disable=unused-argument,invalid-name, missing-function-docstring, super-init-not-called

class CAutoHideDockContainer(QtWidgets.QFrame):
    def __init__(
        self,
        DockWidget: typing.Optional["CDockWidget"],
        area: SideBarLocation,
        parent: typing.Optional["CDockContainerWidget"],
    ) -> None: ...
    def moveToNewSideBarLocation(self, a0: SideBarLocation) -> None: ...
    def orientation(self) -> QtCore.Qt.Orientation: ...
    def resetToInitialDockWidgetSize(self) -> None: ...
    def setSize(self, Size: int) -> None: ...
    def toggleCollapseState(self) -> None: ...
    def collapseView(self, Enable: bool) -> None: ...
    def toggleView(self, Enable: bool) -> None: ...
    def cleanupAndDelete(self) -> None: ...
    def moveContentsToParent(self) -> None: ...
    def dockContainer(self) -> typing.Optional["CDockContainerWidget"]: ...
    def dockAreaWidget(self) -> typing.Optional["CDockAreaWidget"]: ...
    def setSideBarLocation(self, SideBarLocation: SideBarLocation) -> None: ...
    def sideBarLocation(self) -> SideBarLocation: ...
    def addDockWidget(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def tabIndex(self) -> int: ...
    def dockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def autoHideTab(self) -> typing.Optional["CAutoHideTab"]: ...
    def autoHideSideBar(self) -> typing.Optional["CAutoHideSideBar"]: ...
    def saveState(self, Stream: QtCore.QXmlStreamWriter) -> None: ...
    def updateSize(self) -> None: ...
    def event(self, event: typing.Optional[QtCore.QEvent]) -> bool: ...
    def leaveEvent(self, event: typing.Optional[QtCore.QEvent]) -> None: ...
    def resizeEvent(self, event: typing.Optional[QtGui.QResizeEvent]) -> None: ...
    def eventFilter(
        self, watched: typing.Optional[QtCore.QObject], event: typing.Optional[QtCore.QEvent]
    ) -> bool: ...

class CAutoHideSideBar(QtWidgets.QScrollArea):
    def __init__(
        self, parent: typing.Optional["CDockContainerWidget"], area: "SideBarLocation"
    ) -> None: ...
    def dockContainer(self) -> typing.Optional["CDockContainerWidget"]: ...
    def setSpacing(self, Spacing: int) -> None: ...
    def spacing(self) -> int: ...
    def sizeHint(self) -> QtCore.QSize: ...
    def minimumSizeHint(self) -> QtCore.QSize: ...
    def sideBarLocation(self) -> "SideBarLocation": ...
    def hasVisibleTabs(self) -> bool: ...
    def visibleTabCount(self) -> int: ...
    def count(self) -> int: ...
    def indexOfTab(self, Tab: "CAutoHideTab") -> int: ...
    def tabInsertIndexAt(self, Pos: QtCore.QPoint) -> int: ...
    def tabAt(self, Pos: QtCore.QPoint) -> int: ...
    def tab(self, index: int) -> typing.Optional["CAutoHideTab"]: ...
    def orientation(self) -> QtCore.Qt.Orientation: ...
    def addAutoHideWidget(
        self, AutoHideWidget: typing.Optional["CAutoHideDockContainer"], Index: int
    ) -> None: ...
    def removeAutoHideWidget(
        self, AutoHideWidget: typing.Optional["CAutoHideDockContainer"]
    ) -> None: ...
    def insertDockWidget(
        self, Index: int, DockWidget: typing.Optional["CDockWidget"]
    ) -> typing.Optional["CAutoHideDockContainer"]: ...
    def removeTab(self, SideTab: typing.Optional["CAutoHideTab"]) -> None: ...
    def insertTab(self, Index: int, SideTab: typing.Optional["CAutoHideTab"]) -> None: ...
    def saveState(self, Stream: QtCore.QXmlStreamWriter) -> None: ...
    def eventFilter(
        self, watched: typing.Optional[QtCore.QObject], event: typing.Optional[QtCore.QEvent]
    ) -> bool: ...

class CPushButton(QtWidgets.QPushButton):
    class Orientation(enum.Enum):
        Horizontal = ...
        VerticalTopToBottom = ...
        VerticalBottomToTop = ...

    def __init__(self) -> None: ...
    def setButtonOrientation(self, orientation: "CPushButton.Orientation") -> None: ...
    def buttonOrientation(self) -> "CPushButton.Orientation": ...
    def sizeHint(self) -> QtCore.QSize: ...

class CAutoHideTab(CPushButton):
    def __init__(self, parent: typing.Optional[QtWidgets.QWidget] = ...) -> None: ...
    def requestCloseDockWidget(self) -> None: ...
    def unpinDockWidget(self) -> None: ...
    def setDockWidgetFloating(self) -> None: ...
    def tabIndex(self) -> int: ...
    def sideBar(self) -> typing.Optional["CAutoHideSideBar"]: ...
    def iconOnly(self) -> bool: ...
    def setDockWidget(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def dockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def isActiveTab(self) -> bool: ...
    def orientation(self) -> QtCore.Qt.Orientation: ...
    def setOrientation(self, Orientation: QtCore.Qt.Orientation) -> None: ...
    def sideBarLocation(self) -> "SideBarLocation": ...
    def updateStyle(self) -> None: ...
    def dragLeaveEvent(self, ev: typing.Optional[QtGui.QDragLeaveEvent]) -> None: ...
    def dragEnterEvent(self, ev: typing.Optional[QtGui.QDragEnterEvent]) -> None: ...
    def mouseMoveEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mouseReleaseEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mousePressEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def contextMenuEvent(self, ev: typing.Optional[QtGui.QContextMenuEvent]) -> None: ...
    def event(self, event: typing.Optional[QtCore.QEvent]) -> bool: ...
    def removeFromSideBar(self) -> None: ...
    def setSideBar(self, SideTabBar: typing.Optional["CAutoHideSideBar"]) -> None: ...

class CDockWidget(QtWidgets.QFrame):
    class eToggleViewActionMode(enum.Enum):
        ActionModeToggle = ...
        ActionModeShow = ...

    class eMinimumSizeHintMode(enum.Enum):
        MinimumSizeHintFromDockWidget = ...
        MinimumSizeHintFromContent = ...
        MinimumSizeHintFromDockWidgetMinimumSize = ...
        MinimumSizeHintFromContentMinimumSize = ...

    class eInsertMode(enum.Enum):
        AutoScrollArea = ...
        ForceScrollArea = ...
        ForceNoScrollArea = ...

    class eToolBarStyleSource(enum.Enum):
        ToolBarStyleFromDockManager = ...
        ToolBarStyleFromDockWidget = ...

    class eState(enum.Enum):
        StateHidden = ...
        StateDocked = ...
        StateFloating = ...

    class DockWidgetFeature(enum.Enum):
        DockWidgetClosable = ...
        DockWidgetMovable = ...
        DockWidgetFloatable = ...
        DockWidgetDeleteOnClose = ...
        CustomCloseHandling = ...
        DockWidgetFocusable = ...
        DockWidgetForceCloseWithArea = ...
        NoTab = ...
        DeleteContentOnClose = ...
        DockWidgetPinnable = ...
        DefaultDockWidgetFeatures = ...
        AllDockWidgetFeatures = ...
        DockWidgetAlwaysCloseAndDelete = ...
        GloballyLockableFeatures = ...
        NoDockWidgetFeatures = ...

    @typing.overload
    def __init__(
        self, title: typing.Optional[str], parent: typing.Optional[QtWidgets.QWidget] = ...
    ) -> None: ...
    @typing.overload
    def __init__(
        self,
        manager: typing.Optional["CDockManager"],
        title: typing.Optional[str],
        parent: typing.Optional[QtWidgets.QWidget] = ...,
    ) -> None: ...

    featuresChanged: typing.ClassVar[Signal]
    visibilityChanged: typing.ClassVar[Signal]
    closeRequested: typing.ClassVar[Signal]
    topLevelChanged: typing.ClassVar[Signal]
    titleChanged: typing.ClassVar[Signal]
    closed: typing.ClassVar[Signal]
    viewToggled: typing.ClassVar[Signal]
    def toggleAutoHide(self, Location: "SideBarLocation" = ...) -> None: ...
    def setAutoHide(
        self, Enable: bool, Location: "SideBarLocation" = ..., TabIndex: int = ...
    ) -> None: ...
    def showNormal(self) -> None: ...
    def showFullScreen(self) -> None: ...
    def requestCloseDockWidget(self) -> None: ...
    def closeDockWidget(self) -> None: ...
    def deleteDockWidget(self) -> None: ...
    def setFloating(self) -> None: ...
    def raise_(self) -> None: ...
    def setAsCurrentTab(self) -> None: ...
    def toggleView(self, Open: bool = ...) -> None: ...
    def event(self, e: typing.Optional[QtCore.QEvent]) -> bool: ...
    def isCurrentTab(self) -> bool: ...
    def isTabbed(self) -> bool: ...
    def isFullScreen(self) -> bool: ...
    def setTabToolTip(self, text: typing.Optional[str]) -> None: ...
    def titleBarActions(self) -> list[QtGui.QAction]: ...
    def setTitleBarActions(self, actions: collections.abc.Iterable[QtGui.QAction]) -> None: ...
    def toolBarIconSize(self, State: "CDockWidget.eState") -> QtCore.QSize: ...
    def setToolBarIconSize(self, IconSize: QtCore.QSize, State: "CDockWidget.eState") -> None: ...
    def toolBarStyle(self, State: "CDockWidget.eState") -> QtCore.Qt.ToolButtonStyle: ...
    def setToolBarStyle(
        self, Style: QtCore.Qt.ToolButtonStyle, State: "CDockWidget.eState"
    ) -> None: ...
    def toolBarStyleSource(self) -> "CDockWidget.eToolBarStyleSource": ...
    def setToolBarStyleSource(self, Source: "CDockWidget.eToolBarStyleSource") -> None: ...
    def setToolBar(self, ToolBar: typing.Optional[QtWidgets.QToolBar]) -> None: ...
    def createDefaultToolBar(self) -> typing.Optional[QtWidgets.QToolBar]: ...
    def toolBar(self) -> typing.Optional[QtWidgets.QToolBar]: ...
    def icon(self) -> QtGui.QIcon: ...
    def setIcon(self, Icon: QtGui.QIcon) -> None: ...
    def isCentralWidget(self) -> bool: ...
    def minimumSizeHintMode(self) -> "CDockWidget.eMinimumSizeHintMode": ...
    def setMinimumSizeHintMode(self, Mode: "CDockWidget.eMinimumSizeHintMode") -> None: ...
    def setToggleViewActionMode(self, Mode: "CDockWidget.eToggleViewActionMode") -> None: ...
    def setToggleViewAction(self, action: typing.Optional[QtGui.QAction]) -> None: ...
    def toggleViewAction(self) -> typing.Optional[QtGui.QAction]: ...
    def isClosed(self) -> bool: ...
    def isInFloatingContainer(self) -> bool: ...
    def isFloating(self) -> bool: ...
    def autoHideLocation(self) -> "SideBarLocation": ...
    def autoHideDockContainer(self) -> typing.Optional["CAutoHideDockContainer"]: ...
    def isAutoHide(self) -> bool: ...
    def setSideTabWidget(self, SideTab: typing.Optional["CAutoHideTab"]) -> None: ...
    def sideTabWidget(self) -> typing.Optional["CAutoHideTab"]: ...
    def dockAreaWidget(self) -> typing.Optional["CDockAreaWidget"]: ...
    def floatingDockContainer(self) -> typing.Optional["CFloatingDockContainer"]: ...
    def dockContainer(self) -> typing.Optional["CDockContainerWidget"]: ...
    def dockManager(self) -> typing.Optional["CDockManager"]: ...
    def features(self) -> "CDockWidget.DockWidgetFeature": ...
    def setFeature(self, flag: "CDockWidget.DockWidgetFeature", on: bool) -> None: ...
    def setFeatures(self, features: "CDockWidget.DockWidgetFeature") -> None: ...
    def tabWidget(self) -> typing.Optional["CDockWidgetTab"]: ...
    def widget(self) -> typing.Optional[QtWidgets.QWidget]: ...
    def takeWidget(self) -> typing.Optional[QtWidgets.QWidget]: ...
    def setWidget(
        self,
        widget: typing.Optional[QtWidgets.QWidget],
        InsertMode: "CDockWidget.eInsertMode" = ...,
    ) -> None: ...
    def minimumSizeHint(self) -> QtCore.QSize: ...
    def closeDockWidgetInternal(self, ForceClose: bool = ...) -> bool: ...
    def toggleViewInternal(self, Open: bool) -> None: ...
    def setClosedState(self, Closed: bool) -> None: ...
    def emitTopLevelChanged(self, Floating: bool) -> None: ...
    @staticmethod
    def emitTopLevelEventForWidget(
        TopLevelDockWidget: typing.Optional["CDockWidget"], Floating: bool
    ) -> None: ...
    def flagAsUnassigned(self) -> None: ...
    def saveState(self, Stream: QtCore.QXmlStreamWriter) -> None: ...
    def setToggleViewActionChecked(self, Checked: bool) -> None: ...
    def setDockArea(self, DockArea: typing.Optional["CDockAreaWidget"]) -> None: ...
    def setDockManager(self, DockManager: typing.Optional["CDockManager"]) -> None: ...

class CDockAreaTabBar(QtWidgets.QScrollArea):
    def __init__(self, parent: typing.Optional["CDockAreaWidget"]) -> None: ...

    elidedChanged: typing.ClassVar[Signal]
    tabInserted: typing.ClassVar[Signal]
    removingTab: typing.ClassVar[Signal]
    tabMoved: typing.ClassVar[Signal]
    tabOpened: typing.ClassVar[Signal]
    tabClosed: typing.ClassVar[Signal]
    tabCloseRequested: typing.ClassVar[Signal]
    tabBarClicked: typing.ClassVar[Signal]
    currentChanged: typing.ClassVar[Signal]
    currentChanging: typing.ClassVar[Signal]
    def closeTab(self, Index: int) -> None: ...
    def setCurrentIndex(self, Index: int) -> None: ...
    def areTabsOverflowing(self) -> bool: ...
    def sizeHint(self) -> QtCore.QSize: ...
    def minimumSizeHint(self) -> QtCore.QSize: ...
    def isTabOpen(self, Index: int) -> bool: ...
    def eventFilter(
        self, watched: typing.Optional[QtCore.QObject], event: typing.Optional[QtCore.QEvent]
    ) -> bool: ...
    def tabInsertIndexAt(self, Pos: QtCore.QPoint) -> int: ...
    def tabAt(self, Pos: QtCore.QPoint) -> int: ...
    def tab(self, Index: int) -> typing.Optional["CDockWidgetTab"]: ...
    def currentTab(self) -> typing.Optional["CDockWidgetTab"]: ...
    def currentIndex(self) -> int: ...
    def count(self) -> int: ...
    def removeTab(self, Tab: typing.Optional["CDockWidgetTab"]) -> None: ...
    def insertTab(self, Index: int, Tab: typing.Optional["CDockWidgetTab"]) -> None: ...
    def wheelEvent(self, Event: typing.Optional[QtGui.QWheelEvent]) -> None: ...

class CSpacerWidget(QtWidgets.QWidget):
    def __init__(self, Parent: typing.Optional[QtWidgets.QWidget] = ...) -> None: ...
    def minimumSizeHint(self) -> QtCore.QSize: ...
    def sizeHint(self) -> QtCore.QSize: ...

class CTitleBarButton(QtWidgets.QToolButton):
    def __init__(
        self,
        ShowInTitleBar: bool,
        HideWhenDisabled: bool,
        ButtonId: "TitleBarButton",
        parent: typing.Optional[QtWidgets.QWidget] = ...,
    ) -> None: ...
    def event(self, ev: typing.Optional[QtCore.QEvent]) -> bool: ...
    def isInAutoHideArea(self) -> bool: ...
    def titleBar(self) -> typing.Optional["CDockAreaTitleBar"]: ...
    def buttonId(self) -> "TitleBarButton": ...
    def setShowInTitleBar(self, a0: bool) -> None: ...
    def setVisible(self, a0: bool) -> None: ...

class CDockAreaTitleBar(QtWidgets.QFrame):
    def __init__(self, parent: typing.Optional[CDockAreaWidget]) -> None: ...

    tabBarClicked: typing.ClassVar[Signal]
    def buildContextMenu(
        self, menu: typing.Optional[QtWidgets.QMenu] = ...
    ) -> typing.Optional[QtWidgets.QMenu]: ...
    def isAutoHide(self) -> bool: ...
    def showAutoHideControls(self, Show: bool) -> None: ...
    def setAreaFloating(self) -> None: ...
    def titleBarButtonToolTip(self, Button: "TitleBarButton") -> str: ...
    def indexOf(self, widget: typing.Optional[QtWidgets.QWidget]) -> int: ...
    def insertWidget(self, index: int, widget: typing.Optional[QtWidgets.QWidget]) -> None: ...
    def setVisible(self, Visible: bool) -> None: ...
    def updateDockWidgetActionsButtons(self) -> None: ...
    def dockAreaWidget(self) -> typing.Optional["CDockAreaWidget"]: ...
    def autoHideTitleLabel(self) -> typing.Optional["CElidingLabel"]: ...
    def button(self, which: "TitleBarButton") -> typing.Optional["CTitleBarButton"]: ...
    def tabBar(self) -> typing.Optional["CDockAreaTabBar"]: ...
    def markTabsMenuOutdated(self) -> None: ...
    def resizeEvent(self, event: typing.Optional[QtGui.QResizeEvent]) -> None: ...
    def contextMenuEvent(self, event: typing.Optional[QtGui.QContextMenuEvent]) -> None: ...
    def mouseDoubleClickEvent(self, event: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mouseMoveEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mouseReleaseEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mousePressEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...

class CDockAreaWidget(QtWidgets.QFrame):
    class eDockAreaFlag(enum.Enum):
        HideSingleWidgetTitleBar = ...
        DefaultFlags = ...

    def __init__(
        self,
        DockManager: typing.Optional[CDockManager],
        parent: typing.Optional[CDockContainerWidget],
    ) -> None: ...

    viewToggled: typing.ClassVar[Signal]
    currentChanged: typing.ClassVar[Signal]
    currentChanging: typing.ClassVar[Signal]
    tabBarClicked: typing.ClassVar[Signal]
    def setFloating(self) -> None: ...
    def closeOtherAreas(self) -> None: ...
    def toggleAutoHide(self, Location: "SideBarLocation" = ...) -> None: ...
    def setAutoHide(
        self, Enable: bool, Location: "SideBarLocation" = ..., TabIndex: int = ...
    ) -> None: ...
    def closeArea(self) -> None: ...
    def setCurrentIndex(self, index: int) -> None: ...
    def isTopLevelArea(self) -> bool: ...
    def containsCentralWidget(self) -> bool: ...
    def isCentralWidgetArea(self) -> bool: ...
    def setDockAreaFlag(self, Flag: "CDockAreaWidget.eDockAreaFlag", On: bool) -> None: ...
    def setDockAreaFlags(self, Flags: "CDockAreaWidget.eDockAreaFlag") -> None: ...
    def dockAreaFlags(self) -> "CDockAreaWidget.eDockAreaFlag": ...
    def titleBar(self) -> typing.Optional["CDockAreaTitleBar"]: ...
    def allowedAreas(self) -> "DockWidgetArea": ...
    def setAllowedAreas(self, areas: "DockWidgetArea") -> None: ...
    def setVisible(self, Visible: bool) -> None: ...
    def titleBarButton(
        self, which: "TitleBarButton"
    ) -> typing.Optional[QtWidgets.QAbstractButton]: ...
    def features(self, Mode: "eBitwiseOperator" = ...) -> "CDockWidget.DockWidgetFeature": ...
    @staticmethod
    def restoreState(
        Stream: "CDockingStateReader",
        Testing: bool,
        ParentContainer: typing.Optional["CDockContainerWidget"],
    ) -> typing.Tuple[bool, typing.Optional["CDockAreaWidget"]]: ...
    def saveState(self, Stream: QtCore.QXmlStreamWriter) -> None: ...
    def setCurrentDockWidget(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def currentDockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def indexOfFirstOpenDockWidget(self) -> int: ...
    def currentIndex(self) -> int: ...
    def dockWidget(self, Index: int) -> typing.Optional["CDockWidget"]: ...
    def openedDockWidgets(self) -> list["CDockWidget"]: ...
    def openDockWidgetsCount(self) -> int: ...
    def dockWidgets(self) -> list["CDockWidget"]: ...
    def dockWidgetsCount(self) -> int: ...
    def contentAreaGeometry(self) -> QtCore.QRect: ...
    def titleBarGeometry(self) -> QtCore.QRect: ...
    def minimumSizeHint(self) -> QtCore.QSize: ...
    def setAutoHideDockContainer(self, a0: typing.Optional["CAutoHideDockContainer"]) -> None: ...
    def isAutoHide(self) -> bool: ...
    def parentSplitter(self) -> typing.Optional["CDockSplitter"]: ...
    def autoHideDockContainer(self) -> typing.Optional["CAutoHideDockContainer"]: ...
    def dockContainer(self) -> typing.Optional["CDockContainerWidget"]: ...
    def dockManager(self) -> typing.Optional["CDockManager"]: ...
    def toggleView(self, Open: bool) -> None: ...
    def updateTitleBarButtonVisibility(self, IsTopLevel: bool) -> None: ...
    def markTitleBarMenuOutdated(self) -> None: ...
    def internalSetCurrentDockWidget(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def updateTitleBarVisibility(self) -> None: ...
    def hideAreaWithNoVisibleContent(self) -> None: ...
    def index(self, DockWidget: typing.Optional["CDockWidget"]) -> int: ...
    def nextOpenDockWidget(
        self, DockWidget: typing.Optional["CDockWidget"]
    ) -> typing.Optional["CDockWidget"]: ...
    def toggleDockWidgetView(
        self, DockWidget: typing.Optional["CDockWidget"], Open: bool
    ) -> None: ...
    def removeDockWidget(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def addDockWidget(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def insertDockWidget(
        self, index: int, DockWidget: typing.Optional["CDockWidget"], Activate: bool = ...
    ) -> None: ...

class CDockContainerWidget(QtWidgets.QFrame):
    def __init__(
        self,
        DockManager: typing.Optional["CDockManager"],
        parent: typing.Optional[QtWidgets.QWidget] = ...,
    ) -> None: ...

    dockAreaViewToggled: typing.ClassVar[Signal]
    dockAreasRemoved: typing.ClassVar[Signal]
    autoHideWidgetCreated: typing.ClassVar[Signal]
    dockAreasAdded: typing.ClassVar[Signal]
    def dockManager(self) -> typing.Optional["CDockManager"]: ...
    def contentRectGlobal(self) -> QtCore.QRect: ...
    def contentRect(self) -> QtCore.QRect: ...
    def autoHideWidgets(self) -> list["CAutoHideDockContainer"]: ...
    def autoHideSideBar(self, area: "SideBarLocation") -> typing.Optional["CAutoHideSideBar"]: ...
    def closeOtherAreas(self, KeepOpenArea: typing.Optional["CDockAreaWidget"]) -> None: ...
    def floatingWidget(self) -> typing.Optional["CFloatingDockContainer"]: ...
    def features(self) -> "CDockWidget.DockWidgetFeature": ...
    def dumpLayout(self) -> None: ...
    def isFloating(self) -> bool: ...
    def visibleDockAreaCount(self) -> int: ...
    def dockAreaCount(self) -> int: ...
    def hasTopLevelDockWidget(self) -> bool: ...
    def openedDockWidgets(self) -> list["CDockWidget"]: ...
    def openedDockAreas(self) -> list["CDockAreaWidget"]: ...
    def dockArea(self, Index: int) -> typing.Optional["CDockAreaWidget"]: ...
    def dockAreaAt(self, GlobalPos: QtCore.QPoint) -> typing.Optional["CDockAreaWidget"]: ...
    def isInFrontOf(self, Other: typing.Optional["CDockContainerWidget"]) -> bool: ...
    def zOrderIndex(self) -> int: ...
    def removeDockWidget(self, Dockwidget: typing.Optional["CDockWidget"]) -> None: ...
    def addDockWidget(
        self,
        area: "DockWidgetArea",
        Dockwidget: typing.Optional["CDockWidget"],
        DockAreaWidget: typing.Optional["CDockAreaWidget"] = ...,
        Index: int = ...,
    ) -> typing.Optional["CDockAreaWidget"]: ...
    def handleAutoHideWidgetEvent(
        self, e: typing.Optional[QtCore.QEvent], w: typing.Optional[QtWidgets.QWidget]
    ) -> None: ...
    def removeAutoHideWidget(
        self, AutoHideWidget: typing.Optional["CAutoHideDockContainer"]
    ) -> None: ...
    def registerAutoHideWidget(
        self, AutoHideWidget: typing.Optional["CAutoHideDockContainer"]
    ) -> None: ...
    def updateSplitterHandles(self, splitter: typing.Optional[QtWidgets.QSplitter]) -> None: ...
    def dockWidgets(self) -> list["CDockWidget"]: ...
    def topLevelDockArea(self) -> typing.Optional["CDockAreaWidget"]: ...
    def topLevelDockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def lastAddedDockAreaWidget(
        self, area: "DockWidgetArea"
    ) -> typing.Optional["CDockAreaWidget"]: ...
    def restoreState(self, Stream: "CDockingStateReader", Testing: bool) -> bool: ...
    def saveState(self, Stream: QtCore.QXmlStreamWriter) -> None: ...
    def removeAllDockAreas(self) -> list[CDockAreaWidget]: ...
    def removeDockArea(self, area: typing.Optional["CDockAreaWidget"]) -> None: ...
    def addDockArea(
        self, DockAreaWidget: typing.Optional["CDockAreaWidget"], area: "DockWidgetArea" = ...
    ) -> None: ...
    def dropWidget(
        self,
        Widget: typing.Optional[QtWidgets.QWidget],
        DropArea: "DockWidgetArea",
        TargetAreaWidget: typing.Optional["CDockAreaWidget"],
        TabIndex: int = ...,
    ) -> None: ...
    def dropFloatingWidget(
        self, FloatingWidget: typing.Optional["CFloatingDockContainer"], TargetPos: QtCore.QPoint
    ) -> None: ...
    def createRootSplitter(self) -> None: ...
    def createAndSetupAutoHideContainer(
        self,
        area: "SideBarLocation",
        DockWidget: typing.Optional["CDockWidget"],
        TabIndex: int = ...,
    ) -> typing.Optional["CAutoHideDockContainer"]: ...
    def rootSplitter(self) -> typing.Optional["CDockSplitter"]: ...
    def event(self, e: typing.Optional[QtCore.QEvent]) -> bool: ...

class CDockingStateReader(QtCore.QXmlStreamReader):
    def __init__(self) -> None: ...
    def fileVersion(self) -> int: ...
    def setFileVersion(self, FileVersion: int) -> None: ...

class CDockFocusController(QtCore.QObject):
    def __init__(self, DockManager: typing.Optional["CDockManager"]) -> None: ...
    def setDockWidgetFocused(self, focusedNow: typing.Optional["CDockWidget"]) -> None: ...
    def setDockWidgetTabPressed(self, Value: bool) -> None: ...
    def clearDockWidgetFocus(self, dockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def setDockWidgetTabFocused(self, Tab: typing.Optional["CDockWidgetTab"]) -> None: ...
    def focusedDockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def notifyFloatingWidgetDrop(
        self, FloatingWidget: typing.Optional["CFloatingDockContainer"]
    ) -> None: ...
    def notifyWidgetOrAreaRelocation(
        self, RelocatedWidget: typing.Optional[QtWidgets.QWidget]
    ) -> None: ...

class CDockManager(CDockContainerWidget):
    class eConfigParam(enum.Enum):
        AutoHideOpenOnDragHoverDelay_ms = ...
        ConfigParamCount = ...

    class eAutoHideFlag(enum.Enum):
        AutoHideFeatureEnabled = ...
        DockAreaHasAutoHideButton = ...
        AutoHideButtonTogglesArea = ...
        AutoHideButtonCheckable = ...
        AutoHideSideBarsIconOnly = ...
        AutoHideShowOnMouseOver = ...
        AutoHideCloseButtonCollapsesDock = ...
        AutoHideHasCloseButton = ...
        AutoHideHasMinimizeButton = ...
        AutoHideOpenOnDragHover = ...
        AutoHideCloseOnOutsideMouseClick = ...
        DefaultAutoHideConfig = ...

    class eConfigFlag(enum.Enum):
        ActiveTabHasCloseButton = ...
        DockAreaHasCloseButton = ...
        DockAreaCloseButtonClosesTab = ...
        OpaqueSplitterResize = ...
        XmlAutoFormattingEnabled = ...
        XmlCompressionEnabled = ...
        TabCloseButtonIsToolButton = ...
        AllTabsHaveCloseButton = ...
        RetainTabSizeWhenCloseButtonHidden = ...
        DragPreviewIsDynamic = ...
        DragPreviewShowsContentPixmap = ...
        DragPreviewHasWindowFrame = ...
        AlwaysShowTabs = ...
        DockAreaHasUndockButton = ...
        DockAreaHasTabsMenuButton = ...
        DockAreaHideDisabledButtons = ...
        DockAreaDynamicTabsMenuButtonVisibility = ...
        FloatingContainerHasWidgetTitle = ...
        FloatingContainerHasWidgetIcon = ...
        HideSingleCentralWidgetTitleBar = ...
        FocusHighlighting = ...
        EqualSplitOnInsertion = ...
        FloatingContainerForceNativeTitleBar = ...
        FloatingContainerForceQWidgetTitleBar = ...
        MiddleMouseButtonClosesTab = ...
        DisableTabTextEliding = ...
        ShowTabTextOnlyForActiveTab = ...
        DoubleClickUndocksWidget = ...
        DefaultDockAreaButtons = ...
        DefaultBaseConfig = ...
        DefaultOpaqueConfig = ...
        DefaultNonOpaqueConfig = ...
        NonOpaqueWithWindowFrame = ...

    class eViewMenuInsertionOrder(enum.Enum):
        MenuSortedByInsertion = ...
        MenuAlphabeticallySorted = ...

    def __init__(self, parent: typing.Optional[QtWidgets.QWidget] = ...) -> None: ...

    focusedDockWidgetChanged: typing.ClassVar[Signal]
    dockWidgetRemoved: typing.ClassVar[Signal]
    dockWidgetAboutToBeRemoved: typing.ClassVar[Signal]
    dockWidgetAdded: typing.ClassVar[Signal]
    dockAreaCreated: typing.ClassVar[Signal]
    floatingWidgetCreated: typing.ClassVar[Signal]
    perspectiveOpened: typing.ClassVar[Signal]
    openingPerspective: typing.ClassVar[Signal]
    stateRestored: typing.ClassVar[Signal]
    restoringState: typing.ClassVar[Signal]
    perspectivesRemoved: typing.ClassVar[Signal]
    perspectiveListLoaded: typing.ClassVar[Signal]
    perspectiveListChanged: typing.ClassVar[Signal]
    def hideManagerAndFloatingWidgets(self) -> None: ...
    def setDockWidgetFocused(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def openPerspective(self, PerspectiveName: typing.Optional[str]) -> None: ...
    def endLeavingMinimizedState(self) -> None: ...
    def lockDockWidgetFeaturesGlobally(
        self, Features: CDockWidget.DockWidgetFeature = ...
    ) -> None: ...
    def globallyLockedDockWidgetFeatures(self) -> CDockWidget.DockWidgetFeature: ...
    def dockWidgetToolBarIconSize(self, State: CDockWidget.eState) -> QtCore.QSize: ...
    def setDockWidgetToolBarIconSize(
        self, IconSize: QtCore.QSize, State: CDockWidget.eState
    ) -> None: ...
    def dockWidgetToolBarStyle(self, State: CDockWidget.eState) -> QtCore.Qt.ToolButtonStyle: ...
    def setDockWidgetToolBarStyle(
        self, Style: QtCore.Qt.ToolButtonStyle, State: CDockWidget.eState
    ) -> None: ...
    @staticmethod
    def floatingContainersTitle() -> str: ...
    @staticmethod
    def setFloatingContainersTitle(Title: typing.Optional[str]) -> None: ...
    def setSplitterSizes(
        self,
        ContainedArea: typing.Optional["CDockAreaWidget"],
        sizes: collections.abc.Iterable[int],
    ) -> None: ...
    def splitterSizes(self, ContainedArea: typing.Optional["CDockAreaWidget"]) -> list[int]: ...
    def focusedDockWidget(self) -> typing.Optional["CDockWidget"]: ...
    @staticmethod
    def startDragDistance() -> int: ...
    def isLeavingMinimizedState(self) -> bool: ...
    def isRestoringState(self) -> bool: ...
    def setViewMenuInsertionOrder(self, Order: "CDockManager.eViewMenuInsertionOrder") -> None: ...
    def viewMenu(self) -> typing.Optional[QtWidgets.QMenu]: ...
    def addToggleViewActionToMenu(
        self,
        ToggleViewAction: typing.Optional[QtGui.QAction],
        Group: typing.Optional[str] = ...,
        GroupIcon: QtGui.QIcon = ...,
    ) -> typing.Optional[QtGui.QAction]: ...
    def setCentralWidget(
        self, widget: typing.Optional["CDockWidget"]
    ) -> typing.Optional["CDockAreaWidget"]: ...
    def centralWidget(self) -> typing.Optional["CDockWidget"]: ...
    def loadPerspectives(self, Settings: QtCore.QSettings) -> None: ...
    def savePerspectives(self, Settings: QtCore.QSettings) -> None: ...
    def perspectiveNames(self) -> list[str]: ...
    def removePerspectives(self, Names: collections.abc.Iterable[typing.Optional[str]]) -> None: ...
    def removePerspective(self, Name: typing.Optional[str]) -> None: ...
    def addPerspective(self, UniquePrespectiveName: typing.Optional[str]) -> None: ...
    def restoreState(
        self,
        state: typing.Union[QtCore.QByteArray, bytes, bytearray, memoryview],
        version: int = ...,
    ) -> bool: ...
    def saveState(self, version: int = ...) -> QtCore.QByteArray: ...
    def zOrderIndex(self) -> int: ...
    def floatingWidgets(self) -> list["CFloatingDockContainer"]: ...
    def dockContainers(self) -> list["CDockContainerWidget"]: ...
    def dockWidgetsMap(self) -> dict[str, CDockWidget]: ...
    def removeDockWidget(self, Dockwidget: typing.Optional["CDockWidget"]) -> None: ...
    def findDockWidget(
        self, ObjectName: typing.Optional[str]
    ) -> typing.Optional["CDockWidget"]: ...
    def addDockWidgetFloating(
        self, DockWidget: typing.Optional["CDockWidget"]
    ) -> typing.Optional["CFloatingDockContainer"]: ...
    def addDockWidgetTabToArea(
        self,
        Dockwidget: typing.Optional["CDockWidget"],
        DockAreaWidget: typing.Optional["CDockAreaWidget"],
        Index: int = ...,
    ) -> typing.Optional["CDockAreaWidget"]: ...
    def addDockWidgetTab(
        self, area: "DockWidgetArea", Dockwidget: typing.Optional["CDockWidget"]
    ) -> typing.Optional["CDockAreaWidget"]: ...
    def addAutoHideDockWidgetToContainer(
        self,
        Location: "SideBarLocation",
        Dockwidget: typing.Optional["CDockWidget"],
        DockContainerWidget: typing.Optional["CDockContainerWidget"],
    ) -> typing.Optional["CAutoHideDockContainer"]: ...
    def addAutoHideDockWidget(
        self, Location: "SideBarLocation", Dockwidget: typing.Optional["CDockWidget"]
    ) -> typing.Optional["CAutoHideDockContainer"]: ...
    def addDockWidgetToContainer(
        self,
        area: "DockWidgetArea",
        Dockwidget: typing.Optional["CDockWidget"],
        DockContainerWidget: typing.Optional["CDockContainerWidget"] = ...,
    ) -> typing.Optional["CDockAreaWidget"]: ...
    def addDockWidget(
        self,
        area: "DockWidgetArea",
        Dockwidget: typing.Optional["CDockWidget"],
        DockAreaWidget: typing.Optional["CDockAreaWidget"] = ...,
        Index: int = ...,
    ) -> typing.Optional["CDockAreaWidget"]: ...
    @staticmethod
    def iconProvider() -> "CIconProvider": ...
    @staticmethod
    def configParam(Param: "CDockManager.eConfigParam", Default: typing.Any) -> typing.Any: ...
    @staticmethod
    def setConfigParam(Param: "CDockManager.eConfigParam", Value: typing.Any) -> None: ...
    @staticmethod
    def testAutoHideConfigFlag(Flag: "CDockManager.eAutoHideFlag") -> bool: ...
    @staticmethod
    def setAutoHideConfigFlag(Flag: "CDockManager.eAutoHideFlag", On: bool = ...) -> None: ...
    @staticmethod
    def setAutoHideConfigFlags(Flags: "CDockManager.eAutoHideFlag") -> None: ...
    @staticmethod
    def autoHideConfigFlags() -> "CDockManager.eAutoHideFlag": ...
    @staticmethod
    def testConfigFlag(Flag: "CDockManager.eConfigFlag") -> bool: ...
    @staticmethod
    def setConfigFlag(Flag: "CDockManager.eConfigFlag", On: bool = ...) -> None: ...
    @staticmethod
    def setConfigFlags(Flags: "CDockManager.eConfigFlag") -> None: ...
    @staticmethod
    def configFlags() -> "CDockManager.eConfigFlag": ...
    def setComponentsFactory(self, Factory: typing.Optional["CDockComponentsFactory"]) -> None: ...
    def componentsFactory(self) -> typing.Optional["CDockComponentsFactory"]: ...
    def createDockWidget(
        self, title: typing.Optional[str], parent: typing.Optional[QtWidgets.QWidget] = ...
    ) -> typing.Optional["CDockWidget"]: ...
    def showEvent(self, event: typing.Optional[QtGui.QShowEvent]) -> None: ...
    def notifyFloatingWidgetDrop(
        self, FloatingWidget: typing.Optional["CFloatingDockContainer"]
    ) -> None: ...
    def notifyWidgetOrAreaRelocation(
        self, RelocatedWidget: typing.Optional[QtWidgets.QWidget]
    ) -> None: ...
    def dockAreaOverlay(self) -> typing.Optional["CDockOverlay"]: ...
    def containerOverlay(self) -> typing.Optional["CDockOverlay"]: ...
    def removeDockContainer(
        self, DockContainer: typing.Optional["CDockContainerWidget"]
    ) -> None: ...
    def registerDockContainer(
        self, DockContainer: typing.Optional["CDockContainerWidget"]
    ) -> None: ...
    def removeFloatingWidget(
        self, FloatingWidget: typing.Optional["CFloatingDockContainer"]
    ) -> None: ...
    def registerFloatingWidget(
        self, FloatingWidget: typing.Optional["CFloatingDockContainer"]
    ) -> None: ...

class CDockOverlay(QtWidgets.QFrame):
    class eMode(enum.Enum):
        ModeDockAreaOverlay = ...
        ModeContainerOverlay = ...

    def __init__(
        self, parent: typing.Optional[QtWidgets.QWidget], Mode: "CDockOverlay.eMode" = ...
    ) -> None: ...
    def hideEvent(self, e: typing.Optional[QtGui.QHideEvent]) -> None: ...
    def showEvent(self, e: typing.Optional[QtGui.QShowEvent]) -> None: ...
    def paintEvent(self, e: typing.Optional[QtGui.QPaintEvent]) -> None: ...
    def event(self, e: typing.Optional[QtCore.QEvent]) -> bool: ...
    def dropOverlayRect(self) -> QtCore.QRect: ...
    def dropPreviewEnabled(self) -> bool: ...
    def enableDropPreview(self, Enable: bool) -> None: ...
    def hideOverlay(self) -> None: ...
    def showOverlay(self, target: typing.Optional[QtWidgets.QWidget]) -> "DockWidgetArea": ...
    def visibleDropAreaUnderCursor(self) -> "DockWidgetArea": ...
    def tabIndexUnderCursor(self) -> int: ...
    def dropAreaUnderCursor(self) -> "DockWidgetArea": ...
    def allowedAreas(self) -> "DockWidgetArea": ...
    def setAllowedArea(self, area: "DockWidgetArea", Enable: bool) -> None: ...
    def setAllowedAreas(self, areas: "DockWidgetArea") -> None: ...

class CDockOverlayCross(QtWidgets.QWidget):
    class eIconColor(enum.Enum):
        FrameColor = ...
        WindowBackgroundColor = ...
        OverlayColor = ...
        ArrowColor = ...
        ShadowColor = ...

    def __init__(self, overlay: typing.Optional["CDockOverlay"]) -> None: ...
    def setIconColors(self, Colors: typing.Optional[str]) -> None: ...
    def updatePosition(self) -> None: ...
    def reset(self) -> None: ...
    def updateOverlayIcons(self) -> None: ...
    def setupOverlayCross(self, Mode: "CDockOverlay.eMode") -> None: ...
    def cursorLocation(self) -> "DockWidgetArea": ...
    def setIconColor(
        self,
        ColorIndex: "CDockOverlayCross.eIconColor",
        Color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor, int],
    ) -> None: ...
    def setAreaWidgets(self, widgets: dict["DockWidgetArea", QtWidgets.QWidget]) -> None: ...
    def showEvent(self, e: typing.Optional[QtGui.QShowEvent]) -> None: ...
    def setIconShadowColor(
        self, Color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor, int]
    ) -> None: ...
    def setIconArrowColor(
        self, Color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor, int]
    ) -> None: ...
    def setIconOverlayColor(
        self, Color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor, int]
    ) -> None: ...
    def setIconBackgroundColor(
        self, Color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor, int]
    ) -> None: ...
    def setIconFrameColor(
        self, Color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor, int]
    ) -> None: ...
    @typing.overload
    def iconColor(self) -> QtGui.QColor: ...
    @typing.overload
    def iconColor(self, ColorIndex: "CDockOverlayCross.eIconColor") -> QtGui.QColor: ...
    def iconColors(self) -> str: ...

class CDockSplitter(QtWidgets.QSplitter):
    @typing.overload
    def __init__(self, parent: typing.Optional[QtWidgets.QWidget] = ...) -> None: ...
    @typing.overload
    def __init__(
        self, orientation: QtCore.Qt.Orientation, parent: typing.Optional[QtWidgets.QWidget] = ...
    ) -> None: ...
    def isResizingWithContainer(self) -> bool: ...
    def lastWidget(self) -> typing.Optional[QtWidgets.QWidget]: ...
    def firstWidget(self) -> typing.Optional[QtWidgets.QWidget]: ...
    def hasVisibleContent(self) -> bool: ...

class CDockWidgetTab(QtWidgets.QFrame):
    def __init__(
        self,
        DockWidget: typing.Optional["CDockWidget"],
        parent: typing.Optional[QtWidgets.QWidget] = ...,
    ) -> None: ...

    elidedChanged: typing.ClassVar[Signal]
    moved: typing.ClassVar[Signal]
    closeOtherTabsRequested: typing.ClassVar[Signal]
    closeRequested: typing.ClassVar[Signal]
    clicked: typing.ClassVar[Signal]
    activeTabChanged: typing.ClassVar[Signal]
    def setVisible(self, visible: bool) -> None: ...
    def buildContextMenu(
        self, menu: typing.Optional[QtWidgets.QMenu] = ...
    ) -> typing.Optional[QtWidgets.QMenu]: ...
    def dragState(self) -> "eDragState": ...
    def setIconSize(self, Size: QtCore.QSize) -> None: ...
    def iconSize(self) -> QtCore.QSize: ...
    def updateStyle(self) -> None: ...
    def setElideMode(self, mode: QtCore.Qt.TextElideMode) -> None: ...
    def event(self, e: typing.Optional[QtCore.QEvent]) -> bool: ...
    def isClosable(self) -> bool: ...
    def isTitleElided(self) -> bool: ...
    def setText(self, title: typing.Optional[str]) -> None: ...
    def text(self) -> str: ...
    def icon(self) -> QtGui.QIcon: ...
    def setIcon(self, Icon: QtGui.QIcon) -> None: ...
    def dockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def dockAreaWidget(self) -> typing.Optional["CDockAreaWidget"]: ...
    def setDockAreaWidget(self, DockArea: typing.Optional["CDockAreaWidget"]) -> None: ...
    def setActiveTab(self, active: bool) -> None: ...
    def isActiveTab(self) -> bool: ...
    def mouseDoubleClickEvent(self, event: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def contextMenuEvent(self, ev: typing.Optional[QtGui.QContextMenuEvent]) -> None: ...
    def mouseMoveEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mouseReleaseEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mousePressEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...

class CElidingLabel(QtWidgets.QLabel):
    @typing.overload
    def __init__(
        self, parent: typing.Optional[QtWidgets.QWidget] = ..., f: QtCore.Qt.WindowType = ...
    ) -> None: ...
    @typing.overload
    def __init__(
        self,
        text: typing.Optional[str],
        parent: typing.Optional[QtWidgets.QWidget] = ...,
        f: QtCore.Qt.WindowType = ...,
    ) -> None: ...

    elidedChanged: typing.ClassVar[Signal]
    doubleClicked: typing.ClassVar[Signal]
    clicked: typing.ClassVar[Signal]
    def text(self) -> str: ...
    def setText(self, text: typing.Optional[str]) -> None: ...
    def sizeHint(self) -> QtCore.QSize: ...
    def minimumSizeHint(self) -> QtCore.QSize: ...
    def isElided(self) -> bool: ...
    def setElideMode(self, mode: QtCore.Qt.TextElideMode) -> None: ...
    def elideMode(self) -> QtCore.Qt.TextElideMode: ...
    def mouseDoubleClickEvent(self, ev: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def resizeEvent(self, event: typing.Optional[QtGui.QResizeEvent]) -> None: ...
    def mouseReleaseEvent(self, event: typing.Optional[QtGui.QMouseEvent]) -> None: ...

class IFloatingWidget:
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: "IFloatingWidget") -> None: ...
    def finishDragging(self) -> None: ...
    def moveFloating(self) -> None: ...
    def startFloating(
        self,
        DragStartMousePos: QtCore.QPoint,
        Size: QtCore.QSize,
        DragState: "eDragState",
        MouseEventHandler: typing.Optional[QtWidgets.QWidget],
    ) -> None: ...

class CFloatingDockContainer(QtWidgets.QWidget, IFloatingWidget):
    @typing.overload
    def __init__(self, DockManager: typing.Optional["CDockManager"]) -> None: ...
    @typing.overload
    def __init__(self, DockArea: typing.Optional["CDockAreaWidget"]) -> None: ...
    @typing.overload
    def __init__(self, DockWidget: typing.Optional["CDockWidget"]) -> None: ...
    def finishDropOperation(self) -> None: ...
    def dockWidgets(self) -> list["CDockWidget"]: ...
    def topLevelDockWidget(self) -> typing.Optional["CDockWidget"]: ...
    def hasTopLevelDockWidget(self) -> bool: ...
    def isClosable(self) -> bool: ...
    def startDragging(
        self,
        DragStartMousePos: QtCore.QPoint,
        Size: QtCore.QSize,
        MouseEventHandler: typing.Optional[QtWidgets.QWidget],
    ) -> None: ...
    def dockContainer(self) -> typing.Optional["CDockContainerWidget"]: ...
    def moveEvent(self, event: typing.Optional[QtGui.QMoveEvent]) -> None: ...
    def event(self, e: typing.Optional[QtCore.QEvent]) -> bool: ...
    def showEvent(self, event: typing.Optional[QtGui.QShowEvent]) -> None: ...
    def hideEvent(self, event: typing.Optional[QtGui.QHideEvent]) -> None: ...
    def closeEvent(self, event: typing.Optional[QtGui.QCloseEvent]) -> None: ...
    def changeEvent(self, event: typing.Optional[QtCore.QEvent]) -> None: ...
    def updateWindowTitle(self) -> None: ...
    def restoreState(self, Stream: "CDockingStateReader", Testing: bool) -> bool: ...
    def moveFloating(self) -> None: ...
    def initFloatingGeometry(
        self, DragStartMousePos: QtCore.QPoint, Size: QtCore.QSize
    ) -> None: ...
    def deleteContent(self) -> None: ...
    def finishDragging(self) -> None: ...
    def startFloating(
        self,
        DragStartMousePos: QtCore.QPoint,
        Size: QtCore.QSize,
        DragState: "eDragState",
        MouseEventHandler: typing.Optional[QtWidgets.QWidget],
    ) -> None: ...

class CFloatingDragPreview(QtWidgets.QWidget, IFloatingWidget):
    @typing.overload
    def __init__(
        self,
        Content: typing.Optional[QtWidgets.QWidget],
        parent: typing.Optional[QtWidgets.QWidget],
    ) -> None: ...
    @typing.overload
    def __init__(self, Content: typing.Optional["CDockWidget"]) -> None: ...
    @typing.overload
    def __init__(self, Content: typing.Optional["CDockAreaWidget"]) -> None: ...

    draggingCanceled: typing.ClassVar[Signal]
    def cleanupAutoHideContainerWidget(self, ContainerDropArea: "DockWidgetArea") -> None: ...
    def finishDragging(self) -> None: ...
    def moveFloating(self) -> None: ...
    def startFloating(
        self,
        DragStartMousePos: QtCore.QPoint,
        Size: QtCore.QSize,
        DragState: "eDragState",
        MouseEventHandler: typing.Optional[QtWidgets.QWidget],
    ) -> None: ...
    def eventFilter(
        self, watched: typing.Optional[QtCore.QObject], event: typing.Optional[QtCore.QEvent]
    ) -> bool: ...
    def paintEvent(self, e: typing.Optional[QtGui.QPaintEvent]) -> None: ...

class CIconProvider:
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, a0: CIconProvider) -> None: ...
    def registerCustomIcon(self, IconId: "eIcon", icon: QtGui.QIcon) -> None: ...
    def customIcon(self, IconId: "eIcon") -> QtGui.QIcon: ...

class CResizeHandle(QtWidgets.QFrame):
    def __init__(
        self, HandlePosition: QtCore.Qt.Edge, parent: typing.Optional[QtWidgets.QWidget]
    ) -> None: ...
    def opaqueResize(self) -> bool: ...
    def setOpaqueResize(self, opaque: bool = ...) -> None: ...
    def setMaxResizeSize(self, MaxSize: int) -> None: ...
    def setMinResizeSize(self, MinSize: int) -> None: ...
    def isResizing(self) -> bool: ...
    def sizeHint(self) -> QtCore.QSize: ...
    def orientation(self) -> QtCore.Qt.Orientation: ...
    def handlePostion(self) -> QtCore.Qt.Edge: ...
    def setHandlePosition(self, HandlePosition: QtCore.Qt.Edge) -> None: ...
    def mouseReleaseEvent(self, a0: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mousePressEvent(self, a0: typing.Optional[QtGui.QMouseEvent]) -> None: ...
    def mouseMoveEvent(self, a0: typing.Optional[QtGui.QMouseEvent]) -> None: ...
