# -*- coding: utf-8 -*-

"""
***************************************************************************
    __init__.py
    ---------------------
    Date                 : May 2014
    Copyright            : (C) 2014 by Nathan Woodrow
    Email                : woodrow dot nathan at gmail dot com
***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
***************************************************************************
"""

__author__ = 'Nathan Woodrow'
__date__ = 'May 2014'
__copyright__ = '(C) 2014, Nathan Woodrow'

from qgis.PyQt import QtCore
from qgis._gui import *
from qgis.core import Qgis as _Qgis
from .additions.qgssettingsenumflageditorwrapper import PyQgsSettingsEnumEditorWidgetWrapper

"""
This folder is completed using sipify.py script
It is not aimed to be manually edited
"""
# The following has been generated automatically from src/gui/symbology/characterwidget.h
try:
    CharacterWidget.__attribute_docs__ = {'characterSelected': 'Emitted when a character is selected in the widget.\n'}
    CharacterWidget.__signal_arguments__ = {'characterSelected': ['character: QChar']}
    CharacterWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgisinterface.h
try:
    QgisInterface.__attribute_docs__ = {'currentLayerChanged': 'Emitted whenever current (selected) layer changes.\nThe pointer to layer can be ``None`` if no layer is selected.\n', 'currentThemeChanged': 'Emitted when the current ``theme`` is changed so plugins\ncan change their tool button icons.\n', 'layoutDesignerOpened': 'Emitted when a new layout ``designer`` has been opened.\n\n.. seealso:: :py:func:`layoutDesignerWillBeClosed`\n', 'layoutDesignerWillBeClosed': 'Emitted before a layout ``designer`` is going to be closed\nand deleted.\n\n.. seealso:: :py:func:`layoutDesignerClosed`\n\n.. seealso:: :py:func:`layoutDesignerOpened`\n', 'layoutDesignerClosed': 'Emitted after a layout designer window is closed.\n\n.. seealso:: :py:func:`layoutDesignerWillBeClosed`\n\n.. seealso:: :py:func:`layoutDesignerOpened`\n', 'initializationCompleted': 'Emitted when the initialization is complete.\n', 'projectRead': 'Emitted when a project file is successfully read.\n\n.. note::\n\n   This is useful for plugins that store properties with project files.\n   A plugin can connect to this signal. When it is emitted the plugin\n   knows to then check the project properties for any relevant state.\n', 'newProjectCreated': "Emitted when starting an entirely new project.\n\n.. note::\n\n   This is similar to :py:func:`~QgisInterface.projectRead`; plugins might want to be notified\n   that they're in a new project. Yes, :py:func:`~QgisInterface.projectRead` could have been\n   overloaded to be used in the case of new projects instead. However,\n   it's probably more semantically correct to have an entirely separate\n   signal for when this happens.\n", 'layerSavedAs': 'Emitted when a layer has been saved using save as.\n'}
    QgisInterface.__signal_arguments__ = {'currentLayerChanged': ['layer: QgsMapLayer'], 'currentThemeChanged': ['theme: str'], 'layoutDesignerOpened': ['designer: QgsLayoutDesignerInterface'], 'layoutDesignerWillBeClosed': ['designer: QgsLayoutDesignerInterface'], 'layerSavedAs': ['l: QgsMapLayer', 'path: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgs25drendererwidget.h
try:
    Qgs25DRendererWidget.create = staticmethod(Qgs25DRendererWidget.create)
    Qgs25DRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/inputcontroller/qgs2dgamepadcontroller.h
try:
    QgsGamepad2DMapController.__attribute_docs__ = {'connectedChanged': 'Emitted when the connection state of the gamepad is changed.\n', 'axisLeftXChanged': "Emitted when the value of the left thumbstick's X axis is changed.\n\n.. seealso:: :py:func:`axisLeftX`\n", 'axisLeftYChanged': "Emitted when the value of the left thumbstick's Y axis is changed.\n\n.. seealso:: :py:func:`axisLeftY`\n", 'axisRightXChanged': "Emitted when the value of the right thumbstick's X axis is changed.\n\n.. seealso:: :py:func:`axisRightX`\n", 'axisRightYChanged': "Emitted when the value of the right thumbstick's Y axis is changed.\n\n.. seealso:: :py:func:`axisRightY`\n", 'buttonAChanged': 'Emitted when the state of the A button is changed.\n\n.. seealso:: :py:func:`buttonA`\n', 'buttonBChanged': 'Emitted when the state of the B button is changed.\n\n.. seealso:: :py:func:`buttonB`\n', 'buttonXChanged': 'Emitted when the state of the X button is changed.\n\n.. seealso:: :py:func:`buttonX`\n', 'buttonYChanged': 'Emitted when the state of the Y button is changed.\n\n.. seealso:: :py:func:`buttonY`\n', 'buttonL1Changed': 'Emitted when the state of the left shoulder button is changed.\n\n.. seealso:: :py:func:`buttonL1`\n', 'buttonR1Changed': 'Emitted when the state of the right shoulder button is changed.\n\n.. seealso:: :py:func:`buttonR1`\n', 'buttonL2Changed': 'Emitted when the state of the left trigger button is changed.\n\n.. seealso:: :py:func:`buttonL2`\n', 'buttonR2Changed': 'Emitted when the state of the right trigger button is changed.\n\n.. seealso:: :py:func:`buttonR2`\n', 'buttonSelectChanged': 'Emitted when the state of the select button is changed.\n\n.. seealso:: :py:func:`buttonSelect`\n', 'buttonStartChanged': 'Emitted when the state of the start button is changed.\n\n.. seealso:: :py:func:`buttonStart`\n', 'buttonL3Changed': 'Emitted when the state of the left stick button is changed.\n\n.. seealso:: :py:func:`buttonL3`\n', 'buttonR3Changed': 'Emitted when the state of the right stick button is changed.\n\n.. seealso:: :py:func:`buttonR3`\n', 'buttonUpChanged': 'Emitted when the state of the direction pad up button is changed.\n\n.. seealso:: :py:func:`buttonUp`\n', 'buttonDownChanged': 'Emitted when the state of the direction pad down button is changed.\n\n.. seealso:: :py:func:`buttonDown`\n', 'buttonLeftChanged': 'Emitted when the state of the direction pad left button is changed.\n\n.. seealso:: :py:func:`buttonLeft`\n', 'buttonRightChanged': 'Emitted when the state of the direction pad right button is changed.\n\n.. seealso:: :py:func:`buttonRight`\n', 'buttonCenterChanged': 'Emitted when the state of the center button is changed.\n\n.. seealso:: :py:func:`buttonCenter`\n', 'buttonGuideChanged': 'Emitted when the state of the guide button is changed.\n\n.. seealso:: :py:func:`buttonCenter`\n'}
    QgsGamepad2DMapController.__signal_arguments__ = {'connectedChanged': ['value: bool'], 'axisLeftXChanged': ['value: float'], 'axisLeftYChanged': ['value: float'], 'axisRightXChanged': ['value: float'], 'axisRightYChanged': ['value: float'], 'buttonAChanged': ['value: bool'], 'buttonBChanged': ['value: bool'], 'buttonXChanged': ['value: bool'], 'buttonYChanged': ['value: bool'], 'buttonL1Changed': ['value: bool'], 'buttonR1Changed': ['value: bool'], 'buttonL2Changed': ['value: float'], 'buttonR2Changed': ['value: float'], 'buttonSelectChanged': ['value: bool'], 'buttonStartChanged': ['value: bool'], 'buttonL3Changed': ['value: bool'], 'buttonR3Changed': ['value: bool'], 'buttonUpChanged': ['value: bool'], 'buttonDownChanged': ['value: bool'], 'buttonLeftChanged': ['value: bool'], 'buttonRightChanged': ['value: bool'], 'buttonCenterChanged': ['value: bool'], 'buttonGuideChanged': ['value: bool']}
    QgsGamepad2DMapController.__group__ = ['inputcontroller']
except NameError:
    pass
# The following has been generated automatically from src/gui/inputcontroller/qgs2dmapcontroller.h
try:
    QgsAbstract2DMapController.__group__ = ['inputcontroller']
except NameError:
    pass
# The following has been generated automatically from src/gui/inputcontroller/qgs3dgamepadcontroller.h
try:
    QgsGamepad3DMapController.__attribute_docs__ = {'connectedChanged': 'Emitted when the connection state of the gamepad is changed.\n', 'axisLeftXChanged': "Emitted when the value of the left thumbstick's X axis is changed.\n\n.. seealso:: :py:func:`axisLeftX`\n", 'axisLeftYChanged': "Emitted when the value of the left thumbstick's Y axis is changed.\n\n.. seealso:: :py:func:`axisLeftY`\n", 'axisRightXChanged': "Emitted when the value of the right thumbstick's X axis is changed.\n\n.. seealso:: :py:func:`axisRightX`\n", 'axisRightYChanged': "Emitted when the value of the right thumbstick's Y axis is changed.\n\n.. seealso:: :py:func:`axisRightY`\n", 'buttonAChanged': 'Emitted when the state of the A button is changed.\n\n.. seealso:: :py:func:`buttonA`\n', 'buttonBChanged': 'Emitted when the state of the B button is changed.\n\n.. seealso:: :py:func:`buttonB`\n', 'buttonXChanged': 'Emitted when the state of the X button is changed.\n\n.. seealso:: :py:func:`buttonX`\n', 'buttonYChanged': 'Emitted when the state of the Y button is changed.\n\n.. seealso:: :py:func:`buttonY`\n', 'buttonL1Changed': 'Emitted when the state of the left shoulder button is changed.\n\n.. seealso:: :py:func:`buttonL1`\n', 'buttonR1Changed': 'Emitted when the state of the right shoulder button is changed.\n\n.. seealso:: :py:func:`buttonR1`\n', 'buttonL2Changed': 'Emitted when the state of the left trigger button is changed.\n\n.. seealso:: :py:func:`buttonL2`\n', 'buttonR2Changed': 'Emitted when the state of the right trigger button is changed.\n\n.. seealso:: :py:func:`buttonR2`\n', 'buttonSelectChanged': 'Emitted when the state of the select button is changed.\n\n.. seealso:: :py:func:`buttonSelect`\n', 'buttonStartChanged': 'Emitted when the state of the start button is changed.\n\n.. seealso:: :py:func:`buttonStart`\n', 'buttonL3Changed': 'Emitted when the state of the left stick button is changed.\n\n.. seealso:: :py:func:`buttonL3`\n', 'buttonR3Changed': 'Emitted when the state of the right stick button is changed.\n\n.. seealso:: :py:func:`buttonR3`\n', 'buttonUpChanged': 'Emitted when the state of the direction pad up button is changed.\n\n.. seealso:: :py:func:`buttonUp`\n', 'buttonDownChanged': 'Emitted when the state of the direction pad down button is changed.\n\n.. seealso:: :py:func:`buttonDown`\n', 'buttonLeftChanged': 'Emitted when the state of the direction pad left button is changed.\n\n.. seealso:: :py:func:`buttonLeft`\n', 'buttonRightChanged': 'Emitted when the state of the direction pad right button is changed.\n\n.. seealso:: :py:func:`buttonRight`\n', 'buttonCenterChanged': 'Emitted when the state of the center button is changed.\n\n.. seealso:: :py:func:`buttonCenter`\n', 'buttonGuideChanged': 'Emitted when the state of the guide button is changed.\n\n.. seealso:: :py:func:`buttonCenter`\n'}
    QgsGamepad3DMapController.__signal_arguments__ = {'connectedChanged': ['value: bool'], 'axisLeftXChanged': ['value: float'], 'axisLeftYChanged': ['value: float'], 'axisRightXChanged': ['value: float'], 'axisRightYChanged': ['value: float'], 'buttonAChanged': ['value: bool'], 'buttonBChanged': ['value: bool'], 'buttonXChanged': ['value: bool'], 'buttonYChanged': ['value: bool'], 'buttonL1Changed': ['value: bool'], 'buttonR1Changed': ['value: bool'], 'buttonL2Changed': ['value: float'], 'buttonR2Changed': ['value: float'], 'buttonSelectChanged': ['value: bool'], 'buttonStartChanged': ['value: bool'], 'buttonL3Changed': ['value: bool'], 'buttonR3Changed': ['value: bool'], 'buttonUpChanged': ['value: bool'], 'buttonDownChanged': ['value: bool'], 'buttonLeftChanged': ['value: bool'], 'buttonRightChanged': ['value: bool'], 'buttonCenterChanged': ['value: bool'], 'buttonGuideChanged': ['value: bool']}
    QgsGamepad3DMapController.__group__ = ['inputcontroller']
except NameError:
    pass
# The following has been generated automatically from src/gui/inputcontroller/qgs3dmapcontroller.h
try:
    QgsAbstract3DMapController.__group__ = ['inputcontroller']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgs3dsymbolwidget.h
try:
    Qgs3DSymbolWidget.__attribute_docs__ = {'changed': 'Emitted when the symbol is changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsabstractdatasourcewidget.h
try:
    QgsAbstractDataSourceWidget.__attribute_docs__ = {'connectionsChanged': "Emitted when the provider's connections have changed\nThis signal is normally forwarded the app and used to refresh browser items\n", 'addDatabaseLayers': 'Emitted when a DB layer has been selected for addition\n', 'addRasterLayer': 'Emitted when a raster layer has been selected for addition\n\n.. deprecated:: 3.40\n\n   Use :py:func:`~QgsAbstractDataSourceWidget.addLayer` instead.\n', 'addRasterLayers': 'Emitted when one or more GDAL supported layers are selected for addition\n\n:param layersList: list of layers protocol URIs\n\n.. versionadded:: 3.20\n', 'addVectorLayer': 'Emitted when a vector layer has been selected for addition.\n\nIf ``providerKey`` is not specified, the default provider key associated with the source\nwill be used.\n\n.. deprecated:: 3.40\n\n   Use :py:func:`~QgsAbstractDataSourceWidget.addLayer` instead.\n', 'addMeshLayer': 'Emitted when a mesh layer has been selected for addition.\n\n.. deprecated:: 3.40\n\n   Use :py:func:`~QgsAbstractDataSourceWidget.addLayer` instead.\n', 'addVectorTileLayer': 'Emitted when a vector tile layer has been selected for addition.\n\n.. deprecated:: 3.40\n\n   Use :py:func:`~QgsAbstractDataSourceWidget.addLayer` instead.\n', 'addPointCloudLayer': 'Emitted when a point cloud layer has been selected for addition.\n\n.. deprecated:: 3.40\n\n   Use :py:func:`~QgsAbstractDataSourceWidget.addLayer` instead.\n', 'addLayer': 'Emitted when a layer has been selected for addition.\n\nThis is a generic method, intended for replacing the specific layer type signals implemented above.\n\n.. warning::\n\n   For QGIS versions < 4.x, the specific layer type added signals must be emitted for vector, raster,\n   mesh, vector tile and point cloud layers in addition to this signal.\n\n.. versionadded:: 3.34\n', 'addVectorLayers': 'Emitted when one or more OGR supported layers are selected for addition\n\n:param layerList: list of layers protocol URIs\n:param encoding: encoding\n:param dataSourceType: string (can be "file" or "database")\n', 'replaceVectorLayer': 'Emitted when a layer needs to be replaced\n\n:param oldId: old layer ID\n:param source: URI of the layer\n:param name: of the layer\n:param provider: key\n', 'progress': 'Emitted when a progress dialog is shown by the provider dialog.\n\n.. deprecated:: 3.4\n\n   This signal is no longer used. Use :py:class:`QgsProxyProgressTask` instead to show progress reports.\n', 'progressMessage': 'Emitted when a progress dialog is shown by the provider dialog\n', 'enableButtons': 'Emitted when the ok/add buttons should be enabled/disabled\n', 'pushMessage': 'Emitted when a ``message`` with ``title`` and ``level`` must be shown to the user using the parent visible message bar\n\n.. versionadded:: 3.14\n'}
    QgsAbstractDataSourceWidget.__signal_arguments__ = {'addDatabaseLayers': ['paths: List[str]', 'providerKey: str'], 'addRasterLayers': ['layersList: List[str]'], 'addLayer': ['type: Qgis.LayerType', 'url: str', 'baseName: str', 'providerKey: str'], 'addVectorLayers': ['layerList: List[str]', 'encoding: str', 'dataSourceType: str'], 'replaceVectorLayer': ['oldId: str', 'source: str', 'name: str', 'provider: str'], 'progressMessage': ['message: str'], 'enableButtons': ['enable: bool'], 'pushMessage': ['title: str', 'message: str', 'level: Qgis.MessageLevel = Qgis.MessageLevel.Info']}
except NameError:
    pass
# The following has been generated automatically from src/gui/providers/qgsabstractdbsourceselect.h
try:
    QgsAbstractDbSourceSelect.__group__ = ['providers']
except NameError:
    pass
# The following has been generated automatically from src/gui/inputcontroller/qgsabstractinputcontroller.h
try:
    QgsAbstractInputController.__group__ = ['inputcontroller']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsabstractmaptoolhandler.h
try:
    QgsAbstractMapToolHandler.Context.__attribute_docs__ = {'dummy': 'Placeholder only'}
    QgsAbstractMapToolHandler.Context.__doc__ = """Context of a QgsAbstractMapToolHandler call.

.. versionadded:: 3.16"""
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsabstractrelationeditorwidget.h
try:
    QgsAbstractRelationEditorWidget.__attribute_docs__ = {'relatedFeaturesChanged': 'Emit this signal, whenever the related features changed.\nThis happens for example when related features are added, removed,\nlinked or unlinked.\n\n.. versionadded:: 3.22\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/actions/qgsactionmenu.h
try:
    QgsActionMenu.__attribute_docs__ = {'reinit': 'Emitted after actions have been reloaded.\n'}
    QgsActionMenu.__group__ = ['actions']
except NameError:
    pass
try:
    QgsActionMenu.ActionData.__group__ = ['actions']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsactionwidgetwrapper.h
try:
    QgsActionWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsadvanceddigitizingdockwidget.h
QgsAdvancedDigitizingDockWidget.CadCapacities.baseClass = QgsAdvancedDigitizingDockWidget
CadCapacities = QgsAdvancedDigitizingDockWidget  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsAdvancedDigitizingDockWidget.__attribute_docs__ = {'pushWarning': 'Push a warning\n\n:param message: An informative message\n', 'popWarning': 'Remove any previously emitted warnings (if any)\n', 'pointChangedV2': 'Sometimes a constraint may change the current point out of a mouse event. This happens normally\nwhen a constraint is toggled.\n\n:param point: The last known digitizing point. Can be used to emulate a mouse event.\n\n.. versionadded:: 3.22\n', 'pointChanged': 'Sometimes a constraint may change the current point out of a mouse event. This happens normally\nwhen a constraint is toggled.\n\n:param point: The last known digitizing point. Can be used to emulate a mouse event.\n\n.. deprecated:: 3.22\n\n   No longer used, will be removed in QGIS 4.0. Use pointChangedV2 instead.\n', 'cadEnabledChanged': 'Emitted whenever CAD is enabled or disabled\n\n:param enabled: Whether CAD is enabled or not\n\n.. note::\n\n   unstable API (will likely change).\n\n.. versionadded:: 3.8\n', 'valueXChanged': 'Emitted whenever the X ``value`` changes (either the mouse moved, or the user changed the input).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'valueYChanged': 'Emitted whenever the Y ``value`` changes (either the mouse moved, or the user changed the input).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'valueZChanged': 'Emitted whenever the Z ``value`` changes (either the mouse moved, or the user changed the input).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'valueMChanged': 'Emitted whenever the M ``value`` changes (either the mouse moved, or the user changed the input).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'valueAngleChanged': 'Emitted whenever the angle ``value`` changes (either the mouse moved, or the user changed the input).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'valueDistanceChanged': 'Emitted whenever the distance ``value`` changes (either the mouse moved, or the user changed the input).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'valueBearingChanged': 'Emitted whenever the bearing ``value`` changes.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.32\n', 'lockXChanged': 'Emitted whenever the X parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'lockYChanged': 'Emitted whenever the Y parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'lockZChanged': 'Emitted whenever the Z parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'lockMChanged': 'Emitted whenever the M parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'lockAngleChanged': 'Emitted whenever the angle parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'lockDistanceChanged': 'Emitted whenever the distance parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'relativeXChanged': 'Emitted whenever the X parameter is toggled between absolute and relative.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param relative: Whether the X parameter is relative or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'relativeYChanged': 'Emitted whenever the Y parameter is toggled between absolute and relative.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param relative: Whether the Y parameter is relative or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'relativeZChanged': 'Emitted whenever the Z parameter is toggled between absolute and relative.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param relative: Whether the Z parameter is relative or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'relativeMChanged': 'Emitted whenever the M parameter is toggled between absolute and relative.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param relative: Whether the M parameter is relative or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'relativeAngleChanged': 'Emitted whenever the angleX parameter is toggled between absolute and relative.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param relative: Whether the angle parameter is relative or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'softLockLineExtensionChanged': 'Emitted whenever the soft line extension parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.26\n', 'softLockXyChanged': 'Emitted whenever the soft x/y extension parameter is ``locked``.\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.26\n', 'enabledChangedX': 'Emitted whenever the X field is enabled or disabled. Depending on the context, some parameters\ndo not make sense (e.g. you need a previous point to define a distance).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param enabled: Whether the X parameter is enabled or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'enabledChangedY': 'Emitted whenever the Y field is enabled or disabled. Depending on the context, some parameters\ndo not make sense (e.g. you need a previous point to define a distance).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param enabled: Whether the Y parameter is enabled or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'enabledChangedZ': 'Emitted whenever the Z field is enabled or disabled. Depending on the context, some parameters\ndo not make sense (e.g. you need a previous point to define a distance).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param enabled: Whether the Z parameter is enabled or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'enabledChangedM': 'Emitted whenever the M field is enabled or disabled. Depending on the context, some parameters\ndo not make sense (e.g. you need a previous point to define a distance).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param enabled: Whether the M parameter is enabled or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'enabledChangedAngle': 'Emitted whenever the angle field is enabled or disabled. Depending on the context, some parameters\ndo not make sense (e.g. you need a previous point to define a distance).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param enabled: Whether the angle parameter is enabled or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'enabledChangedDistance': 'Emitted whenever the distance field is enabled or disabled. Depending on the context, some parameters\ndo not make sense (e.g. you need a previous point to define a distance).\nCould be used by widgets that must reflect the current advanced digitizing state.\n\n:param enabled: Whether the distance parameter is enabled or not.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'focusOnXRequested': 'Emitted whenever the X field should get the focus using the shortcuts (X).\nCould be used by widgets to capture the focus when a field is being edited.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'focusOnYRequested': 'Emitted whenever the Y field should get the focus using the shortcuts (Y).\nCould be used by widgets to capture the focus when a field is being edited.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'focusOnZRequested': 'Emitted whenever the Z field should get the focus using the shortcuts (Z).\nCould be used by widgets to capture the focus when a field is being edited.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'focusOnMRequested': 'Emitted whenever the M field should get the focus using the shortcuts (M).\nCould be used by widgets to capture the focus when a field is being edited.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.22\n', 'focusOnAngleRequested': 'Emitted whenever the angle field should get the focus using the shortcuts (A).\nCould be used by widgets to capture the focus when a field is being edited.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'focusOnDistanceRequested': 'Emitted whenever the distance field should get the focus using the shortcuts (D).\nCould be used by widgets to capture the focus when a field is being edited.\n\n.. note::\n\n   unstable API (will likely change)\n\n.. versionadded:: 3.8\n', 'valueCommonAngleSnappingChanged': 'Emitted whenever the snapping to common angle option changes, angle = 0 means that the functionality is disabled.\n\n.. versionadded:: 3.32\n'}
    QgsAdvancedDigitizingDockWidget.__signal_arguments__ = {'pushWarning': ['message: str'], 'pointChangedV2': ['point: QgsPoint'], 'cadEnabledChanged': ['enabled: bool'], 'valueXChanged': ['value: str'], 'valueYChanged': ['value: str'], 'valueZChanged': ['value: str'], 'valueMChanged': ['value: str'], 'valueAngleChanged': ['value: str'], 'valueDistanceChanged': ['value: str'], 'valueBearingChanged': ['value: str'], 'lockXChanged': ['locked: bool'], 'lockYChanged': ['locked: bool'], 'lockZChanged': ['locked: bool'], 'lockMChanged': ['locked: bool'], 'lockAngleChanged': ['locked: bool'], 'lockDistanceChanged': ['locked: bool'], 'relativeXChanged': ['relative: bool'], 'relativeYChanged': ['relative: bool'], 'relativeZChanged': ['relative: bool'], 'relativeMChanged': ['relative: bool'], 'relativeAngleChanged': ['relative: bool'], 'softLockLineExtensionChanged': ['locked: bool'], 'softLockXyChanged': ['locked: bool'], 'enabledChangedX': ['enabled: bool'], 'enabledChangedY': ['enabled: bool'], 'enabledChangedZ': ['enabled: bool'], 'enabledChangedM': ['enabled: bool'], 'enabledChangedAngle': ['enabled: bool'], 'enabledChangedDistance': ['enabled: bool'], 'valueCommonAngleSnappingChanged': ['angle: float']}
except NameError:
    pass
try:
    QgsAdvancedDigitizingDockWidget.CadConstraint.removeSuffix = staticmethod(QgsAdvancedDigitizingDockWidget.CadConstraint.removeSuffix)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsadvanceddigitizingfloater.h
# monkey patching scoped based enum
QgsAdvancedDigitizingFloater.FloaterItem.XCoordinate.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.YCoordinate.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.MCoordinate.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.ZCoordinate.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.Angle.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.CommonAngleSnapping.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.Distance.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.Bearing.__doc__ = ""
QgsAdvancedDigitizingFloater.FloaterItem.__doc__ = """Available floater items

* ``XCoordinate``: 
* ``YCoordinate``: 
* ``MCoordinate``: 
* ``ZCoordinate``: 
* ``Angle``: 
* ``CommonAngleSnapping``: 
* ``Distance``: 
* ``Bearing``: 

"""
# --
QgsAdvancedDigitizingFloater.FloaterItem.baseClass = QgsAdvancedDigitizingFloater
FloaterItem = QgsAdvancedDigitizingFloater  # dirty hack since SIP seems to introduce the flags in module
# The following has been generated automatically from src/gui/qgsadvanceddigitizingtools.h
try:
    QgsAdvancedDigitizingTool.__attribute_docs__ = {'paintRequested': 'Requests a new painting event to the advanced digitizing canvas item.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsaggregatetoolbutton.h
try:
    QgsAggregateToolButton.__attribute_docs__ = {'aggregateChanged': 'The function name of the selected aggregate has changed.\n', 'activeChanged': 'A function has been selected or deselected.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsalignmentcombobox.h
try:
    QgsAlignmentComboBox.__attribute_docs__ = {'changed': 'Emitted when the alignment is changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/annotations/qgsannotationitemcommonpropertieswidget.h
try:
    QgsAnnotationItemCommonPropertiesWidget.__attribute_docs__ = {'itemChanged': 'Emitted when the annotation item definition in the widget is changed by the user.\n'}
    QgsAnnotationItemCommonPropertiesWidget.__group__ = ['annotations']
except NameError:
    pass
# The following has been generated automatically from src/gui/annotations/qgsannotationitemguiregistry.h
try:
    QgsAnnotationItemGuiGroup.__attribute_docs__ = {'id': 'Unique (untranslated) group ID string.', 'name': 'Translated group name.', 'icon': 'Icon for group.'}
    QgsAnnotationItemGuiGroup.__group__ = ['annotations']
except NameError:
    pass
try:
    QgsAnnotationItemGuiRegistry.__attribute_docs__ = {'typeAdded': 'Emitted whenever a new item type is added to the registry, with the specified\n``metadataId``.\n'}
    QgsAnnotationItemGuiRegistry.__signal_arguments__ = {'typeAdded': ['metadataId: int']}
    QgsAnnotationItemGuiRegistry.__group__ = ['annotations']
except NameError:
    pass
try:
    QgsAnnotationItemAbstractGuiMetadata.__group__ = ['annotations']
except NameError:
    pass
# The following has been generated automatically from src/gui/annotations/qgsannotationitemwidget.h
try:
    QgsAnnotationItemBaseWidget.__attribute_docs__ = {'itemChanged': 'Emitted when the annotation item definition in the widget is changed by the user.\n'}
    QgsAnnotationItemBaseWidget.__group__ = ['annotations']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsarrowsymbollayerwidget.h
try:
    QgsArrowSymbolLayerWidget.create = staticmethod(QgsArrowSymbolLayerWidget.create)
    QgsArrowSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsattributeeditorcontext.h
QgsAttributeEditorContext.Mode.baseClass = QgsAttributeEditorContext
# The following has been generated automatically from src/gui/qgsattributeform.h
try:
    QgsAttributeForm.__attribute_docs__ = {'attributeChanged': 'Notifies about changes of attributes, this signal is not emitted when the value is set\nback to the original one.\n\n:param attribute: The name of the attribute that changed.\n:param value: The new value of the attribute.\n\n.. deprecated:: 3.0\n', 'widgetValueChanged': 'Notifies about changes of attributes\n\n:param attribute: The name of the attribute that changed.\n:param value: The new value of the attribute.\n:param attributeChanged: If ``True``, it corresponds to an actual change of the feature attribute\n', 'featureSaved': 'Emitted when a feature is changed or added\n', 'filterExpressionSet': 'Emitted when a filter expression is set using the form.\n\n:param expression: filter expression\n:param type: filter type\n', 'modeChanged': 'Emitted when the form changes mode.\n\n:param mode: new mode\n', 'closed': "Emitted when the user selects the close option from the form's button bar.\n", 'zoomToFeatures': 'Emitted when the user chooses to zoom to a filtered set of features.\n', 'flashFeatures': 'Emitted when the user chooses to flash a filtered set of features.\n', 'openFilteredFeaturesAttributeTable': 'Emitted when the user chooses to open the attribute table dialog with a filtered set of features.\n\n.. versionadded:: 3.24\n'}
    QgsAttributeForm.__signal_arguments__ = {'widgetValueChanged': ['attribute: str', 'value: object', 'attributeChanged: bool'], 'featureSaved': ['feature: QgsFeature'], 'filterExpressionSet': ['expression: str', 'type: QgsAttributeForm.FilterType'], 'modeChanged': ['mode: QgsAttributeEditorContext.Mode'], 'zoomToFeatures': ['filter: str'], 'flashFeatures': ['filter: str'], 'openFilteredFeaturesAttributeTable': ['filter: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsattributeformeditorwidget.h
try:
    QgsAttributeFormEditorWidget.__attribute_docs__ = {'valueChanged': "Emitted when the widget's value changes\n\n:param value: new widget value\n\n.. deprecated:: 3.10\n\n   Use valuesChanged instead.\n", 'valuesChanged': "Emitted when the widget's value changes\n\n:param value: new widget value\n:param additionalFieldValues: of the potential additional fields\n\n.. versionadded:: 3.10\n"}
    QgsAttributeFormEditorWidget.__signal_arguments__ = {'valueChanged': ['value: object'], 'valuesChanged': ['value: object', 'additionalFieldValues: List[object]']}
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsattributetabledelegate.h
try:
    QgsAttributeTableDelegate.__attribute_docs__ = {'actionColumnItemPainted': 'Emitted when an action column item is painted.\nThe consumer of this signal can initialize the index widget.\n\n.. note::\n\n   This signal is emitted repeatedly whenever the item is being painted.\n   It is the consumers responsibility to check if initialization has already\n   happened before.\n'}
    QgsAttributeTableDelegate.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsattributetablefiltermodel.h
QgsAttributeTableFilterModel.FilterMode.baseClass = QgsAttributeTableFilterModel
QgsAttributeTableFilterModel.ColumnType.baseClass = QgsAttributeTableFilterModel
QgsAttributeTableFilterModel.Role = QgsAttributeTableFilterModel.CustomRole
# monkey patching scoped based enum
QgsAttributeTableFilterModel.TypeRole = QgsAttributeTableFilterModel.CustomRole.Type
QgsAttributeTableFilterModel.Role.TypeRole = QgsAttributeTableFilterModel.CustomRole.Type
QgsAttributeTableFilterModel.TypeRole.is_monkey_patched = True
QgsAttributeTableFilterModel.TypeRole.__doc__ = ""
QgsAttributeTableFilterModel.CustomRole.__doc__ = """The additional roles defined by this filter model.
The values of these roles start just after the roles defined by
:py:class:`QgsAttributeTableModel` so they do not conflict.

.. note::

   Prior to QGIS 3.36 this was available as QgsAttributeTableFilterModel.Role

.. versionadded:: 3.36

* ``Type``: 

  Available as ``QgsAttributeTableFilterModel.TypeRole`` in older QGIS releases.


"""
# --
QgsAttributeTableFilterModel.CustomRole.baseClass = QgsAttributeTableFilterModel
try:
    QgsAttributeTableFilterModel.__attribute_docs__ = {'sortColumnChanged': 'Emitted whenever the sort column is changed\n\n:param column: The sort column\n:param order: The sort order\n', 'featuresFiltered': 'Emitted when the filtering of the features has been done\n', 'visibleReloaded': 'Emitted when the the visible features on extend are reloaded (the list is created)\n', 'filterError': 'Emitted when an error occurred while filtering features\n\n.. versionadded:: 3.18\n'}
    QgsAttributeTableFilterModel.__signal_arguments__ = {'sortColumnChanged': ['column: int', 'order: Qt.SortOrder'], 'filterError': ['errorMessage: str']}
    QgsAttributeTableFilterModel.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsattributetablemodel.h
QgsAttributeTableModel.Role = QgsAttributeTableModel.CustomRole
# monkey patching scoped based enum
QgsAttributeTableModel.FeatureIdRole = QgsAttributeTableModel.CustomRole.FeatureId
QgsAttributeTableModel.Role.FeatureIdRole = QgsAttributeTableModel.CustomRole.FeatureId
QgsAttributeTableModel.FeatureIdRole.is_monkey_patched = True
QgsAttributeTableModel.FeatureIdRole.__doc__ = "Get the feature id of the feature in this row"
QgsAttributeTableModel.FieldIndexRole = QgsAttributeTableModel.CustomRole.FieldIndex
QgsAttributeTableModel.Role.FieldIndexRole = QgsAttributeTableModel.CustomRole.FieldIndex
QgsAttributeTableModel.FieldIndexRole.is_monkey_patched = True
QgsAttributeTableModel.FieldIndexRole.__doc__ = "Get the field index of this column"
QgsAttributeTableModel.UserRole = QgsAttributeTableModel.CustomRole.User
QgsAttributeTableModel.Role.UserRole = QgsAttributeTableModel.CustomRole.User
QgsAttributeTableModel.UserRole.is_monkey_patched = True
QgsAttributeTableModel.UserRole.__doc__ = "Start further roles starting from this role"
QgsAttributeTableModel.SortRole = QgsAttributeTableModel.CustomRole.Sort
QgsAttributeTableModel.Role.SortRole = QgsAttributeTableModel.CustomRole.Sort
QgsAttributeTableModel.SortRole.is_monkey_patched = True
QgsAttributeTableModel.SortRole.__doc__ = "Role used for sorting start here"
QgsAttributeTableModel.CustomRole.__doc__ = """Custom model roles.

.. note::

   Prior to QGIS 3.36 this was available as QgsAttributeTableModel.Role

.. versionadded:: 3.36

* ``FeatureId``: Get the feature id of the feature in this row

  Available as ``QgsAttributeTableModel.FeatureIdRole`` in older QGIS releases.

* ``FieldIndex``: Get the field index of this column

  Available as ``QgsAttributeTableModel.FieldIndexRole`` in older QGIS releases.

* ``User``: Start further roles starting from this role

  Available as ``QgsAttributeTableModel.UserRole`` in older QGIS releases.

* ``Sort``: Role used for sorting start here

  Available as ``QgsAttributeTableModel.SortRole`` in older QGIS releases.


"""
# --
QgsAttributeTableModel.CustomRole.baseClass = QgsAttributeTableModel
try:
    QgsAttributeTableModel.__attribute_docs__ = {'modelChanged': 'Emitted when the model has been changed.\n', 'finished': 'Emitted when the model has completely loaded all features.\n'}
    QgsAttributeTableModel.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsattributetableview.h
try:
    QgsAttributeTableView.__attribute_docs__ = {'willShowContextMenu': 'Emitted in order to provide a hook to add additional* menu entries to the context menu.\n\n:param menu: If additional QMenuItems are added, they will show up in the context menu.\n:param atIndex: The QModelIndex, to which the context menu belongs. Relative to the source model.\n                In most cases, this will be a :py:class:`QgsAttributeTableFilterModel`\n', 'columnResized': 'Emitted when a column in the view has been resized.\n\n:param column: column index (starts at 0)\n:param width: new width in pixel\n', 'finished': '\n.. deprecated:: 3.40\n\n   No longer used.\n'}
    QgsAttributeTableView.__signal_arguments__ = {'willShowContextMenu': ['menu: QMenu', 'atIndex: QModelIndex'], 'columnResized': ['column: int', 'width: int']}
    QgsAttributeTableView.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthauthoritieseditor.h
try:
    QgsAuthAuthoritiesEditor.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthcertificateinfo.h
try:
    QgsAuthCertInfo.__group__ = ['auth']
except NameError:
    pass
try:
    QgsAuthCertInfoDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthcertificatemanager.h
try:
    QgsAuthCertEditors.__group__ = ['auth']
except NameError:
    pass
try:
    QgsAuthCertManager.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthcerttrustpolicycombobox.h
try:
    QgsAuthCertTrustPolicyComboBox.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthconfigeditor.h
try:
    QgsAuthConfigEditor.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthconfigselect.h
try:
    QgsAuthConfigSelect.__attribute_docs__ = {'selectedConfigIdChanged': 'Emitted when authentication config is changed or missing\n', 'selectedConfigIdRemoved': 'Emitted when authentication config is removed\n'}
    QgsAuthConfigSelect.__signal_arguments__ = {'selectedConfigIdChanged': ['authcfg: str'], 'selectedConfigIdRemoved': ['authcfg: str']}
    QgsAuthConfigSelect.__group__ = ['auth']
except NameError:
    pass
try:
    QgsAuthConfigUriEdit.hasConfigId = staticmethod(QgsAuthConfigUriEdit.hasConfigId)
    QgsAuthConfigUriEdit.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsautheditorwidgets.h
try:
    QgsAuthMethodPlugins.__group__ = ['auth']
except NameError:
    pass
try:
    QgsAuthEditorWidgets.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthidentitieseditor.h
try:
    QgsAuthIdentitiesEditor.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthimportcertdialog.h
try:
    QgsAuthImportCertDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthimportidentitydialog.h
try:
    QgsAuthImportIdentityDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthmethodedit.h
try:
    QgsAuthMethodEdit.__attribute_docs__ = {'validityChanged': 'Emitted when the configuration validatity changes\n'}
    QgsAuthMethodEdit.__signal_arguments__ = {'validityChanged': ['valid: bool']}
    QgsAuthMethodEdit.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthserverseditor.h
try:
    QgsAuthServersEditor.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthsettingswidget.h
QgsAuthSettingsWidget.WarningType.baseClass = QgsAuthSettingsWidget
try:
    QgsAuthSettingsWidget.__attribute_docs__ = {'usernameChanged': 'Emitted when the plain text username defined in the dialog is changed.\n\n.. versionadded:: 3.22\n', 'passwordChanged': 'Emitted when the plain text password defined in the dialog is changed.\n\n.. versionadded:: 3.22\n', 'configIdChanged': 'Emitted when the auth configuration ID selected in the dialog is changed.\n\n.. versionadded:: 3.22\n'}
    QgsAuthSettingsWidget.formattedWarning = staticmethod(QgsAuthSettingsWidget.formattedWarning)
    QgsAuthSettingsWidget.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthsslconfigwidget.h
try:
    QgsAuthSslConfigWidget.__attribute_docs__ = {'configEnabledChanged': 'Emitted when the enabled state of the configuration changes\n', 'certFoundInAuthDatabase': 'Emitted when an certificate of same SHA hash is found in authentication database\n', 'hostPortValidityChanged': 'Emitted when the validity of the host:port changes\n', 'readyToSaveChanged': 'Emitted when the configuration can be saved changes\n'}
    QgsAuthSslConfigWidget.__signal_arguments__ = {'configEnabledChanged': ['enabled: bool'], 'certFoundInAuthDatabase': ['found: bool'], 'hostPortValidityChanged': ['valid: bool'], 'readyToSaveChanged': ['cansave: bool']}
    QgsAuthSslConfigWidget.__group__ = ['auth']
except NameError:
    pass
try:
    QgsAuthSslConfigDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthsslerrorsdialog.h
try:
    QgsAuthSslErrorsDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthsslimportdialog.h
try:
    QgsAuthSslImportDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/auth/qgsauthtrustedcasdialog.h
try:
    QgsAuthTrustedCAsDialog.__group__ = ['auth']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsbrowserdockwidget.h
try:
    QgsBrowserDockWidget.__attribute_docs__ = {'openFile': 'Emitted when a file needs to be opened\n', 'handleDropUriList': 'Emitted when drop uri list needs to be handled\n', 'connectionsChanged': 'Connections changed in the browser\n'}
    QgsBrowserDockWidget.__signal_arguments__ = {'openFile': ['fileName: str', 'fileTypeHint: Optional[str] = None'], 'handleDropUriList': ['uris: QgsMimeDataUtils.UriList']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsbrushstylecombobox.h
try:
    QgsBrushStyleComboBox.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/callouts/qgscalloutpanelwidget.h
try:
    QgsCalloutPanelWidget.__attribute_docs__ = {'calloutChanged': 'Emitted when the callout defined by the widget changes\n'}
    QgsCalloutPanelWidget.__group__ = ['callouts']
except NameError:
    pass
# The following has been generated automatically from src/gui/callouts/qgscalloutwidget.h
try:
    QgsCalloutWidget.__attribute_docs__ = {'changed': 'Should be emitted whenever configuration changes happened on this symbol layer configuration.\nIf the subsymbol is changed, :py:func:`~QgsCalloutWidget.symbolChanged` should be emitted instead.\n'}
    QgsCalloutWidget.__group__ = ['callouts']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgscategorizedsymbolrendererwidget.h
QgsCategorizedSymbolRendererWidget.CustomRoles = QgsCategorizedSymbolRendererWidget.CustomRole
# monkey patching scoped based enum
QgsCategorizedSymbolRendererWidget.ValueRole = QgsCategorizedSymbolRendererWidget.CustomRole.Value
QgsCategorizedSymbolRendererWidget.CustomRoles.ValueRole = QgsCategorizedSymbolRendererWidget.CustomRole.Value
QgsCategorizedSymbolRendererWidget.ValueRole.is_monkey_patched = True
QgsCategorizedSymbolRendererWidget.ValueRole.__doc__ = "Category value"
QgsCategorizedSymbolRendererWidget.CustomRole.__doc__ = """Custom model roles.

.. note::

   Prior to QGIS 3.36 this was available as QgsCategorizedSymbolRendererWidget.CustomRoles

.. versionadded:: 3.36

* ``Value``: Category value

  Available as ``QgsCategorizedSymbolRendererWidget.ValueRole`` in older QGIS releases.


"""
# --
QgsCategorizedSymbolRendererWidget.CustomRole.baseClass = QgsCategorizedSymbolRendererWidget
try:
    QgsCategorizedSymbolRendererWidget.create = staticmethod(QgsCategorizedSymbolRendererWidget.create)
    QgsCategorizedSymbolRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscheckablecombobox.h
try:
    QgsCheckableComboBox.__attribute_docs__ = {'checkedItemsChanged': 'Emitted whenever the checked items list changed.\n'}
    QgsCheckableComboBox.__signal_arguments__ = {'checkedItemsChanged': ['items: List[str]']}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgscheckboxsearchwidgetwrapper.h
try:
    QgsCheckboxSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditor.h
# monkey patching scoped based enum
QgsCodeEditor.Mode.ScriptEditor.__doc__ = "Standard mode, allows for display and edit of entire scripts"
QgsCodeEditor.Mode.OutputDisplay.__doc__ = "Read only mode for display of command outputs"
QgsCodeEditor.Mode.CommandInput.__doc__ = "Command input mode"
QgsCodeEditor.Mode.__doc__ = """Code editor modes.

.. versionadded:: 3.30

* ``ScriptEditor``: Standard mode, allows for display and edit of entire scripts
* ``OutputDisplay``: Read only mode for display of command outputs
* ``CommandInput``: Command input mode

"""
# --
QgsCodeEditor.Mode.baseClass = QgsCodeEditor
# monkey patching scoped based enum
QgsCodeEditor.LineNumbers = QgsCodeEditor.MarginRole.LineNumbers
QgsCodeEditor.LineNumbers.is_monkey_patched = True
QgsCodeEditor.LineNumbers.__doc__ = "Line numbers"
QgsCodeEditor.ErrorIndicators = QgsCodeEditor.MarginRole.ErrorIndicators
QgsCodeEditor.ErrorIndicators.is_monkey_patched = True
QgsCodeEditor.ErrorIndicators.__doc__ = "Error indicators"
QgsCodeEditor.FoldingControls = QgsCodeEditor.MarginRole.FoldingControls
QgsCodeEditor.FoldingControls.is_monkey_patched = True
QgsCodeEditor.FoldingControls.__doc__ = "Folding controls"
QgsCodeEditor.MarginRole.__doc__ = """Margin roles.

This enum contains the roles which the different numbered margins are used for.

.. versionadded:: 3.16

* ``LineNumbers``: Line numbers
* ``ErrorIndicators``: Error indicators
* ``FoldingControls``: Folding controls

"""
# --
QgsCodeEditor.MarginRole.baseClass = QgsCodeEditor
# monkey patching scoped based enum
QgsCodeEditor.Flag.CodeFolding.__doc__ = "Indicates that code folding should be enabled for the editor"
QgsCodeEditor.Flag.ImmediatelyUpdateHistory.__doc__ = "Indicates that the history file should be immediately updated whenever a command is executed, instead of the default behavior of only writing the history on widget close \n.. versionadded:: 3.32"
QgsCodeEditor.Flag.__doc__ = """Flags controlling behavior of code editor

.. versionadded:: 3.28

* ``CodeFolding``: Indicates that code folding should be enabled for the editor
* ``ImmediatelyUpdateHistory``: Indicates that the history file should be immediately updated whenever a command is executed, instead of the default behavior of only writing the history on widget close

  .. versionadded:: 3.32


"""
# --
QgsCodeEditor.Flag.baseClass = QgsCodeEditor
QgsCodeEditor.Flags.baseClass = QgsCodeEditor
Flags = QgsCodeEditor  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsCodeEditor.__attribute_docs__ = {'SEARCH_RESULT_INDICATOR': 'Indicator index for search results', 'sessionHistoryCleared': 'Emitted when the history of commands run in the current session is cleared.\n\n.. versionadded:: 3.30\n', 'persistentHistoryCleared': 'Emitted when the persistent history of commands run in the editor is cleared.\n\n.. versionadded:: 3.30\n'}
    QgsCodeEditor.languageToString = staticmethod(QgsCodeEditor.languageToString)
    QgsCodeEditor.defaultColor = staticmethod(QgsCodeEditor.defaultColor)
    QgsCodeEditor.color = staticmethod(QgsCodeEditor.color)
    QgsCodeEditor.setColor = staticmethod(QgsCodeEditor.setColor)
    QgsCodeEditor.getMonospaceFont = staticmethod(QgsCodeEditor.getMonospaceFont)
    QgsCodeEditor.isFixedPitch = staticmethod(QgsCodeEditor.isFixedPitch)
    QgsCodeEditor.__group__ = ['codeeditors']
except NameError:
    pass
try:
    QgsCodeInterpreter.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorcolorscheme.h
# monkey patching scoped based enum
QgsCodeEditorColorScheme.ColorRole.Default.__doc__ = "Default text color"
QgsCodeEditorColorScheme.ColorRole.Keyword.__doc__ = "Keyword color"
QgsCodeEditorColorScheme.ColorRole.Class.__doc__ = "Class color"
QgsCodeEditorColorScheme.ColorRole.Method.__doc__ = "Method color"
QgsCodeEditorColorScheme.ColorRole.Decoration.__doc__ = "Decoration color"
QgsCodeEditorColorScheme.ColorRole.Number.__doc__ = "Number color"
QgsCodeEditorColorScheme.ColorRole.Comment.__doc__ = "Comment color"
QgsCodeEditorColorScheme.ColorRole.CommentLine.__doc__ = "Line comment color"
QgsCodeEditorColorScheme.ColorRole.CommentBlock.__doc__ = "Comment block color"
QgsCodeEditorColorScheme.ColorRole.Background.__doc__ = "Background color"
QgsCodeEditorColorScheme.ColorRole.Cursor.__doc__ = "Cursor color"
QgsCodeEditorColorScheme.ColorRole.CaretLine.__doc__ = "Caret line color"
QgsCodeEditorColorScheme.ColorRole.SingleQuote.__doc__ = "Single quote color"
QgsCodeEditorColorScheme.ColorRole.DoubleQuote.__doc__ = "Double quote color"
QgsCodeEditorColorScheme.ColorRole.TripleSingleQuote.__doc__ = "Triple single quote color"
QgsCodeEditorColorScheme.ColorRole.TripleDoubleQuote.__doc__ = "Triple double quote color"
QgsCodeEditorColorScheme.ColorRole.Operator.__doc__ = "Operator color"
QgsCodeEditorColorScheme.ColorRole.QuotedOperator.__doc__ = "Quoted operator color"
QgsCodeEditorColorScheme.ColorRole.Identifier.__doc__ = "Identifier color"
QgsCodeEditorColorScheme.ColorRole.QuotedIdentifier.__doc__ = "Quoted identifier color"
QgsCodeEditorColorScheme.ColorRole.Tag.__doc__ = "Tag color"
QgsCodeEditorColorScheme.ColorRole.UnknownTag.__doc__ = "Unknown tag"
QgsCodeEditorColorScheme.ColorRole.MarginBackground.__doc__ = "Margin background color"
QgsCodeEditorColorScheme.ColorRole.MarginForeground.__doc__ = "Margin foreground color"
QgsCodeEditorColorScheme.ColorRole.SelectionBackground.__doc__ = "Selection background color"
QgsCodeEditorColorScheme.ColorRole.SelectionForeground.__doc__ = "Selection foreground color"
QgsCodeEditorColorScheme.ColorRole.MatchedBraceBackground.__doc__ = "Matched brace background color"
QgsCodeEditorColorScheme.ColorRole.MatchedBraceForeground.__doc__ = "Matched brace foreground color"
QgsCodeEditorColorScheme.ColorRole.Edge.__doc__ = "Edge color"
QgsCodeEditorColorScheme.ColorRole.Fold.__doc__ = "Fold color"
QgsCodeEditorColorScheme.ColorRole.Error.__doc__ = "Error color"
QgsCodeEditorColorScheme.ColorRole.ErrorBackground.__doc__ = "Error background color"
QgsCodeEditorColorScheme.ColorRole.FoldIconForeground.__doc__ = "Fold icon foreground color"
QgsCodeEditorColorScheme.ColorRole.FoldIconHalo.__doc__ = "Fold icon halo color"
QgsCodeEditorColorScheme.ColorRole.IndentationGuide.__doc__ = "Indentation guide line"
QgsCodeEditorColorScheme.ColorRole.SearchMatchBackground.__doc__ = "Background color for search matches \n.. versionadded:: 3.38"
QgsCodeEditorColorScheme.ColorRole.__doc__ = """Color roles.

* ``Default``: Default text color
* ``Keyword``: Keyword color
* ``Class``: Class color
* ``Method``: Method color
* ``Decoration``: Decoration color
* ``Number``: Number color
* ``Comment``: Comment color
* ``CommentLine``: Line comment color
* ``CommentBlock``: Comment block color
* ``Background``: Background color
* ``Cursor``: Cursor color
* ``CaretLine``: Caret line color
* ``SingleQuote``: Single quote color
* ``DoubleQuote``: Double quote color
* ``TripleSingleQuote``: Triple single quote color
* ``TripleDoubleQuote``: Triple double quote color
* ``Operator``: Operator color
* ``QuotedOperator``: Quoted operator color
* ``Identifier``: Identifier color
* ``QuotedIdentifier``: Quoted identifier color
* ``Tag``: Tag color
* ``UnknownTag``: Unknown tag
* ``MarginBackground``: Margin background color
* ``MarginForeground``: Margin foreground color
* ``SelectionBackground``: Selection background color
* ``SelectionForeground``: Selection foreground color
* ``MatchedBraceBackground``: Matched brace background color
* ``MatchedBraceForeground``: Matched brace foreground color
* ``Edge``: Edge color
* ``Fold``: Fold color
* ``Error``: Error color
* ``ErrorBackground``: Error background color
* ``FoldIconForeground``: Fold icon foreground color
* ``FoldIconHalo``: Fold icon halo color
* ``IndentationGuide``: Indentation guide line
* ``SearchMatchBackground``: Background color for search matches

  .. versionadded:: 3.38


"""
# --
try:
    QgsCodeEditorColorScheme.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorcolorschemeregistry.h
try:
    QgsCodeEditorColorSchemeRegistry.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorcss.h
try:
    QgsCodeEditorCSS.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditordockwidget.h
try:
    QgsCodeEditorDockWidget.__attribute_docs__ = {'visibilityChanged': "Emitted when the editor's visibility is changed.\n"}
    QgsCodeEditorDockWidget.__signal_arguments__ = {'visibilityChanged': ['isVisible: bool']}
    QgsCodeEditorDockWidget.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorexpression.h
try:
    QgsCodeEditorExpression.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorhtml.h
try:
    QgsCodeEditorHTML.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorjs.h
try:
    QgsCodeEditorJavascript.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorjson.h
try:
    QgsCodeEditorJson.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorpython.h
try:
    QgsCodeEditorPython.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorr.h
try:
    QgsCodeEditorR.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorshell.h
try:
    QgsCodeEditorShell.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorsql.h
try:
    QgsCodeEditorSQL.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/codeeditors/qgscodeeditorwidget.h
try:
    QgsCodeEditorWidget.__attribute_docs__ = {'searchBarToggled': 'Emitted when the visibility of the search bar is changed.\n', 'filePathChanged': "Emitted when the widget's associated file path is changed.\n\n.. seealso:: :py:func:`setFilePath`\n\n.. seealso:: :py:func:`filePath`\n", 'loadedExternalChanges': 'Emitted when the widget loads in text from the associated file to bring in\nchanges made externally to the file.\n'}
    QgsCodeEditorWidget.__signal_arguments__ = {'searchBarToggled': ['visible: bool'], 'filePathChanged': ['path: str']}
    QgsCodeEditorWidget.__group__ = ['codeeditors']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscollapsiblegroupbox.h
try:
    QgsCollapsibleGroupBoxBasic.__attribute_docs__ = {'collapsedStateChanged': 'Signal emitted when groupbox collapsed/expanded state is changed, and when first shown\n'}
    QgsCollapsibleGroupBoxBasic.__signal_arguments__ = {'collapsedStateChanged': ['collapsed: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorbrewercolorrampdialog.h
try:
    QgsColorBrewerColorRampWidget.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
try:
    QgsColorBrewerColorRampDialog.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorbutton.h
QgsColorButton.Behavior.baseClass = QgsColorButton
try:
    QgsColorButton.__attribute_docs__ = {'colorChanged': 'Emitted whenever a new color is set for the button. The color is always valid.\nIn case the new color is the same no signal is emitted, to avoid infinite loops.\n\n:param color: New color\n', 'colorClicked': "Emitted when the button is clicked, if the button's behavior is set to SignalOnly\n\n:param color: button color\n\n.. seealso:: :py:func:`setBehavior`\n\n.. seealso:: :py:func:`behavior`\n", 'cleared': 'Emitted when the color is cleared (set to null).\n\n.. seealso:: :py:func:`setToNull`\n\n.. versionadded:: 3.12\n', 'unlinked': 'Emitted when the color is unlinked, e.g. when it was previously set to link\nto a project color and is now no longer linked.\n\n.. seealso:: :py:func:`unlink`\n\n.. seealso:: :py:func:`linkToProjectColor`\n\n.. versionadded:: 3.6\n'}
    QgsColorButton.createMenuIcon = staticmethod(QgsColorButton.createMenuIcon)
    QgsColorButton.__signal_arguments__ = {'colorChanged': ['color: QColor'], 'colorClicked': ['color: QColor']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolordialog.h
try:
    QgsColorDialog.__attribute_docs__ = {'currentColorChanged': "Emitted when the dialog's color changes\n\n:param color: current color\n"}
    QgsColorDialog.getColor = staticmethod(QgsColorDialog.getColor)
    QgsColorDialog.__signal_arguments__ = {'currentColorChanged': ['color: QColor']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorrampbutton.h
try:
    QgsColorRampButton.__attribute_docs__ = {'colorRampChanged': 'Emitted whenever a new color ramp is set for the button. The color ramp is always valid.\nIn case the new color ramp is the same, no signal is emitted to avoid infinite loops.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorramplegendnodewidget.h
# monkey patching scoped based enum
QgsColorRampLegendNodeWidget.Capability.Prefix.__doc__ = "Allow editing legend prefix"
QgsColorRampLegendNodeWidget.Capability.Suffix.__doc__ = "Allow editing legend suffix"
QgsColorRampLegendNodeWidget.Capability.NumberFormat.__doc__ = "Allow editing number format"
QgsColorRampLegendNodeWidget.Capability.DefaultMinimum.__doc__ = "Allow resetting minimum label to default"
QgsColorRampLegendNodeWidget.Capability.DefaultMaximum.__doc__ = "Allow resetting maximum label to default"
QgsColorRampLegendNodeWidget.Capability.AllCapabilities.__doc__ = "All capabilities"
QgsColorRampLegendNodeWidget.Capability.__doc__ = """Capabilities to expose in the widget.

.. versionadded:: 3.38

* ``Prefix``: Allow editing legend prefix
* ``Suffix``: Allow editing legend suffix
* ``NumberFormat``: Allow editing number format
* ``DefaultMinimum``: Allow resetting minimum label to default
* ``DefaultMaximum``: Allow resetting maximum label to default
* ``AllCapabilities``: All capabilities

"""
# --
QgsColorRampLegendNodeWidget.Capability.baseClass = QgsColorRampLegendNodeWidget
QgsColorRampLegendNodeWidget.Capabilities.baseClass = QgsColorRampLegendNodeWidget
Capabilities = QgsColorRampLegendNodeWidget  # dirty hack since SIP seems to introduce the flags in module
# The following has been generated automatically from src/gui/raster/qgscolorrampshaderwidget.h
try:
    QgsColorRampShaderWidget.__attribute_docs__ = {'minimumMaximumChangedFromTree': 'Color ramp tree has changed\n', 'widgetChanged': 'Widget changed\n', 'classificationModeChanged': 'Classification mode changed\n'}
    QgsColorRampShaderWidget.__signal_arguments__ = {'minimumMaximumChangedFromTree': ['minimum: float', 'maximum: float'], 'classificationModeChanged': ['mode: Qgis.ShaderClassificationMethod']}
    QgsColorRampShaderWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorschemelist.h
try:
    QgsColorSchemeList.__attribute_docs__ = {'colorSelected': 'Emitted when a color is selected from the list\n\n:param color: color selected\n'}
    QgsColorSchemeList.__signal_arguments__ = {'colorSelected': ['color: QColor']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorswatchgrid.h
try:
    QgsColorSwatchGrid.__attribute_docs__ = {'colorChanged': 'Emitted when a color has been selected from the widget\n\n:param color: selected color\n', 'hovered': 'Emitted when mouse hovers over widget\n'}
    QgsColorSwatchGrid.__signal_arguments__ = {'colorChanged': ['color: QColor']}
except NameError:
    pass
try:
    QgsColorSwatchGridAction.__attribute_docs__ = {'colorChanged': 'Emitted when a color has been selected from the widget\n\n:param color: selected color\n'}
    QgsColorSwatchGridAction.__signal_arguments__ = {'colorChanged': ['color: QColor']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscolorwidgets.h
# monkey patching scoped based enum
QgsColorWidget.ComponentUnit.Scaled0to255.__doc__ = "Values in the range 0-255"
QgsColorWidget.ComponentUnit.Percent.__doc__ = "Percent values in the range 0-100"
QgsColorWidget.ComponentUnit.Degree.__doc__ = "Degree values in the range 0-359"
QgsColorWidget.ComponentUnit.__doc__ = """Specified the color component unit

* ``Scaled0to255``: Values in the range 0-255
* ``Percent``: Percent values in the range 0-100
* ``Degree``: Degree values in the range 0-359

"""
# --
QgsColorWidget.ComponentUnit.baseClass = QgsColorWidget
QgsColorTextWidget.ColorTextFormat.baseClass = QgsColorTextWidget
try:
    QgsColorWidget.__attribute_docs__ = {'colorChanged': "Emitted when the widget's color changes\n\n:param color: new widget color\n", 'hovered': 'Emitted when mouse hovers over widget.\n'}
    QgsColorWidget.createDragIcon = staticmethod(QgsColorWidget.createDragIcon)
    QgsColorWidget.componentUnit = staticmethod(QgsColorWidget.componentUnit)
    QgsColorWidget.alterColor = staticmethod(QgsColorWidget.alterColor)
    QgsColorWidget.alterColorF = staticmethod(QgsColorWidget.alterColorF)
    QgsColorWidget.__signal_arguments__ = {'colorChanged': ['color: QColor']}
except NameError:
    pass
try:
    QgsColorWidgetAction.__attribute_docs__ = {'colorChanged': 'Emitted when a color has been selected from the widget\n\n:param color: selected color\n'}
    QgsColorWidgetAction.__signal_arguments__ = {'colorChanged': ['color: QColor']}
except NameError:
    pass
try:
    QgsColorRampWidget.__attribute_docs__ = {'valueChanged': "Emitted when the widget's color component value changes\n\n:param value: new value of color component in the range between 0 and the value returned by :py:func:`~QgsColorRampWidget.componentRange`\n\n.. deprecated:: 3.40\n\n   Use :py:func:`~QgsColorRampWidget.valueChangedF` instead.\n", 'valueChangedF': "Emitted when the widget's color component value changes\n\n:param value: new value of color component in the range 0.0-1.0\n\n.. versionadded:: 3.40\n"}
    QgsColorRampWidget.__signal_arguments__ = {'valueChangedF': ['value: float']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscompoundcolorwidget.h
try:
    QgsCompoundColorWidget.__attribute_docs__ = {'currentColorChanged': "Emitted when the dialog's color changes\n\n:param color: current color\n"}
    QgsCompoundColorWidget.importUserPaletteFromFile = staticmethod(QgsCompoundColorWidget.importUserPaletteFromFile)
    QgsCompoundColorWidget.createNewUserPalette = staticmethod(QgsCompoundColorWidget.createNewUserPalette)
    QgsCompoundColorWidget.removeUserPalette = staticmethod(QgsCompoundColorWidget.removeUserPalette)
    QgsCompoundColorWidget.__signal_arguments__ = {'currentColorChanged': ['color: QColor']}
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgscoordinateboundspreviewmapwidget.h
try:
    QgsCoordinateBoundsPreviewMapWidget.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgscoordinateoperationwidget.h
try:
    QgsCoordinateOperationWidget.OperationDetails.__attribute_docs__ = {'sourceTransformId': 'Source transform ID', 'destinationTransformId': 'Destination transform ID', 'proj': 'Proj coordinate operation description, for Proj >= 6.0 builds only', 'isAvailable': '``True`` if operation is available', 'allowFallback': '``True`` if fallback transforms can be used'}
    QgsCoordinateOperationWidget.OperationDetails.__doc__ = """Coordinate operation details"""
    QgsCoordinateOperationWidget.OperationDetails.__group__ = ['proj']
except NameError:
    pass
try:
    QgsCoordinateOperationWidget.__attribute_docs__ = {'operationChanged': 'Emitted when the operation selected in the dialog is changed.\n', 'operationDoubleClicked': 'Emitted when an operation is double-clicked in the widget.\n'}
    QgsCoordinateOperationWidget.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgscoordinatereferencesystemmodel.h
QgsCoordinateReferenceSystemModel.Roles = QgsCoordinateReferenceSystemModel.CustomRole
# monkey patching scoped based enum
QgsCoordinateReferenceSystemModel.RoleNodeType = QgsCoordinateReferenceSystemModel.CustomRole.NodeType
QgsCoordinateReferenceSystemModel.Roles.RoleNodeType = QgsCoordinateReferenceSystemModel.CustomRole.NodeType
QgsCoordinateReferenceSystemModel.RoleNodeType.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleNodeType.__doc__ = "Corresponds to the node's type"
QgsCoordinateReferenceSystemModel.RoleName = QgsCoordinateReferenceSystemModel.CustomRole.Name
QgsCoordinateReferenceSystemModel.Roles.RoleName = QgsCoordinateReferenceSystemModel.CustomRole.Name
QgsCoordinateReferenceSystemModel.RoleName.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleName.__doc__ = "The coordinate reference system name"
QgsCoordinateReferenceSystemModel.RoleAuthId = QgsCoordinateReferenceSystemModel.CustomRole.AuthId
QgsCoordinateReferenceSystemModel.Roles.RoleAuthId = QgsCoordinateReferenceSystemModel.CustomRole.AuthId
QgsCoordinateReferenceSystemModel.RoleAuthId.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleAuthId.__doc__ = "The coordinate reference system authority name and id"
QgsCoordinateReferenceSystemModel.RoleDeprecated = QgsCoordinateReferenceSystemModel.CustomRole.Deprecated
QgsCoordinateReferenceSystemModel.Roles.RoleDeprecated = QgsCoordinateReferenceSystemModel.CustomRole.Deprecated
QgsCoordinateReferenceSystemModel.RoleDeprecated.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleDeprecated.__doc__ = "``True`` if the CRS is deprecated"
QgsCoordinateReferenceSystemModel.RoleType = QgsCoordinateReferenceSystemModel.CustomRole.Type
QgsCoordinateReferenceSystemModel.Roles.RoleType = QgsCoordinateReferenceSystemModel.CustomRole.Type
QgsCoordinateReferenceSystemModel.RoleType.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleType.__doc__ = "The coordinate reference system type"
QgsCoordinateReferenceSystemModel.RoleGroupId = QgsCoordinateReferenceSystemModel.CustomRole.GroupId
QgsCoordinateReferenceSystemModel.Roles.RoleGroupId = QgsCoordinateReferenceSystemModel.CustomRole.GroupId
QgsCoordinateReferenceSystemModel.RoleGroupId.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleGroupId.__doc__ = "The node ID (for group nodes)"
QgsCoordinateReferenceSystemModel.RoleWkt = QgsCoordinateReferenceSystemModel.CustomRole.Wkt
QgsCoordinateReferenceSystemModel.Roles.RoleWkt = QgsCoordinateReferenceSystemModel.CustomRole.Wkt
QgsCoordinateReferenceSystemModel.RoleWkt.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleWkt.__doc__ = "The coordinate reference system's WKT representation. This is only used for non-standard CRS (i.e. those not present in the database)."
QgsCoordinateReferenceSystemModel.RoleProj = QgsCoordinateReferenceSystemModel.CustomRole.Proj
QgsCoordinateReferenceSystemModel.Roles.RoleProj = QgsCoordinateReferenceSystemModel.CustomRole.Proj
QgsCoordinateReferenceSystemModel.RoleProj.is_monkey_patched = True
QgsCoordinateReferenceSystemModel.RoleProj.__doc__ = "The coordinate reference system's PROJ representation. This is only used for non-standard CRS (i.e. those not present in the database)."
QgsCoordinateReferenceSystemModel.CustomRole.__doc__ = """Custom model roles.

.. note::

   Prior to QGIS 3.36 this was available as QgsCoordinateReferenceSystemModel.Roles

.. versionadded:: 3.36

* ``NodeType``: Corresponds to the node's type

  Available as ``QgsCoordinateReferenceSystemModel.RoleNodeType`` in older QGIS releases.

* ``Name``: The coordinate reference system name

  Available as ``QgsCoordinateReferenceSystemModel.RoleName`` in older QGIS releases.

* ``AuthId``: The coordinate reference system authority name and id

  Available as ``QgsCoordinateReferenceSystemModel.RoleAuthId`` in older QGIS releases.

* ``Deprecated``: ``True`` if the CRS is deprecated

  Available as ``QgsCoordinateReferenceSystemModel.RoleDeprecated`` in older QGIS releases.

* ``Type``: The coordinate reference system type

  Available as ``QgsCoordinateReferenceSystemModel.RoleType`` in older QGIS releases.

* ``GroupId``: The node ID (for group nodes)

  Available as ``QgsCoordinateReferenceSystemModel.RoleGroupId`` in older QGIS releases.

* ``Wkt``: The coordinate reference system's WKT representation. This is only used for non-standard CRS (i.e. those not present in the database).

  Available as ``QgsCoordinateReferenceSystemModel.RoleWkt`` in older QGIS releases.

* ``Proj``: The coordinate reference system's PROJ representation. This is only used for non-standard CRS (i.e. those not present in the database).

  Available as ``QgsCoordinateReferenceSystemModel.RoleProj`` in older QGIS releases.


"""
# --
QgsCoordinateReferenceSystemModel.CustomRole.baseClass = QgsCoordinateReferenceSystemModel
QgsCoordinateReferenceSystemProxyModel.Filters.baseClass = QgsCoordinateReferenceSystemProxyModel
Filters = QgsCoordinateReferenceSystemProxyModel  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsCoordinateReferenceSystemModel.__group__ = ['proj']
except NameError:
    pass
try:
    QgsCoordinateReferenceSystemProxyModel.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgscptcitycolorrampdialog.h
try:
    QgsCptCityColorRampDialog.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
    QgsCptCityColorRampDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/annotations/qgscreateannotationitemmaptool.h
try:
    QgsCreateAnnotationItemMapToolHandler.__attribute_docs__ = {'itemCreated': 'Emitted by the tool when a new annotation item has been created.\n\nClients should connect to this signal and call :py:func:`~QgsCreateAnnotationItemMapToolHandler.takeCreatedItem` to take the newly created item from the map tool.\n'}
    QgsCreateAnnotationItemMapToolHandler.__group__ = ['annotations']
except NameError:
    pass
try:
    QgsCreateAnnotationItemMapToolInterface.__group__ = ['annotations']
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgscrsdefinitionwidget.h
try:
    QgsCrsDefinitionWidget.__attribute_docs__ = {'crsChanged': 'Emitted when the CRS defined in the widget is changed.\n'}
    QgsCrsDefinitionWidget.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgscurveeditorwidget.h
try:
    QgsCurveEditorWidget.__attribute_docs__ = {'changed': 'Emitted when the widget curve changes\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgscustomlayerorderwidget.h
try:
    QgsCustomLayerOrderWidget.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsdashspacedialog.h
try:
    QgsDashSpaceWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsDashSpaceDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdatabaseschemacombobox.h
try:
    QgsDatabaseSchemaComboBox.__attribute_docs__ = {'schemaChanged': 'Emitted whenever the currently selected schema changes.\n'}
    QgsDatabaseSchemaComboBox.__signal_arguments__ = {'schemaChanged': ['schema: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdatabasetablecombobox.h
try:
    QgsDatabaseTableComboBox.__attribute_docs__ = {'tableChanged': 'Emitted whenever the currently selected table changes.\n'}
    QgsDatabaseTableComboBox.__signal_arguments__ = {'tableChanged': ['table: str', 'schema: Optional[str] = None']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsdatadefinedsizelegendwidget.h
try:
    QgsDataDefinedSizeLegendWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdataitemguiprovider.h
try:
    QgsDataItemGuiProvider.notify = staticmethod(QgsDataItemGuiProvider.notify)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdatasourceselectdialog.h
try:
    QgsDataSourceSelectWidget.__attribute_docs__ = {'validationChanged': 'This signal is emitted whenever the validation status of the widget changes.\n\n:param isValid: ``True`` if the current status of the widget is valid\n', 'selectionChanged': 'Emitted when the current selection changes in the widget.\n', 'itemTriggered': 'Emitted when an item is triggered, e.g. via a double-click.\n'}
    QgsDataSourceSelectWidget.__signal_arguments__ = {'validationChanged': ['isValid: bool'], 'itemTriggered': ['uri: QgsMimeDataUtils.Uri']}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsdatetimeedit.h
try:
    QgsDateTimeEdit.__attribute_docs__ = {'valueChanged': 'Signal emitted whenever the value changes.\n\n:param date: The new date/time value.\n'}
    QgsDateTimeEdit.__signal_arguments__ = {'valueChanged': ['date: QDateTime']}
    QgsDateTimeEdit.__group__ = ['editorwidgets']
except NameError:
    pass
try:
    QgsTimeEdit.__attribute_docs__ = {'timeValueChanged': 'Signal emitted whenever the time changes.\n'}
    QgsTimeEdit.__signal_arguments__ = {'timeValueChanged': ['time: QTime']}
    QgsTimeEdit.__group__ = ['editorwidgets']
except NameError:
    pass
try:
    QgsDateEdit.__attribute_docs__ = {'dateValueChanged': 'Signal emitted whenever the date changes.\n'}
    QgsDateEdit.__signal_arguments__ = {'dateValueChanged': ['date: QDate']}
    QgsDateEdit.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsdatetimesearchwidgetwrapper.h
try:
    QgsDateTimeSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdbrelationshipwidget.h
try:
    QgsDbRelationWidget.__attribute_docs__ = {'validityChanged': 'Emitted whenever the validity of the relationship configuration in the widget changes.\n\n.. seealso:: :py:func:`isValid`\n'}
    QgsDbRelationWidget.__signal_arguments__ = {'validityChanged': ['isValid: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdecoratedscrollbar.h
# monkey patching scoped based enum
QgsScrollBarHighlight.Priority.Invalid.__doc__ = "Invalid"
QgsScrollBarHighlight.Priority.LowPriority.__doc__ = "Low priority, rendered below all other highlights"
QgsScrollBarHighlight.Priority.NormalPriority.__doc__ = "Normal priority"
QgsScrollBarHighlight.Priority.HighPriority.__doc__ = "High priority"
QgsScrollBarHighlight.Priority.HighestPriority.__doc__ = "Highest priority, rendered above all other highlights"
QgsScrollBarHighlight.Priority.__doc__ = """Priority, which dictates how overlapping highlights are rendered

* ``Invalid``: Invalid
* ``LowPriority``: Low priority, rendered below all other highlights
* ``NormalPriority``: Normal priority
* ``HighPriority``: High priority
* ``HighestPriority``: Highest priority, rendered above all other highlights

"""
# --
try:
    QgsScrollBarHighlight.__attribute_docs__ = {'category': 'Category ID', 'position': 'Position in scroll bar', 'color': 'Highlight color', 'priority': 'Priority, which dictates how overlapping highlights are rendered'}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsdefaultsearchwidgetwrapper.h
try:
    QgsDefaultSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/devtools/qgsdevtoolwidget.h
try:
    QgsDevToolWidget.__group__ = ['devtools']
except NameError:
    pass
# The following has been generated automatically from src/gui/devtools/qgsdevtoolwidgetfactory.h
try:
    QgsDevToolWidgetFactory.__group__ = ['devtools']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdial.h
try:
    QgsDial.__signal_arguments__ = {'valueChanged': [': object']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdirectionallightwidget.h
try:
    QgsDirectionalLightWidget.__attribute_docs__ = {'directionChanged': 'Emitted when the direction is changed\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdockwidget.h
try:
    QgsDockWidget.__attribute_docs__ = {'closed': 'Emitted when dock widget is closed.\n\n.. seealso:: :py:func:`closedStateChanged`\n\n.. seealso:: :py:func:`opened`\n', 'closedStateChanged': 'Emitted when dock widget is closed (or opened).\n\n:param wasClosed: will be ``True`` if dock widget was closed, or ``False`` if dock widget was opened\n\n.. seealso:: :py:func:`closed`\n\n.. seealso:: :py:func:`openedStateChanged`\n', 'opened': 'Emitted when dock widget is opened.\n\n.. seealso:: :py:func:`openedStateChanged`\n\n.. seealso:: :py:func:`closed`\n', 'openedStateChanged': 'Emitted when dock widget is opened (or closed).\n\n:param wasOpened: will be ``True`` if dock widget was opened, or ``False`` if dock widget was closed\n\n.. seealso:: :py:func:`closedStateChanged`\n\n.. seealso:: :py:func:`opened`\n'}
    QgsDockWidget.__signal_arguments__ = {'closedStateChanged': ['wasClosed: bool'], 'openedStateChanged': ['wasOpened: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsdoublespinbox.h
try:
    QgsDoubleSpinBox.__attribute_docs__ = {'returnPressed': 'Emitted when the Return or Enter key is used in the line edit.\n\n.. versionadded:: 3.40\n', 'textEdited': 'Emitted when the the value has been manually edited via line edit.\n\n.. versionadded:: 3.40\n'}
    QgsDoubleSpinBox.__signal_arguments__ = {'textEdited': ['text: str']}
    QgsDoubleSpinBox.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsdoublevalidator.h
try:
    QgsDoubleValidator.toDouble = staticmethod(QgsDoubleValidator.toDouble)
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsdualview.h
QgsDualView.ViewMode.baseClass = QgsDualView
QgsDualView.FeatureListBrowsingAction.baseClass = QgsDualView
try:
    QgsDualView.__attribute_docs__ = {'displayExpressionChanged': 'Emitted whenever the display expression is successfully changed\n\n:param expression: The expression that was applied\n', 'filterChanged': 'Emitted whenever the filter changes\n', 'filterExpressionSet': 'Emitted when a filter expression is set using the view.\n\n:param expression: filter expression\n:param type: filter type\n', 'formModeChanged': 'Emitted when the form changes mode.\n\n:param mode: new mode\n', 'showContextMenuExternally': 'Emitted when selecting context menu on the feature list to create the context menu individually\n\n:param menu: context menu\n:param fid: feature id of the selected feature\n'}
    QgsDualView.requiredAttributes = staticmethod(QgsDualView.requiredAttributes)
    QgsDualView.__signal_arguments__ = {'displayExpressionChanged': ['expression: str'], 'filterExpressionSet': ['expression: str', 'type: QgsAttributeForm.FilterType'], 'formModeChanged': ['mode: QgsAttributeEditorContext.Mode'], 'showContextMenuExternally': ['menu: QgsActionMenu', 'fid: QgsFeatureId']}
    QgsDualView.__group__ = ['attributetable']
except NameError:
    pass
try:
    QgsAttributeTableAction.__group__ = ['attributetable']
except NameError:
    pass
try:
    QgsAttributeTableMapLayerAction.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorconfigwidget.h
try:
    QgsEditorConfigWidget.__attribute_docs__ = {'changed': 'Emitted when the configuration of the widget is changed.\n'}
    QgsEditorConfigWidget.__group__ = ['editorwidgets', 'core']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorwidgetautoconf.h
try:
    QgsEditorWidgetAutoConfPlugin.__group__ = ['editorwidgets', 'core']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorwidgetfactory.h
try:
    QgsEditorWidgetFactory.__group__ = ['editorwidgets', 'core']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorwidgetregistry.h
try:
    QgsEditorWidgetRegistry.__group__ = ['editorwidgets', 'core']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorwidgetwrapper.h
try:
    QgsEditorWidgetWrapper.__attribute_docs__ = {'valueChanged': 'Emit this signal, whenever the value changed.\n\n:param value: The new value\n\n.. deprecated:: 3.10\n\n   Use valuesChanged signal instead.\n', 'valuesChanged': 'Emit this signal, whenever the value changed.\nIt will also return the values for the additional fields handled by the widget\n\n:param value: The new value\n:param additionalFieldValues: A map of additional field names with their corresponding values\n\n.. versionadded:: 3.10\n', 'constraintStatusChanged': 'Emit this signal when the constraint status changed.\nconstraintStatusChanged\n\n:param constraint: represented as a string\n:param desc: is the constraint description\n:param err: the error represented as a string. Empty if none.\n:param status:\n', 'constraintResultVisibleChanged': 'Emit this signal when the constraint result visibility changed.\n'}
    QgsEditorWidgetWrapper.fromWidget = staticmethod(QgsEditorWidgetWrapper.fromWidget)
    QgsEditorWidgetWrapper.isInTable = staticmethod(QgsEditorWidgetWrapper.isInTable)
    QgsEditorWidgetWrapper.__signal_arguments__ = {'valueChanged': ['value: object'], 'valuesChanged': ['value: object', 'additionalFieldValues: List[object] = []'], 'constraintStatusChanged': ['constraint: str', 'desc: str', 'err: str', 'status: QgsEditorWidgetWrapper.ConstraintResult'], 'constraintResultVisibleChanged': ['visible: bool']}
    QgsEditorWidgetWrapper.__group__ = ['editorwidgets', 'core']
except NameError:
    pass
# The following has been generated automatically from src/gui/effects/qgseffectdrawmodecombobox.h
try:
    QgsEffectDrawModeComboBox.__group__ = ['effects']
except NameError:
    pass
# The following has been generated automatically from src/gui/effects/qgseffectstackpropertieswidget.h
try:
    QgsEffectStackCompactWidget.__attribute_docs__ = {'changed': 'Emitted when the paint effect properties change\n'}
    QgsEffectStackCompactWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsEffectStackPropertiesWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsEffectStackPropertiesDialog.__group__ = ['effects']
except NameError:
    pass
# The following has been generated automatically from src/gui/elevation/qgselevationcontrollerwidget.h
try:
    QgsElevationControllerWidget.__attribute_docs__ = {'rangeChanged': 'Emitted when the visible range from the widget is changed.\n\n.. seealso:: :py:func:`setRange`\n\n.. seealso:: :py:func:`range`\n', 'fixedRangeSizeChanged': 'Emitted when the fixed range size is changed from the widget.\n\n.. seealso:: :py:func:`fixedRangeSize`\n\n.. seealso:: :py:func:`setFixedRangeSize`\n', 'invertedChanged': 'Emitted when the elevation filter slider is inverted.\n\n.. seealso:: :py:func:`setInverted`\n'}
    QgsElevationControllerWidget.__signal_arguments__ = {'rangeChanged': ['range: QgsDoubleRange'], 'fixedRangeSizeChanged': ['size: float'], 'invertedChanged': ['inverted: bool']}
    QgsElevationControllerWidget.__group__ = ['elevation']
except NameError:
    pass
try:
    QgsElevationControllerSettingsAction.__group__ = ['elevation']
except NameError:
    pass
# The following has been generated automatically from src/gui/elevation/qgselevationprofilecanvas.h
try:
    QgsElevationProfileCanvas.__attribute_docs__ = {'activeJobCountChanged': 'Emitted when the number of active background jobs changes.\n', 'canvasPointHovered': 'Emitted when the mouse hovers over the specified point (in canvas coordinates).\n\nThe ``profilePoint`` argument gives the hovered profile point, which may be snapped.\n'}
    QgsElevationProfileCanvas.__signal_arguments__ = {'activeJobCountChanged': ['count: int'], 'canvasPointHovered': ['point: QgsPointXY', 'profilePoint: QgsProfilePoint']}
    QgsElevationProfileCanvas.__group__ = ['elevation']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsellipsesymbollayerwidget.h
try:
    QgsEllipseSymbolLayerWidget.create = staticmethod(QgsEllipseSymbolLayerWidget.create)
    QgsEllipseSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsembeddedsymbolrendererwidget.h
try:
    QgsEmbeddedSymbolRendererWidget.create = staticmethod(QgsEmbeddedSymbolRendererWidget.create)
    QgsEmbeddedSymbolRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgserrordialog.h
try:
    QgsErrorDialog.show = staticmethod(QgsErrorDialog.show)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexpressionbuilderdialog.h
try:
    QgsExpressionBuilderDialog.__attribute_docs__ = {'allowEvalErrorsChanged': "Allow accepting expressions with evaluation errors. This can be useful when we are not able to\nprovide an expression context of which we are sure it's completely populated.\n"}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexpressionbuilderwidget.h
QgsExpressionBuilderWidget.Flag.baseClass = QgsExpressionBuilderWidget
Flag = QgsExpressionBuilderWidget  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsExpressionBuilderWidget.__attribute_docs__ = {'expressionParsed': 'Emitted when the user changes the expression in the widget.\nUsers of this widget should connect to this signal to decide if to let the user\ncontinue.\n\n:param isValid: Is ``True`` if the expression the user has typed is valid.\n', 'evalErrorChanged': 'Will be set to ``True`` if the current expression text reported an eval error\nwith the context.\n', 'parserErrorChanged': 'Will be set to ``True`` if the current expression text reported a parser error\nwith the context.\n'}
    QgsExpressionBuilderWidget.__signal_arguments__ = {'expressionParsed': ['isValid: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexpressionlineedit.h
try:
    QgsExpressionLineEdit.__attribute_docs__ = {'expressionChanged': 'Emitted when the expression is changed.\n\n:param expression: new expression\n'}
    QgsExpressionLineEdit.__signal_arguments__ = {'expressionChanged': ['expression: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexpressionpreviewwidget.h
try:
    QgsExpressionPreviewWidget.__attribute_docs__ = {'expressionParsed': 'Emitted when the user changes the expression in the widget.\nUsers of this widget should connect to this signal to decide if to let the user\ncontinue.\n\n:param isValid: Is ``True`` if the expression the user has typed is valid.\n', 'evalErrorChanged': 'Will be set to ``True`` if the current expression text reported an eval error\nwith the context.\n', 'parserErrorChanged': 'Will be set to ``True`` if the current expression text reported a parser error\nwith the context.\n', 'toolTipChanged': 'Emitted whenever the tool tip changed\n'}
    QgsExpressionPreviewWidget.__signal_arguments__ = {'expressionParsed': ['isValid: bool'], 'toolTipChanged': ['toolTip: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexpressiontreeview.h
try:
    QgsExpressionItem.__attribute_docs__ = {'CUSTOM_SORT_ROLE': 'Custom sort order role', 'ITEM_TYPE_ROLE': 'Item type role', 'SEARCH_TAGS_ROLE': 'Search tags role', 'ITEM_NAME_ROLE': 'Item name role', 'LAYER_ID_ROLE': '\n.. versionadded:: 3.24'}
except NameError:
    pass
try:
    QgsExpressionTreeView.__attribute_docs__ = {'expressionItemDoubleClicked': 'Emitted when a expression item is double clicked\n', 'currentExpressionItemChanged': 'Emitter when the current expression item changed\n'}
    QgsExpressionTreeView.__signal_arguments__ = {'expressionItemDoubleClicked': ['text: str'], 'currentExpressionItemChanged': ['item: QgsExpressionItem']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsextentgroupbox.h
try:
    QgsExtentGroupBox.__attribute_docs__ = {'extentChanged': "Emitted when the widget's extent is changed.\n"}
    QgsExtentGroupBox.__signal_arguments__ = {'extentChanged': ['r: QgsRectangle']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsextentwidget.h
try:
    QgsExtentWidget.__attribute_docs__ = {'extentChanged': "Emitted when the widget's extent is changed.\n", 'validationChanged': "Emitted when the widget's validation state changes.\n", 'toggleDialogVisibility': 'Emitted when the parent dialog visibility must be changed (e.g.\nto permit access to the map canvas)\n'}
    QgsExtentWidget.__signal_arguments__ = {'extentChanged': ['r: QgsRectangle'], 'validationChanged': ['valid: bool'], 'toggleDialogVisibility': ['visible: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexternalresourcewidget.h
try:
    QgsExternalResourceWidget.__attribute_docs__ = {'valueChanged': 'Emitted as soon as the current document changes\n'}
    QgsExternalResourceWidget.__signal_arguments__ = {'valueChanged': ['value: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsexternalstoragefilewidget.h
try:
    QgsExternalStorageFileWidget.createFileWidgetScope = staticmethod(QgsExternalStorageFileWidget.createFileWidgetScope)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfeaturelistcombobox.h
try:
    QgsFeatureListComboBox.__attribute_docs__ = {'modelUpdated': 'The underlying model has been updated.\n\n.. versionadded:: 3.2\n', 'sourceLayerChanged': 'The layer from which features should be listed.\n', 'displayExpressionChanged': 'The display expression will be used to display features as well as\nthe the value to match the typed text against.\n', 'filterExpressionChanged': 'An additional expression to further restrict the available features.\nThis can be used to integrate additional spatial or other constraints.\n', 'identifierValueChanged': 'The identifier value of the currently selected feature. A value from the\nidentifierField.\n', 'identifierFieldChanged': 'Field name that will be used to uniquely identify the current feature.\nNormally the primary key of the layer.\n', 'allowNullChanged': 'Determines if a NULL value should be available in the list.\n', 'currentFeatureChanged': 'Emitted when the current feature changes\n\n.. versionadded:: 3.16.5\n', 'currentFeatureFoundChanged': 'Emitted when the feature picker model changes its feature ``found`` state\n\n.. versionadded:: 3.38\n'}
    QgsFeatureListComboBox.__signal_arguments__ = {'currentFeatureFoundChanged': ['found: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsfeaturelistmodel.h
try:
    QgsFeatureListModel.FeatureInfo.__attribute_docs__ = {'isNew': 'True if feature is a newly added feature.', 'isEdited': 'True if feature has been edited.'}
    QgsFeatureListModel.FeatureInfo.__group__ = ['attributetable']
except NameError:
    pass
try:
    QgsFeatureListModel.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsfeaturelistview.h
try:
    QgsFeatureListView.__attribute_docs__ = {'currentEditSelectionChanged': 'Emitted whenever the current edit selection has been changed.\n\n:param feat: the feature, which will be edited.\n', 'currentEditSelectionProgressChanged': 'Emitted whenever the current edit selection has been changed.\n\n:param progress: the position of the feature in the list\n:param count: the number of features in the list\n\n.. versionadded:: 3.8\n', 'displayExpressionChanged': 'Emitted whenever the display expression is successfully changed\n\n:param expression: The expression that was applied\n', 'willShowContextMenu': 'Emitted when the context menu is created to add the specific actions to it\n\n:param menu: is the already created context menu\n:param atIndex: is the position of the current feature in the model\n'}
    QgsFeatureListView.__signal_arguments__ = {'currentEditSelectionChanged': ['feat: QgsFeature'], 'currentEditSelectionProgressChanged': ['progress: int', 'count: int'], 'displayExpressionChanged': ['expression: str'], 'willShowContextMenu': ['menu: QgsActionMenu', 'atIndex: QModelIndex']}
    QgsFeatureListView.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsfeaturelistviewdelegate.h
try:
    QgsFeatureListViewDelegate.__attribute_docs__ = {'editButtonClicked': 'Emitted when the edit button is clicked for the feature with matching ``index``.\n'}
    QgsFeatureListViewDelegate.__signal_arguments__ = {'editButtonClicked': ['index: QModelIndex']}
    QgsFeatureListViewDelegate.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsfeaturemodel.h
try:
    QgsFeatureModel.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfeaturepickerwidget.h
try:
    QgsFeaturePickerWidget.__attribute_docs__ = {'modelUpdated': 'The underlying model has been updated.\n', 'layerChanged': 'The layer from which features should be listed.\n', 'displayExpressionChanged': 'The display expression will be used to display features as well as\nthe the value to match the typed text against.\n', 'filterExpressionChanged': 'An additional expression to further restrict the available features.\nThis can be used to integrate additional spatial or other constraints.\n', 'featureChanged': 'Sends the feature as soon as it is chosen\n', 'allowNullChanged': 'Determines if a NULL value should be available in the list.\n', 'fetchGeometryChanged': 'Emitted when the fetching of the geometry changes\n', 'fetchLimitChanged': 'Emitted when the fetching limit for the feature request changes\n', 'showBrowserButtonsChanged': 'Emitted when showing the browser buttons changes\n'}
    QgsFeaturePickerWidget.__signal_arguments__ = {'featureChanged': ['feature: QgsFeature']}
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsfeatureselectionmodel.h
try:
    QgsFeatureSelectionModel.__attribute_docs__ = {'requestRepaint': 'Request a repaint of the visible items of connected views.\nViews using this model should connect to and properly process this signal.\n'}
    QgsFeatureSelectionModel.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/vector/qgsfieldcalculator.h
try:
    QgsFieldCalculator.__group__ = ['vector']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfieldcombobox.h
try:
    QgsFieldComboBox.__attribute_docs__ = {'fieldChanged': 'Emitted when the currently selected field changes.\n'}
    QgsFieldComboBox.__signal_arguments__ = {'fieldChanged': ['fieldName: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsfieldconditionalformatwidget.h
try:
    QgsFieldConditionalFormatWidget.__attribute_docs__ = {'rulesUpdated': 'Emitted when the conditional styling rules are updated.\n\nThe ``fieldName`` argument indicates the name of the field whose rules\nhave been modified, or an empty ``fieldName`` indicates that a row-based\nrule was updated.\n'}
    QgsFieldConditionalFormatWidget.defaultPresets = staticmethod(QgsFieldConditionalFormatWidget.defaultPresets)
    QgsFieldConditionalFormatWidget.__signal_arguments__ = {'rulesUpdated': ['fieldName: str']}
    QgsFieldConditionalFormatWidget.__group__ = ['attributetable']
except NameError:
    pass
try:
    QgsEditConditionalFormatRuleWidget.__attribute_docs__ = {'ruleSaved': 'Emitted when a user has opted to save the current rule.\n', 'ruleDeleted': 'Emitted when a user has opted to deleted the current rule.\n', 'canceled': 'Emitted when a user has opted to cancel the rule modification.\n'}
    QgsEditConditionalFormatRuleWidget.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfielddomainwidget.h
try:
    QgsFieldDomainWidget.__attribute_docs__ = {'validityChanged': 'Emitted whenever the validity of the field domain configuration in the widget changes.\n\n.. seealso:: :py:func:`isValid`\n'}
    QgsFieldDomainWidget.__signal_arguments__ = {'validityChanged': ['isValid: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfieldexpressionwidget.h
try:
    QgsFieldExpressionWidget.__attribute_docs__ = {'fieldChanged': 'fieldChanged signal with indication of the validity of the expression\n', 'allowEvalErrorsChanged': "Allow accepting expressions with evaluation errors. This can be useful when we are not able to\nprovide an expression context of which we are sure it's completely populated.\n", 'buttonVisibleChanged': 'Emitted when the button visibility changes\n\n.. versionadded:: 3.36\n'}
    QgsFieldExpressionWidget.__signal_arguments__ = {'fieldChanged': ['fieldName: str', 'isValid: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfieldmappingmodel.h
# monkey patching scoped based enum
QgsFieldMappingModel.ColumnDataIndex.SourceExpression.__doc__ = "Expression"
QgsFieldMappingModel.ColumnDataIndex.DestinationName.__doc__ = "Destination field name"
QgsFieldMappingModel.ColumnDataIndex.DestinationType.__doc__ = "Destination field type string"
QgsFieldMappingModel.ColumnDataIndex.DestinationLength.__doc__ = "Destination field length"
QgsFieldMappingModel.ColumnDataIndex.DestinationPrecision.__doc__ = "Destination field precision"
QgsFieldMappingModel.ColumnDataIndex.DestinationConstraints.__doc__ = "Destination field constraints"
QgsFieldMappingModel.ColumnDataIndex.DestinationAlias.__doc__ = "Destination alias"
QgsFieldMappingModel.ColumnDataIndex.DestinationComment.__doc__ = "Destination comment"
QgsFieldMappingModel.ColumnDataIndex.__doc__ = """The ColumnDataIndex enum represents the column index for the view

* ``SourceExpression``: Expression
* ``DestinationName``: Destination field name
* ``DestinationType``: Destination field type string
* ``DestinationLength``: Destination field length
* ``DestinationPrecision``: Destination field precision
* ``DestinationConstraints``: Destination field constraints
* ``DestinationAlias``: Destination alias
* ``DestinationComment``: Destination comment

"""
# --
QgsFieldMappingModel.ColumnDataIndex.baseClass = QgsFieldMappingModel
try:
    QgsFieldMappingModel.Field.__attribute_docs__ = {'originalName': 'The original name of the field', 'field': 'The field in its current status (it might have been renamed)', 'expression': 'The expression for the mapped field from the source fields'}
    QgsFieldMappingModel.Field.__doc__ = """The Field struct holds information about a mapped field"""
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfieldmappingwidget.h
try:
    QgsFieldMappingWidget.__attribute_docs__ = {'changed': 'Emitted when the fields defined in the widget are changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfieldvalueslineedit.h
try:
    QgsFieldValuesLineEdit.__attribute_docs__ = {'layerChanged': 'Emitted when the layer associated with the widget changes.\n\n:param layer: vector layer\n', 'attributeIndexChanged': 'Emitted when the field associated with the widget changes.\n\n:param index: new attribute index for field\n'}
    QgsFieldValuesLineEdit.__signal_arguments__ = {'layerChanged': ['layer: QgsVectorLayer'], 'attributeIndexChanged': ['index: int']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfilecontentsourcelineedit.h
try:
    QgsAbstractFileContentSourceLineEdit.__attribute_docs__ = {'sourceChanged': 'Emitted whenever the file source is changed in the widget.\n'}
    QgsAbstractFileContentSourceLineEdit.__signal_arguments__ = {'sourceChanged': ['source: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfiledownloaderdialog.h
try:
    QgsFileDownloaderDialog.__attribute_docs__ = {'downloadCompleted': 'Emitted when the download has completed successfully\n', 'downloadExited': 'Emitted always when the downloader exits\n', 'downloadCanceled': 'Emitted when the download was canceled by the user\n', 'downloadError': 'Emitted when an error makes the download fail\n', 'downloadProgress': 'Emitted when data are ready to be processed\n'}
    QgsFileDownloaderDialog.__signal_arguments__ = {'downloadError': ['errorMessages: List[str]'], 'downloadProgress': ['bytesReceived: int', 'bytesTotal: int']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfilewidget.h
QgsFileWidget.StorageMode.baseClass = QgsFileWidget
QgsFileWidget.RelativeStorage.baseClass = QgsFileWidget
try:
    QgsFileWidget.__attribute_docs__ = {'fileChanged': 'Emitted whenever the current file or directory ``path`` is changed.\n'}
    QgsFileWidget.splitFilePaths = staticmethod(QgsFileWidget.splitFilePaths)
    QgsFileWidget.isMultiFiles = staticmethod(QgsFileWidget.isMultiFiles)
    QgsFileWidget.__signal_arguments__ = {'fileChanged': ['path: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfilterlineedit.h
QgsFilterLineEdit.ClearMode.baseClass = QgsFilterLineEdit
try:
    QgsFilterLineEdit.__attribute_docs__ = {'cleared': 'Emitted when the widget is cleared\n\n.. seealso:: :py:func:`clearValue`\n', 'valueChanged': 'Same as :py:func:`~QgsFilterLineEdit.textChanged` but with support for null values.\n\n:param value: The current text or null string if it matches the :py:func:`~QgsFilterLineEdit.nullValue` property.\n', 'showSpinnerChanged': 'Show a spinner icon. This can be used for search boxes to indicate that\nsomething is going on in the background.\n', 'selectOnFocusChanged': 'Will select all text when this widget receives the focus.\n'}
    QgsFilterLineEdit.__signal_arguments__ = {'valueChanged': ['value: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfindfilesbypatternwidget.h
try:
    QgsFindFilesByPatternWidget.__attribute_docs__ = {'findComplete': 'Emitted after files are found in the dialog.\n\nThe ``files`` argument contains a list of all matching files found. This may be empty if\nno matching files were found.\n\n.. seealso:: :py:func:`files`\n'}
    QgsFindFilesByPatternWidget.__signal_arguments__ = {'findComplete': ['files: List[str]']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfloatingwidget.h
QgsFloatingWidget.AnchorPoint.baseClass = QgsFloatingWidget
try:
    QgsFloatingWidget.__attribute_docs__ = {'anchorWidgetChanged': 'Emitted when the anchor widget changes\n', 'anchorPointChanged': 'Emitted when the anchor point changes\n', 'anchorWidgetPointChanged': 'Emitted when the anchor widget point changes\n'}
    QgsFloatingWidget.__signal_arguments__ = {'anchorWidgetChanged': ['widget: QWidget'], 'anchorPointChanged': ['point: QgsFloatingWidget.AnchorPoint'], 'anchorWidgetPointChanged': ['point: QgsFloatingWidget.AnchorPoint']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfocuswatcher.h
try:
    QgsFocusWatcher.__attribute_docs__ = {'focusChanged': "Emitted when parent object's focus changes.\n\n:param focused: ``True`` if object gained focus, ``False`` if object lost focus\n", 'focusIn': 'Emitted when parent object gains focus.\n', 'focusOut': 'Emitted when parent object loses focus.\n'}
    QgsFocusWatcher.__signal_arguments__ = {'focusChanged': ['focused: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsfontbutton.h
QgsFontButton.Mode.baseClass = QgsFontButton
try:
    QgsFontButton.__attribute_docs__ = {'changed': "Emitted when the widget's text format settings are changed.\n"}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsformannotation.h
try:
    QgsFormAnnotation.create = staticmethod(QgsFormAnnotation.create)
except NameError:
    pass
# The following has been generated automatically from src/gui/providers/gdal/qgsgdalcredentialoptionswidget.h
try:
    QgsGdalCredentialOptionsWidget.__attribute_docs__ = {'optionsChanged': 'Emitted when the credential options are changed in the widget.\n'}
    QgsGdalCredentialOptionsWidget.__group__ = ['providers', 'gdal']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsgeometrywidget.h
try:
    QgsGeometryWidget.__attribute_docs__ = {'geometryValueChanged': 'Emitted whenever the geometry value of the widget is changed.\n\n.. seealso:: :py:func:`geometryValue`\n\n.. seealso:: :py:func:`setGeometryValue`\n'}
    QgsGeometryWidget.__signal_arguments__ = {'geometryValueChanged': ['value: QgsReferencedGeometry']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsgradientcolorrampdialog.h
try:
    QgsGradientColorRampDialog.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsgradientstopeditor.h
try:
    QgsGradientStopEditor.__attribute_docs__ = {'changed': 'Emitted when the gradient ramp is changed by a user\n', 'selectedStopChanged': 'Emitted when the current selected stop changes.\n\n:param stop: details about newly selected stop\n'}
    QgsGradientStopEditor.__signal_arguments__ = {'selectedStopChanged': ['stop: QgsGradientStop']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsgraduatedhistogramwidget.h
try:
    QgsGraduatedHistogramWidget.__attribute_docs__ = {'rangesModified': 'Emitted when the user modifies the graduated ranges using the histogram widget.\n\n:param rangesAdded: ``True`` if the user has added ranges, ``False`` if the user has just\n                    modified existing range breaks\n'}
    QgsGraduatedHistogramWidget.__signal_arguments__ = {'rangesModified': ['rangesAdded: bool']}
    QgsGraduatedHistogramWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsgraduatedsymbolrendererwidget.h
try:
    QgsGraduatedSymbolRendererWidget.create = staticmethod(QgsGraduatedSymbolRendererWidget.create)
    QgsGraduatedSymbolRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsgui.h
QgsGui.ProjectCrsBehavior.baseClass = QgsGui
try:
    QgsGui.__attribute_docs__ = {'optionsChanged': 'This signal is emitted whenever the application options have been changed.\n\nThis signal is a "blanket" signal, and will be emitted whenever the options dialog\nhas been accepted regardless of whether or not individual settings are changed.\nIt is designed as a "last resort" fallback only, allowing widgets to respond\nto possible settings changes.\n\n.. versionadded:: 3.16\n'}
    QgsGui.instance = staticmethod(QgsGui.instance)
    QgsGui.settingsRegistryGui = staticmethod(QgsGui.settingsRegistryGui)
    QgsGui.editorWidgetRegistry = staticmethod(QgsGui.editorWidgetRegistry)
    QgsGui.sourceSelectProviderRegistry = staticmethod(QgsGui.sourceSelectProviderRegistry)
    QgsGui.shortcutsManager = staticmethod(QgsGui.shortcutsManager)
    QgsGui.layerTreeEmbeddedWidgetRegistry = staticmethod(QgsGui.layerTreeEmbeddedWidgetRegistry)
    QgsGui.mapLayerActionRegistry = staticmethod(QgsGui.mapLayerActionRegistry)
    QgsGui.layoutItemGuiRegistry = staticmethod(QgsGui.layoutItemGuiRegistry)
    QgsGui.annotationItemGuiRegistry = staticmethod(QgsGui.annotationItemGuiRegistry)
    QgsGui.advancedDigitizingToolsRegistry = staticmethod(QgsGui.advancedDigitizingToolsRegistry)
    QgsGui.processingGuiRegistry = staticmethod(QgsGui.processingGuiRegistry)
    QgsGui.numericFormatGuiRegistry = staticmethod(QgsGui.numericFormatGuiRegistry)
    QgsGui.codeEditorColorSchemeRegistry = staticmethod(QgsGui.codeEditorColorSchemeRegistry)
    QgsGui.processingRecentAlgorithmLog = staticmethod(QgsGui.processingRecentAlgorithmLog)
    QgsGui.processingFavoriteAlgorithmManager = staticmethod(QgsGui.processingFavoriteAlgorithmManager)
    QgsGui.dataItemGuiProviderRegistry = staticmethod(QgsGui.dataItemGuiProviderRegistry)
    QgsGui.projectStorageGuiRegistry = staticmethod(QgsGui.projectStorageGuiRegistry)
    QgsGui.providerGuiRegistry = staticmethod(QgsGui.providerGuiRegistry)
    QgsGui.sensorGuiRegistry = staticmethod(QgsGui.sensorGuiRegistry)
    QgsGui.subsetStringEditorProviderRegistry = staticmethod(QgsGui.subsetStringEditorProviderRegistry)
    QgsGui.sourceWidgetProviderRegistry = staticmethod(QgsGui.sourceWidgetProviderRegistry)
    QgsGui.relationWidgetRegistry = staticmethod(QgsGui.relationWidgetRegistry)
    QgsGui.historyProviderRegistry = staticmethod(QgsGui.historyProviderRegistry)
    QgsGui.settingsEditorWidgetRegistry = staticmethod(QgsGui.settingsEditorWidgetRegistry)
    QgsGui.enableAutoGeometryRestore = staticmethod(QgsGui.enableAutoGeometryRestore)
    QgsGui.windowManager = staticmethod(QgsGui.windowManager)
    QgsGui.setWindowManager = staticmethod(QgsGui.setWindowManager)
    QgsGui.inputControllerManager = staticmethod(QgsGui.inputControllerManager)
    QgsGui.higFlags = staticmethod(QgsGui.higFlags)
    QgsGui.sampleColor = staticmethod(QgsGui.sampleColor)
    QgsGui.findScreenAt = staticmethod(QgsGui.findScreenAt)
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsheatmaprendererwidget.h
try:
    QgsHeatmapRendererWidget.create = staticmethod(QgsHeatmapRendererWidget.create)
    QgsHeatmapRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgshelp.h
try:
    QgsHelp.openHelp = staticmethod(QgsHelp.openHelp)
    QgsHelp.helpUrl = staticmethod(QgsHelp.helpUrl)
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgshillshaderendererwidget.h
try:
    QgsHillshadeRendererWidget.create = staticmethod(QgsHillshadeRendererWidget.create)
    QgsHillshadeRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistoryentry.h
try:
    QgsHistoryEntry.__attribute_docs__ = {'id': 'Entry ID.\n\n.. versionadded:: 3.32', 'timestamp': 'Entry timestamp', 'providerId': 'Associated history provider ID', 'entry': 'Entry details.\n\nEntries details are stored as a free-form map. Interpretation of this map is the responsibility of the\nassociated history provider.'}
    QgsHistoryEntry.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistoryentrymodel.h
try:
    QgsHistoryEntryModel.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistoryentrynode.h
try:
    QgsHistoryEntryNode.__group__ = ['history']
except NameError:
    pass
try:
    QgsHistoryEntryGroup.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistoryprovider.h
try:
    QgsAbstractHistoryProvider.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistoryproviderregistry.h
try:
    QgsHistoryProviderRegistry.HistoryEntryOptions.__attribute_docs__ = {'storageBackends': 'Target storage backends'}
    QgsHistoryProviderRegistry.HistoryEntryOptions.__group__ = ['history']
except NameError:
    pass
try:
    QgsHistoryProviderRegistry.__attribute_docs__ = {'entryAdded': 'Emitted when an ``entry`` is added.\n\n.. versionadded:: 3.32\n', 'entryUpdated': 'Emitted when an ``entry`` is updated.\n\n.. versionadded:: 3.32\n', 'historyCleared': 'Emitted when the history is cleared for a ``backend``.\n\nIf ``providerId`` is non-empty then the history has only been cleared for the\nspecified provider.\n\n.. versionadded:: 3.32\n'}
    QgsHistoryProviderRegistry.userHistoryDbPath = staticmethod(QgsHistoryProviderRegistry.userHistoryDbPath)
    QgsHistoryProviderRegistry.__signal_arguments__ = {'entryAdded': ['id: int', 'entry: QgsHistoryEntry', 'backend: Qgis.HistoryProviderBackend'], 'entryUpdated': ['id: int', 'entry: Dict[str, object]', 'backend: Qgis.HistoryProviderBackend'], 'historyCleared': ['backend: Qgis.HistoryProviderBackend', 'providerId: str']}
    QgsHistoryProviderRegistry.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistorywidget.h
try:
    QgsHistoryWidget.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/history/qgshistorywidgetcontext.h
try:
    QgsHistoryWidgetContext.__group__ = ['history']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgshtmlwidgetwrapper.h
try:
    QgsHtmlWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsidentifymenu.h
try:
    QgsIdentifyMenu.findFeaturesOnCanvas = staticmethod(QgsIdentifyMenu.findFeaturesOnCanvas)
    QgsIdentifyMenu.styleHighlight = staticmethod(QgsIdentifyMenu.styleHighlight)
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsifeatureselectionmanager.h
try:
    QgsIFeatureSelectionManager.__attribute_docs__ = {'selectionChanged': 'Emitted when selection was changed.\n\n:param selected: Newly selected feature ids\n:param deselected: Ids of all features which have previously been selected but are not any more\n:param clearAndSelect: In case this is set to ``True``, the old selection was dismissed and the new selection corresponds to selected\n'}
    QgsIFeatureSelectionManager.__signal_arguments__ = {'selectionChanged': ['selected: QgsFeatureIds', 'deselected: QgsFeatureIds', 'clearAndSelect: bool']}
    QgsIFeatureSelectionManager.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/inputcontroller/qgsinputcontrollermanager.h
try:
    QgsInputControllerManager.__group__ = ['inputcontroller']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsinterpolatedlinesymbollayerwidget.h
try:
    QgsInterpolatedLineSymbolLayerWidget.create = staticmethod(QgsInterpolatedLineSymbolLayerWidget.create)
    QgsInterpolatedLineSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsinvertedpolygonrendererwidget.h
try:
    QgsInvertedPolygonRendererWidget.create = staticmethod(QgsInvertedPolygonRendererWidget.create)
    QgsInvertedPolygonRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsjsoneditwidget.h
# monkey patching scoped based enum
QgsJsonEditWidget.View.Text.__doc__ = "JSON data displayed as text."
QgsJsonEditWidget.View.Tree.__doc__ = "JSON data displayed as tree. Tree view is disabled for invalid JSON data."
QgsJsonEditWidget.View.__doc__ = """View mode, text or tree.

* ``Text``: JSON data displayed as text.
* ``Tree``: JSON data displayed as tree. Tree view is disabled for invalid JSON data.

"""
# --
# monkey patching scoped based enum
QgsJsonEditWidget.FormatJson.Indented.__doc__ = "JSON data formatted with regular indentation"
QgsJsonEditWidget.FormatJson.Compact.__doc__ = "JSON data formatted as a compact one line string"
QgsJsonEditWidget.FormatJson.Disabled.__doc__ = "JSON data is not formatted"
QgsJsonEditWidget.FormatJson.__doc__ = """Format mode in the text view

* ``Indented``: JSON data formatted with regular indentation
* ``Compact``: JSON data formatted as a compact one line string
* ``Disabled``: JSON data is not formatted

"""
# --
try:
    QgsJsonEditWidget.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/labeling/qgslabelingengineruleswidget.h
try:
    QgsLabelingEngineRulesWidget.__attribute_docs__ = {'changed': 'Emitted when the rules configured in the widget are changed.\n'}
    QgsLabelingEngineRulesWidget.__group__ = ['labeling']
except NameError:
    pass
try:
    QgsLabelingEngineRulesDialog.__group__ = ['labeling']
except NameError:
    pass
# The following has been generated automatically from src/gui/labeling/qgslabelingenginerulewidget.h
try:
    QgsLabelingEngineRuleWidget.__attribute_docs__ = {'changed': 'Emitted whenever the configuration of the rule is changed.\n'}
    QgsLabelingEngineRuleWidget.__group__ = ['labeling']
except NameError:
    pass
# The following has been generated automatically from src/gui/labeling/qgslabellineanchorwidget.h
try:
    QgsLabelLineAnchorWidget.__group__ = ['labeling']
except NameError:
    pass
# The following has been generated automatically from src/gui/labeling/qgslabelobstaclesettingswidget.h
try:
    QgsLabelObstacleSettingsWidget.__group__ = ['labeling']
except NameError:
    pass
# The following has been generated automatically from src/gui/labeling/qgslabelsettingswidgetbase.h
try:
    QgsLabelSettingsWidgetBase.__attribute_docs__ = {'changed': 'Emitted when any of the settings described by the widget are changed.\n', 'auxiliaryFieldCreated': 'Emitted when an auxiliary field is created in the widget.\n'}
    QgsLabelSettingsWidgetBase.__group__ = ['labeling']
except NameError:
    pass
try:
    QgsLabelSettingsWidgetDialog.__group__ = ['labeling']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgslayermetadataresultsmodel.h
QgsLayerMetadataResultsModel.Roles = QgsLayerMetadataResultsModel.CustomRole
# monkey patching scoped based enum
QgsLayerMetadataResultsModel.Metadata = QgsLayerMetadataResultsModel.CustomRole.Metadata
QgsLayerMetadataResultsModel.Metadata.is_monkey_patched = True
QgsLayerMetadataResultsModel.Metadata.__doc__ = "Layer metadata role"
QgsLayerMetadataResultsModel.CustomRole.__doc__ = """The Roles enum represents the user roles for the model.

.. note::

   Prior to QGIS 3.36 this was available as QgsLayerMetadataResultsModel.Roles

.. versionadded:: 3.36

* ``Metadata``: Layer metadata role

"""
# --
QgsLayerMetadataResultsModel.CustomRole.baseClass = QgsLayerMetadataResultsModel
try:
    QgsLayerMetadataResultsModel.__attribute_docs__ = {'progressChanged': 'Emitted when the progress changed to ``progress``.\n'}
    QgsLayerMetadataResultsModel.__signal_arguments__ = {'progressChanged': ['progress: int']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgslayerpropertieswidget.h
try:
    QgsLayerPropertiesWidget.__attribute_docs__ = {'changed': 'Emitted when the symbol layer configuration is changed in the widget.\n', 'changeLayer': 'Emitted when the symbol ``layer`` is changed in the widget.\n'}
    QgsLayerPropertiesWidget.__signal_arguments__ = {'changeLayer': ['layer: QgsSymbolLayer']}
    QgsLayerPropertiesWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgslayertreeembeddedconfigwidget.h
try:
    QgsLayerTreeEmbeddedConfigWidget.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgslayertreeembeddedwidgetregistry.h
try:
    QgsLayerTreeEmbeddedWidgetProvider.__group__ = ['layertree']
except NameError:
    pass
try:
    QgsLayerTreeEmbeddedWidgetRegistry.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgslayertreemapcanvasbridge.h
try:
    QgsLayerTreeMapCanvasBridge.__attribute_docs__ = {'canvasLayersChanged': 'Emitted when the set of layers (or order of layers) visible in the\ncanvas changes.\n'}
    QgsLayerTreeMapCanvasBridge.__signal_arguments__ = {'canvasLayersChanged': ['layers: List[QgsMapLayer]']}
    QgsLayerTreeMapCanvasBridge.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgslayertreeview.h
try:
    QgsLayerTreeView.__attribute_docs__ = {'currentLayerChanged': 'Emitted when a current layer is changed\n', 'datasetsDropped': 'Emitted when datasets are dropped onto the layer tree view\n', 'contextMenuAboutToShow': 'Emitted when the context menu is about to show.\n\nAllows customization of the menu.\n\n.. versionadded:: 3.32\n'}
    QgsLayerTreeView.__signal_arguments__ = {'currentLayerChanged': ['layer: QgsMapLayer'], 'datasetsDropped': ['event: QDropEvent'], 'contextMenuAboutToShow': ['menu: QMenu']}
    QgsLayerTreeView.__group__ = ['layertree']
except NameError:
    pass
try:
    QgsLayerTreeProxyModel.__group__ = ['layertree']
except NameError:
    pass
try:
    QgsLayerTreeViewMenuProvider.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgslayertreeviewdefaultactions.h
try:
    QgsLayerTreeViewDefaultActions.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/layertree/qgslayertreeviewindicator.h
try:
    QgsLayerTreeViewIndicator.__attribute_docs__ = {'clicked': 'Emitted when user clicks on the indicator\n', 'changed': 'Emitted when the indicator changes state (e.g. icon).\n\n.. versionadded:: 3.10\n'}
    QgsLayerTreeViewIndicator.__signal_arguments__ = {'clicked': ['index: QModelIndex']}
    QgsLayerTreeViewIndicator.__group__ = ['layertree']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutcombobox.h
try:
    QgsLayoutComboBox.__attribute_docs__ = {'layoutChanged': 'Emitted whenever the currently selected layout changes\n'}
    QgsLayoutComboBox.__signal_arguments__ = {'layoutChanged': ['layout: QgsMasterLayoutInterface']}
    QgsLayoutComboBox.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutcustomdrophandler.h
try:
    QgsLayoutCustomDropHandler.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutdesignerinterface.h
try:
    QgsLayoutDesignerInterface.ExportResults.__attribute_docs__ = {'result': 'Result/error code of export.', 'labelingResults': 'Returns the labeling results for all map items included in the export. Map keys are the item UUIDs (see :py:func:`QgsLayoutItem.uuid()`).\n\nOwnership of the results remains with the layout designer.'}
    QgsLayoutDesignerInterface.ExportResults.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutDesignerInterface.__attribute_docs__ = {'layoutExported': 'Emitted whenever a layout is exported from the layout designer.\n\nThe results of the export can be retrieved by calling :py:func:`~QgsLayoutDesignerInterface.lastExportResults`.\n\n.. versionadded:: 3.20\n', 'mapPreviewRefreshed': "Emitted when a ``map`` item's preview has been refreshed.\n\n.. versionadded:: 3.20\n"}
    QgsLayoutDesignerInterface.__signal_arguments__ = {'mapPreviewRefreshed': ['map: QgsLayoutItemMap']}
    QgsLayoutDesignerInterface.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutitemcombobox.h
try:
    QgsLayoutItemComboBox.__attribute_docs__ = {'itemChanged': 'Emitted whenever the currently selected item changes\n'}
    QgsLayoutItemComboBox.__signal_arguments__ = {'itemChanged': ['item: QgsLayoutItem']}
    QgsLayoutItemComboBox.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutitemguiregistry.h
try:
    QgsLayoutItemGuiGroup.__attribute_docs__ = {'id': 'Unique (untranslated) group ID string.', 'name': 'Translated group name.', 'icon': 'Icon for group.'}
    QgsLayoutItemGuiGroup.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutItemGuiRegistry.__attribute_docs__ = {'typeAdded': 'Emitted whenever a new item type is added to the registry, with the specified\n``metadataId``.\n'}
    QgsLayoutItemGuiRegistry.__signal_arguments__ = {'typeAdded': ['metadataId: int']}
    QgsLayoutItemGuiRegistry.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutItemAbstractGuiMetadata.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutitemwidget.h
try:
    QgsLayoutConfigObject.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutItemBaseWidget.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutItemPropertiesWidget.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutnewitempropertiesdialog.h
try:
    QgsLayoutItemPropertiesDialog.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutruler.h
try:
    QgsLayoutRuler.__attribute_docs__ = {'cursorPosChanged': 'Emitted when mouse cursor coordinates change\n'}
    QgsLayoutRuler.__signal_arguments__ = {'cursorPosChanged': ['position: QPointF']}
    QgsLayoutRuler.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutunitscombobox.h
try:
    QgsLayoutUnitsComboBox.__attribute_docs__ = {'changed': 'Emitted when the ``unit`` is changed.\n'}
    QgsLayoutUnitsComboBox.__signal_arguments__ = {'changed': ['unit: int']}
    QgsLayoutUnitsComboBox.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutview.h
try:
    QgsLayoutView.__attribute_docs__ = {'layoutSet': 'Emitted when a ``layout`` is set for the view.\n\n.. seealso:: :py:func:`currentLayout`\n\n.. seealso:: :py:func:`setCurrentLayout`\n', 'toolSet': 'Emitted when the current ``tool`` is changed.\n\n.. seealso:: :py:func:`setTool`\n', 'zoomLevelChanged': 'Emitted whenever the zoom level of the view is changed.\n', 'cursorPosChanged': 'Emitted when the mouse cursor coordinates change within the view.\nThe ``layoutPoint`` argument indicates the cursor position within\nthe layout coordinate system.\n', 'pageChanged': 'Emitted when the page visible in the view is changed. This signal\nconsiders the page at the center of the view as the current visible\npage.\n\n.. seealso:: :py:func:`currentPage`\n', 'statusMessage': "Emitted when the view has a ``message`` for display in a parent window's\nstatus bar.\n\n.. seealso:: :py:func:`pushStatusMessage`\n", 'itemFocused': 'Emitted when an ``item`` is "focused" in the view, i.e. it becomes the active\nitem and should have its properties displayed in any designer windows.\n', 'willBeDeleted': 'Emitted in the destructor when the view is about to be deleted,\nbut is still in a perfectly valid state.\n'}
    QgsLayoutView.__signal_arguments__ = {'layoutSet': ['layout: QgsLayout'], 'toolSet': ['tool: QgsLayoutViewTool'], 'cursorPosChanged': ['layoutPoint: QPointF'], 'pageChanged': ['page: int'], 'statusMessage': ['message: str'], 'itemFocused': ['item: QgsLayoutItem']}
    QgsLayoutView.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutViewMenuProvider.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewmouseevent.h
try:
    QgsLayoutViewMouseEvent.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewrubberband.h
try:
    QgsLayoutViewRubberBand.__attribute_docs__ = {'sizeChanged': 'Emitted when the size of the rubber band is changed. The ``size``\nargument gives a translated string describing the new rubber band size,\nwith a format which differs per subclass (e.g. rectangles may describe\na size using width and height, while circles may describe a size by radius).\n'}
    QgsLayoutViewRubberBand.__signal_arguments__ = {'sizeChanged': ['size: str']}
    QgsLayoutViewRubberBand.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutViewRectangularRubberBand.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutViewEllipticalRubberBand.__group__ = ['layout']
except NameError:
    pass
try:
    QgsLayoutViewTriangleRubberBand.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtool.h
try:
    QgsLayoutViewTool.__attribute_docs__ = {'activated': 'Emitted when the tool is activated.\n', 'deactivated': 'Emitted when the tool is deactivated.\n', 'itemFocused': 'Emitted when an ``item`` is "focused" by the tool, i.e. it should become the active\nitem and should have its properties displayed in any designer windows.\n'}
    QgsLayoutViewTool.__signal_arguments__ = {'itemFocused': ['item: QgsLayoutItem']}
    QgsLayoutViewTool.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtooladditem.h
try:
    QgsLayoutViewToolAddItem.__attribute_docs__ = {'createdItem': 'Emitted when an item has been created using the tool.\n'}
    QgsLayoutViewToolAddItem.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtooladdnodeitem.h
try:
    QgsLayoutViewToolAddNodeItem.__attribute_docs__ = {'createdItem': 'Emitted when an item has been created using the tool.\n'}
    QgsLayoutViewToolAddNodeItem.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtooleditnodes.h
try:
    QgsLayoutViewToolEditNodes.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtoolmoveitemcontent.h
try:
    QgsLayoutViewToolMoveItemContent.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtoolpan.h
try:
    QgsLayoutViewToolPan.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtoolselect.h
try:
    QgsLayoutViewToolSelect.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtooltemporarykeypan.h
try:
    QgsLayoutViewToolTemporaryKeyPan.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtooltemporarykeyzoom.h
try:
    QgsLayoutViewToolTemporaryKeyZoom.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtooltemporarymousepan.h
try:
    QgsLayoutViewToolTemporaryMousePan.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/layout/qgslayoutviewtoolzoom.h
try:
    QgsLayoutViewToolZoom.__group__ = ['layout']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgslegendfilterbutton.h
try:
    QgsLegendFilterButton.__attribute_docs__ = {'expressionTextChanged': 'Emitted when the expression text changes\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgslegendpatchshapebutton.h
try:
    QgsLegendPatchShapeButton.__attribute_docs__ = {'changed': "Emitted when the shape's settings are changed.\n\n.. seealso:: :py:func:`shape`\n\n.. seealso:: :py:func:`setShape`\n"}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgslegendpatchshapewidget.h
try:
    QgsLegendPatchShapeWidget.__attribute_docs__ = {'changed': 'Emitted whenever the patch shape defined by the widget is changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgslimitedrandomcolorrampdialog.h
try:
    QgsLimitedRandomColorRampWidget.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
try:
    QgsLimitedRandomColorRampDialog.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/locator/qgslocatorwidget.h
try:
    QgsLocatorWidget.__attribute_docs__ = {'configTriggered': 'Emitted when the configure option is triggered in the widget.\n'}
    QgsLocatorWidget.__group__ = ['locator']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmapcanvas.h
try:
    QgsMapCanvas.__attribute_docs__ = {'xyCoordinates': 'Emits current mouse position\n\n.. note::\n\n   changed in 1.3\n', 'scaleChanged': 'Emitted when the scale of the map changes\n', 'scaleLockChanged': 'Emitted when the scale locked state of the map changes\n\n:param locked: true if the scale is locked\n\n.. seealso:: :py:func:`setScaleLocked`\n\n.. versionadded:: 3.18\n', 'extentsChanged': 'Emitted when the extents of the map change\n', 'rotationChanged': 'Emitted when the rotation of the map changes\n', 'magnificationChanged': 'Emitted when the scale of the map changes\n', 'canvasColorChanged': 'Emitted when canvas background color changes\n', 'renderComplete': 'Emitted when the canvas has rendered.\nPasses a pointer to the painter on which the map was drawn. This is\nuseful for plugins that wish to draw on the map after it has been\nrendered.  Passing the painter allows plugins to work when the map is\nbeing rendered onto a pixmap other than the mapCanvas own pixmap member.\n\n- anything related to rendering progress is not visible outside of map canvas\n- additional drawing shall be done directly within the renderer job or independently as a map canvas item\n', 'mapCanvasRefreshed': 'Emitted when canvas finished a refresh request.\n', 'renderStarting': 'Emitted when the canvas is about to be rendered.\n', 'mapRefreshCanceled': 'Emitted when the pending map refresh has been canceled\n\n.. versionadded:: 3.18\n', 'layersChanged': 'Emitted when a new set of layers has been received\n', 'keyPressed': 'Emit key press event\n', 'keyReleased': 'Emit key release event\n', 'mapToolSet': 'Emit map tool changed with the old tool\n', 'selectionChanged': 'Emitted when selection in any ``layer`` gets changed.\n\n.. note::\n\n   Since QGIS 3.28 this signal is emitted for multiple layer types, including :py:class:`QgsVectorLayer` and :py:class:`QgsVectorTileLayer`\n', 'zoomLastStatusChanged': 'Emitted when zoom last status changed\n', 'zoomNextStatusChanged': 'Emitted when zoom next status changed\n', 'destinationCrsChanged': 'Emitted when map CRS has changed\n', 'transformContextChanged': 'Emitted when the canvas transform context is changed.\n', 'currentLayerChanged': 'Emitted when the current layer is changed\n', 'layerStyleOverridesChanged': 'Emitted when the configuration of overridden layer styles changes\n', 'themeChanged': 'Emitted when the canvas has been assigned a different map theme.\n\n.. seealso:: :py:func:`setTheme`\n', 'messageEmitted': 'emit a message (usually to be displayed in a message bar)\n', 'renderErrorOccurred': 'Emitted whenever an error is encountered during a map render operation.\n\nThe ``layer`` argument indicates the associated map layer, if available.\n\n.. versionadded:: 3.10.0\n', 'panDistanceBearingChanged': 'Emitted whenever the distance or bearing of an in-progress panning\noperation is changed.\n\nThis signal will be emitted during a pan operation as the user moves the map,\ngiving the total distance and bearing between the map position at the\nstart of the pan and the current pan position.\n\n.. versionadded:: 3.12\n', 'tapAndHoldGestureOccurred': 'Emitted whenever a tap and hold ``gesture`` occurs at the specified map point.\n\n.. versionadded:: 3.12\n', 'temporalRangeChanged': 'Emitted when the map canvas temporal range changes.\n\n.. versionadded:: 3.14\n', 'zRangeChanged': 'Emitted when the map canvas z (elevation) range changes.\n\n.. seealso:: :py:func:`zRange`\n\n.. seealso:: :py:func:`setZRange`\n\n.. versionadded:: 3.18\n', 'contextMenuAboutToShow': 'Emitted before the map canvas context menu will be shown.\nCan be used to extend the context menu.\n\n.. versionadded:: 3.16\n'}
    QgsMapCanvas.__signal_arguments__ = {'xyCoordinates': ['p: QgsPointXY'], 'scaleChanged': ['scale: float'], 'scaleLockChanged': ['locked: bool'], 'rotationChanged': ['rotation: float'], 'magnificationChanged': ['magnification: float'], 'renderComplete': ['painter: QPainter'], 'keyPressed': ['e: QKeyEvent'], 'keyReleased': ['e: QKeyEvent'], 'mapToolSet': ['newTool: QgsMapTool', 'oldTool: QgsMapTool'], 'selectionChanged': ['layer: QgsMapLayer'], 'zoomLastStatusChanged': ['available: bool'], 'zoomNextStatusChanged': ['available: bool'], 'currentLayerChanged': ['layer: QgsMapLayer'], 'themeChanged': ['theme: str'], 'messageEmitted': ['title: str', 'message: str', 'level: Qgis.MessageLevel = Qgis.MessageLevel.Info'], 'renderErrorOccurred': ['error: str', 'layer: QgsMapLayer'], 'panDistanceBearingChanged': ['distance: float', 'unit: Qgis.DistanceUnit', 'bearing: float'], 'tapAndHoldGestureOccurred': ['mapPoint: QgsPointXY', 'gesture: QTapAndHoldGesture'], 'contextMenuAboutToShow': ['menu: QMenu', 'event: QgsMapMouseEvent']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmapcanvasinteractionblocker.h
# monkey patching scoped based enum
QgsMapCanvasInteractionBlocker.Interaction.MapPanOnSingleClick.__doc__ = "A map pan interaction caused by a single click and release on the map canvas"
QgsMapCanvasInteractionBlocker.Interaction.__doc__ = """Available interactions to block.

* ``MapPanOnSingleClick``: A map pan interaction caused by a single click and release on the map canvas

"""
# --
# The following has been generated automatically from src/gui/qgsmapcanvastracer.h
try:
    QgsMapCanvasTracer.tracerForCanvas = staticmethod(QgsMapCanvasTracer.tracerForCanvas)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmapcanvasutils.h
try:
    QgsMapCanvasUtils.zoomToMatchingFeatures = staticmethod(QgsMapCanvasUtils.zoomToMatchingFeatures)
    QgsMapCanvasUtils.flashMatchingFeatures = staticmethod(QgsMapCanvasUtils.flashMatchingFeatures)
    QgsMapCanvasUtils.filterForLayer = staticmethod(QgsMapCanvasUtils.filterForLayer)
except NameError:
    pass
# The following has been generated automatically from src/gui/actions/qgsmaplayeraction.h
try:
    QgsMapLayerAction.__attribute_docs__ = {'triggeredForFeatures': 'Triggered when action has been run for a specific list of features\n\n.. deprecated:: 3.40\n\n   Use the version with :py:class:`QgsMapLayerActionContext` instead.\n', 'triggeredForFeature': 'Triggered when action has been run for a specific feature\n\n.. deprecated:: 3.40\n\n   Use the version with :py:class:`QgsMapLayerActionContext` instead.\n', 'triggeredForLayer': 'Triggered when action has been run for a specific layer\n\n.. deprecated:: 3.40\n\n   Use the version with :py:class:`QgsMapLayerActionContext` instead.\n', 'triggeredForFeaturesV2': 'Triggered when action has been run for a specific list of features\n\n.. versionadded:: 3.30\n', 'triggeredForFeatureV2': 'Triggered when action has been run for a specific feature.\n\n.. versionadded:: 3.30\n', 'triggeredForLayerV2': 'Triggered when action has been run for a specific layer.\n\n.. versionadded:: 3.30\n'}
    QgsMapLayerAction.__signal_arguments__ = {'triggeredForFeaturesV2': ['layer: QgsMapLayer', 'featureList: List[QgsFeature]', 'context: QgsMapLayerActionContext'], 'triggeredForFeatureV2': ['layer: QgsMapLayer', 'feature: QgsFeature', 'context: QgsMapLayerActionContext'], 'triggeredForLayerV2': ['layer: QgsMapLayer', 'context: QgsMapLayerActionContext']}
    QgsMapLayerAction.__group__ = ['actions']
except NameError:
    pass
# The following has been generated automatically from src/gui/actions/qgsmaplayeractioncontext.h
try:
    QgsMapLayerActionContext.__group__ = ['actions']
except NameError:
    pass
# The following has been generated automatically from src/gui/actions/qgsmaplayeractioncontextgenerator.h
try:
    QgsMapLayerActionContextGenerator.__group__ = ['actions']
except NameError:
    pass
# The following has been generated automatically from src/gui/actions/qgsmaplayeractionregistry.h
try:
    QgsMapLayerActionRegistry.__attribute_docs__ = {'changed': 'Triggered when an action is added or removed from the registry\n'}
    QgsMapLayerActionRegistry.__group__ = ['actions']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmaplayercombobox.h
try:
    QgsMapLayerComboBox.__attribute_docs__ = {'layerChanged': 'Emitted whenever the currently selected layer changes.\n'}
    QgsMapLayerComboBox.__signal_arguments__ = {'layerChanged': ['layer: QgsMapLayer']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmaplayerconfigwidgetfactory.h
# monkey patching scoped based enum
QgsMapLayerConfigWidgetFactory.ParentPage.NoParent.__doc__ = "Factory creates pages itself, not sub-components"
QgsMapLayerConfigWidgetFactory.ParentPage.Temporal.__doc__ = "Factory creates sub-components of the temporal properties page (only supported for raster layer temporal properties)"
QgsMapLayerConfigWidgetFactory.ParentPage.__doc__ = """Available parent pages, for factories which create a widget which is a sub-component
of a standard page.

.. versionadded:: 3.20

* ``NoParent``: Factory creates pages itself, not sub-components
* ``Temporal``: Factory creates sub-components of the temporal properties page (only supported for raster layer temporal properties)

"""
# --
# The following has been generated automatically from src/gui/qgsmaplayerstylecategoriesmodel.h
# monkey patching scoped based enum
QgsMapLayerStyleCategoriesModel.Role.NameRole.__doc__ = ""
QgsMapLayerStyleCategoriesModel.Role.__doc__ = """Custom model roles

* ``NameRole``: 

"""
# --
# The following has been generated automatically from src/gui/qgsmaptip.h
try:
    QgsMapTip.vectorMapTipPreviewText = staticmethod(QgsMapTip.vectorMapTipPreviewText)
    QgsMapTip.rasterMapTipPreviewText = staticmethod(QgsMapTip.rasterMapTipPreviewText)
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptool.h
try:
    QgsMapTool.__attribute_docs__ = {'messageEmitted': 'emit a message\n', 'messageDiscarded': 'emit signal to clear previous message\n', 'activated': 'signal emitted once the map tool is activated\n', 'deactivated': 'signal emitted once the map tool is deactivated\n', 'reactivated': '\n.. versionadded:: 3.32\n'}
    QgsMapTool.searchRadiusMM = staticmethod(QgsMapTool.searchRadiusMM)
    QgsMapTool.searchRadiusMU = staticmethod(QgsMapTool.searchRadiusMU)
    QgsMapTool.__signal_arguments__ = {'messageEmitted': ['message: str', ': Qgis.MessageLevel = Qgis.MessageLevel.Info']}
    QgsMapTool.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptooladvanceddigitizing.h
try:
    QgsMapToolAdvancedDigitizing.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolcapture.h
try:
    QgsMapToolCapture.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolcapturelayergeometry.h
try:
    QgsMapToolCaptureLayerGeometry.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptooldigitizefeature.h
try:
    QgsMapToolDigitizeFeature.__attribute_docs__ = {'digitizingCompleted': 'Emitted whenever the digitizing has been successfully completed\n\n:param feature: the new digitized feature\n', 'digitizingFinished': 'Emitted whenever the digitizing has been ended without digitizing\nany feature\n', 'digitizingCanceled': 'Emitted when the digitizing process was interrupted by the user.\n\n.. versionadded:: 3.28\n'}
    QgsMapToolDigitizeFeature.__signal_arguments__ = {'digitizingCompleted': ['feature: QgsFeature']}
    QgsMapToolDigitizeFeature.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptooledit.h
try:
    QgsMapToolEdit.defaultZValue = staticmethod(QgsMapToolEdit.defaultZValue)
    QgsMapToolEdit.defaultMValue = staticmethod(QgsMapToolEdit.defaultMValue)
    QgsMapToolEdit.digitizingStrokeColor = staticmethod(QgsMapToolEdit.digitizingStrokeColor)
    QgsMapToolEdit.digitizingStrokeWidth = staticmethod(QgsMapToolEdit.digitizingStrokeWidth)
    QgsMapToolEdit.digitizingFillColor = staticmethod(QgsMapToolEdit.digitizingFillColor)
    QgsMapToolEdit.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolemitpoint.h
try:
    QgsMapToolEmitPoint.__attribute_docs__ = {'canvasClicked': 'signal emitted on canvas click\n'}
    QgsMapToolEmitPoint.__signal_arguments__ = {'canvasClicked': ['point: QgsPointXY', 'button: Qt.MouseButton']}
    QgsMapToolEmitPoint.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolextent.h
try:
    QgsMapToolExtent.__attribute_docs__ = {'extentChanged': 'signal emitted on extent change\n'}
    QgsMapToolExtent.__signal_arguments__ = {'extentChanged': ['extent: QgsRectangle']}
    QgsMapToolExtent.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolidentify.h
QgsMapToolIdentify.IdentifyMode.baseClass = QgsMapToolIdentify
QgsMapToolIdentify.LayerType.baseClass = QgsMapToolIdentify
LayerType = QgsMapToolIdentify  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsMapToolIdentify.__attribute_docs__ = {'identifyProgress': 'Emitted when the identify action progresses.\n\n:param processed: number of objects processed so far\n:param total: total number of objects to process\n', 'identifyMessage': 'Emitted when the identify operation needs to show a user-facing message\n\n:param message: Message to show to the user\n', 'changedRasterResults': 'Emitted when the format of raster ``results`` is changed and need to be updated in user-facing displays.\n'}
    QgsMapToolIdentify.__signal_arguments__ = {'identifyProgress': ['processed: int', 'total: int'], 'identifyMessage': ['message: str'], 'changedRasterResults': ['results: List[QgsMapToolIdentify.IdentifyResult]']}
    QgsMapToolIdentify.__group__ = ['maptools']
except NameError:
    pass
try:
    QgsMapToolIdentify.IdentifyResult.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolidentifyfeature.h
try:
    QgsMapToolIdentifyFeature.__attribute_docs__ = {'featureIdentified': 'Emitted when a feature has been identified by its ``id``.\n\n.. deprecated:: 3.40\n\n   Use the signal with a :py:class:`QgsFeature` argument instead.\n'}
    QgsMapToolIdentifyFeature.__signal_arguments__ = {'featureIdentified': ['feature: QgsFeature']}
    QgsMapToolIdentifyFeature.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolpan.h
try:
    QgsMapToolPan.__attribute_docs__ = {'panDistanceBearingChanged': 'Emitted whenever the distance or bearing of an in-progress panning\noperation is changed.\n\nThis signal will be emitted during a pan operation as the user moves the map,\ngiving the total distance and bearing between the map position at the\nstart of the pan and the current pan position.\n\n.. versionadded:: 3.12\n'}
    QgsMapToolPan.__signal_arguments__ = {'panDistanceBearingChanged': ['distance: float', 'unit: Qgis.DistanceUnit', 'bearing: float']}
    QgsMapToolPan.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/maptools/qgsmaptoolzoom.h
try:
    QgsMapToolZoom.__group__ = ['maptools']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsmasksymbollayerwidget.h
try:
    QgsMaskMarkerSymbolLayerWidget.create = staticmethod(QgsMaskMarkerSymbolLayerWidget.create)
    QgsMaskMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmediawidget.h
QgsMediaWidget.Mode.baseClass = QgsMediaWidget
# The following has been generated automatically from src/gui/symbology/qgsmergedfeaturerendererwidget.h
try:
    QgsMergedFeatureRendererWidget.create = staticmethod(QgsMergedFeatureRendererWidget.create)
    QgsMergedFeatureRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/mesh/qgsmeshlayerproperties.h
try:
    QgsMeshLayerProperties.__group__ = ['mesh']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmessagebar.h
try:
    QgsMessageBar.__attribute_docs__ = {'widgetAdded': 'Emitted whenever an ``item`` is added to the bar.\n', 'widgetRemoved': 'Emitted whenever an ``item`` was removed from the bar.\n'}
    QgsMessageBar.createMessage = staticmethod(QgsMessageBar.createMessage)
    QgsMessageBar.defaultMessageTimeout = staticmethod(QgsMessageBar.defaultMessageTimeout)
    QgsMessageBar.__signal_arguments__ = {'widgetAdded': ['item: QgsMessageBarItem'], 'widgetRemoved': ['item: QgsMessageBarItem']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmessagebaritem.h
try:
    QgsMessageBarItem.__attribute_docs__ = {'styleChanged': "Emitted when the item's message level has changed and the message bar style\nwill need to be updated as a result.\n"}
    QgsMessageBarItem.__signal_arguments__ = {'styleChanged': ['styleSheet: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsmetadatawidget.h
try:
    QgsMetadataWidget.__attribute_docs__ = {'titleChanged': 'Emitted when the ``title`` field is changed.\n\n.. seealso:: :py:func:`title`\n\n.. seealso:: :py:func:`setTitle`\n\n.. versionadded:: 3.2\n'}
    QgsMetadataWidget.parseLanguages = staticmethod(QgsMetadataWidget.parseLanguages)
    QgsMetadataWidget.parseLicenses = staticmethod(QgsMetadataWidget.parseLicenses)
    QgsMetadataWidget.parseLinkTypes = staticmethod(QgsMetadataWidget.parseLinkTypes)
    QgsMetadataWidget.parseMimeTypes = staticmethod(QgsMetadataWidget.parseMimeTypes)
    QgsMetadataWidget.parseTypes = staticmethod(QgsMetadataWidget.parseTypes)
    QgsMetadataWidget.__signal_arguments__ = {'titleChanged': ['title: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/models/qgsmodelarrowitem.h
try:
    QgsModelArrowItem.__group__ = ['processing', 'models']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/models/qgsmodelcomponentgraphicitem.h
try:
    QgsModelComponentGraphicItem.__attribute_docs__ = {'requestModelRepaint': 'Emitted by the item to request a repaint of the parent model scene.\n', 'aboutToChange': 'Emitted when the definition of the associated component is about to be changed\nby the item.\n\nThe ``text`` argument gives the translated text describing the change about to occur, and the\noptional ``id`` can be used to group the associated undo commands.\n', 'changed': 'Emitted when the definition of the associated component is changed\nby the item.\n', 'repaintArrows': 'Emitted when item requests that all connected arrows are repainted.\n', 'updateArrowPaths': 'Emitted when item requires that all connected arrow paths are recalculated.\n', 'sizePositionChanged': "Emitted when the item's size or position changes.\n"}
    QgsModelComponentGraphicItem.__signal_arguments__ = {'aboutToChange': ['text: str', 'id: int = 0']}
    QgsModelComponentGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelChildAlgorithmGraphicItem.__attribute_docs__ = {'runFromHere': 'Emitted when the user opts to run the model from this child algorithm.\n\n.. versionadded:: 3.38\n', 'runSelected': 'Emitted when the user opts to run selected steps from the model.\n\n.. versionadded:: 3.38\n', 'showPreviousResults': 'Emitted when the user opts to view previous results from this child algorithm.\n\n.. versionadded:: 3.38\n', 'showLog': 'Emitted when the user opts to view the previous log from this child algorithm.\n\n.. versionadded:: 3.38\n'}
    QgsModelChildAlgorithmGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelParameterGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelOutputGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelCommentGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelGroupBoxGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/models/qgsmodeldesignerdialog.h
# monkey patching scoped based enum
QgsModelDesignerDialog.SaveAction.SaveAsFile.__doc__ = "Save model as a file"
QgsModelDesignerDialog.SaveAction.SaveInProject.__doc__ = "Save model into project"
QgsModelDesignerDialog.SaveAction.__doc__ = """Save action.

.. versionadded:: 3.24

* ``SaveAsFile``: Save model as a file
* ``SaveInProject``: Save model into project

"""
# --
try:
    QgsModelDesignerDialog.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelChildDependenciesWidget.__group__ = ['processing', 'models']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/models/qgsmodelgraphicitem.h
try:
    QgsModelDesignerFlatButtonGraphicItem.__attribute_docs__ = {'clicked': 'Emitted when the button is clicked.\n'}
    QgsModelDesignerFlatButtonGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelDesignerFoldButtonGraphicItem.__attribute_docs__ = {'folded': 'Emitted when the button ``folded`` state changes.\n\nIf ``folded`` is ``True``, the button represents the collapsed state for the item.\n'}
    QgsModelDesignerFoldButtonGraphicItem.__signal_arguments__ = {'folded': ['folded: bool']}
    QgsModelDesignerFoldButtonGraphicItem.__group__ = ['processing', 'models']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/models/qgsmodelgraphicsscene.h
try:
    QgsModelGraphicsScene.__attribute_docs__ = {'rebuildRequired': 'Emitted when a change in the model requires a full rebuild of the scene.\n', 'componentAboutToChange': 'Emitted whenever a component of the model is about to be changed.\n\nThe ``text`` argument gives the translated text describing the change about to occur, and the\noptional ``id`` can be used to group the associated undo commands.\n', 'componentChanged': 'Emitted whenever a component of the model is changed.\n', 'selectedItemChanged': 'Emitted whenever the selected item changes.\nIf ``None``, no item is selected.\n', 'runSelected': 'Emitted when the user opts to run selected steps from the model.\n\n.. versionadded:: 3.38\n', 'runFromChild': 'Emitted when the user opts to run the part of the model starting from the specified child algorithm.\n\n.. versionadded:: 3.38\n', 'showChildAlgorithmOutputs': 'Emitted when the user opts to view previous results from the child algorithm with matching ID.\n\n.. versionadded:: 3.38\n', 'showChildAlgorithmLog': 'Emitted when the user opts to view the previous log from the child algorithm with matching ID.\n\n.. versionadded:: 3.38\n'}
    QgsModelGraphicsScene.__signal_arguments__ = {'componentAboutToChange': ['text: str', 'id: int = 0'], 'selectedItemChanged': ['selected: QgsModelComponentGraphicItem'], 'runFromChild': ['childId: str'], 'showChildAlgorithmOutputs': ['childId: str'], 'showChildAlgorithmLog': ['childId: str']}
    QgsModelGraphicsScene.__group__ = ['processing', 'models']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/models/qgsmodelgraphicsview.h
try:
    QgsModelGraphicsView.__attribute_docs__ = {'algorithmDropped': 'Emitted when an algorithm is dropped onto the view.\n', 'inputDropped': 'Emitted when an input parameter is dropped onto the view.\n', 'itemFocused': 'Emitted when an ``item`` is "focused" in the view, i.e. it becomes the active\nitem and should have its properties displayed in any designer windows.\n', 'willBeDeleted': 'Emitted in the destructor when the view is about to be deleted,\nbut is still in a perfectly valid state.\n', 'macroCommandStarted': 'Emitted when a macro command containing a group of interactions is started in the view.\n', 'macroCommandEnded': 'Emitted when a macro command containing a group of interactions in the view has ended.\n', 'beginCommand': 'Emitted when an undo command is started in the view.\n', 'endCommand': 'Emitted when an undo command in the view has ended.\n', 'deleteSelectedItems': 'Emitted when the selected items should be deleted;\n'}
    QgsModelGraphicsView.__signal_arguments__ = {'algorithmDropped': ['algorithmId: str', 'pos: QPointF'], 'inputDropped': ['inputId: str', 'pos: QPointF'], 'itemFocused': ['item: QgsModelComponentGraphicItem'], 'macroCommandStarted': ['text: str'], 'beginCommand': ['text: str']}
    QgsModelGraphicsView.__group__ = ['processing', 'models']
except NameError:
    pass
try:
    QgsModelViewSnapMarker.__group__ = ['processing', 'models']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsmultibandcolorrendererwidget.h
try:
    QgsMultiBandColorRendererWidget.create = staticmethod(QgsMultiBandColorRendererWidget.create)
    QgsMultiBandColorRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsmultiedittoolbutton.h
try:
    QgsMultiEditToolButton.__attribute_docs__ = {'setFieldValueTriggered': 'Emitted when the "set field value for all features" option is selected.\n', 'resetFieldValueTriggered': 'Emitted when the "reset to original values" option is selected.\n'}
    QgsMultiEditToolButton.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsnewdatabasetablenamewidget.h
try:
    QgsNewDatabaseTableNameWidget.__attribute_docs__ = {'validationChanged': 'This signal is emitted whenever the validation status of the widget changes.\n\n:param isValid: ``True`` if the current status of the widget is valid\n', 'schemaNameChanged': 'This signal is emitted when the user selects a schema (or file path for filesystem-based DBs like spatialite or GPKG).\n\n:param schemaName: the name of the selected schema\n', 'tableNameChanged': 'This signal is emitted when the user enters a table name\n\n:param tableName: the name of the new table\n', 'providerKeyChanged': 'This signal is emitted when the selects a data provider or a schema name\nthat has a different data provider than the previously selected one.\n\n:param providerKey: the data provider key of the selected schema\n', 'uriChanged': 'This signal is emitted when the URI of the new table changes, whether or not it is a valid one.\n\n:param uri: URI string representation\n', 'accepted': 'Emitted when the OK/accept button is clicked.\n'}
    QgsNewDatabaseTableNameWidget.__signal_arguments__ = {'validationChanged': ['isValid: bool'], 'schemaNameChanged': ['schemaName: str'], 'tableNameChanged': ['tableName: str'], 'providerKeyChanged': ['providerKey: str'], 'uriChanged': ['uri: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsnewmemorylayerdialog.h
try:
    QgsNewMemoryLayerDialog.runAndCreateLayer = staticmethod(QgsNewMemoryLayerDialog.runAndCreateLayer)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsnewnamedialog.h
try:
    QgsNewNameDialog.__attribute_docs__ = {'newNameChanged': 'Emitted when the name is changed in the dialog.\n\n.. versionadded:: 3.2\n'}
    QgsNewNameDialog.exists = staticmethod(QgsNewNameDialog.exists)
    QgsNewNameDialog.fullNames = staticmethod(QgsNewNameDialog.fullNames)
    QgsNewNameDialog.matching = staticmethod(QgsNewNameDialog.matching)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsnewvectorlayerdialog.h
try:
    QgsNewVectorLayerDialog.runAndCreateLayer = staticmethod(QgsNewVectorLayerDialog.runAndCreateLayer)
    QgsNewVectorLayerDialog.execAndCreateLayer = staticmethod(QgsNewVectorLayerDialog.execAndCreateLayer)
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsnullsymbolrendererwidget.h
try:
    QgsNullSymbolRendererWidget.create = staticmethod(QgsNullSymbolRendererWidget.create)
    QgsNullSymbolRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/numericformats/qgsnumericformatguiregistry.h
try:
    QgsNumericFormatConfigurationWidgetFactory.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsNumericFormatGuiRegistry.__group__ = ['numericformats']
except NameError:
    pass
# The following has been generated automatically from src/gui/numericformats/qgsnumericformatselectorwidget.h
try:
    QgsNumericFormatSelectorWidget.__attribute_docs__ = {'changed': 'Emitted whenever the format configured55 in the widget is changed.\n'}
    QgsNumericFormatSelectorWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsNumericFormatSelectorDialog.__group__ = ['numericformats']
except NameError:
    pass
# The following has been generated automatically from src/gui/numericformats/qgsnumericformatwidget.h
try:
    QgsNumericFormatWidget.__attribute_docs__ = {'changed': 'Emitted whenever the configuration of the numeric format is changed.\n'}
    QgsNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsBasicNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsBearingNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsBearingNumericFormatDialog.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsGeographicCoordinateNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsGeographicCoordinateNumericFormatDialog.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsCurrencyNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsPercentageNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsScientificNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsFractionNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
try:
    QgsExpressionBasedNumericFormatWidget.__group__ = ['numericformats']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsopacitywidget.h
try:
    QgsOpacityWidget.__attribute_docs__ = {'opacityChanged': 'Emitted when the ``opacity`` is changed in the widget, where ``opacity`` ranges from 0.0 (transparent)\nto 1.0 (opaque).\n\n.. seealso:: :py:func:`setOpacity`\n\n.. seealso:: :py:func:`opacity`\n'}
    QgsOpacityWidget.__signal_arguments__ = {'opacityChanged': ['opacity: float']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsoptionsdialoghighlightwidget.h
try:
    QgsOptionsDialogHighlightWidget.createWidget = staticmethod(QgsOptionsDialogHighlightWidget.createWidget)
except NameError:
    pass
# The following has been generated automatically from src/gui/attributetable/qgsorganizetablecolumnsdialog.h
try:
    QgsOrganizeTableColumnsDialog.__group__ = ['attributetable']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsowssourceselect.h
try:
    QgsOWSSourceSelect.SupportedFormat.__doc__ = """Formats supported by provider"""
except NameError:
    pass
# The following has been generated automatically from src/gui/effects/qgspainteffectpropertieswidget.h
try:
    QgsPaintEffectPropertiesWidget.__attribute_docs__ = {'changed': 'Emitted when paint effect properties changes\n', 'changeEffect': 'Emitted when paint effect type changes\n'}
    QgsPaintEffectPropertiesWidget.__signal_arguments__ = {'changeEffect': ['effect: QgsPaintEffect']}
    QgsPaintEffectPropertiesWidget.__group__ = ['effects']
except NameError:
    pass
# The following has been generated automatically from src/gui/effects/qgspainteffectwidget.h
try:
    QgsPaintEffectWidget.__attribute_docs__ = {'changed': 'Emitted when properties of the effect are changed through the widget\n'}
    QgsPaintEffectWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsDrawSourceWidget.create = staticmethod(QgsDrawSourceWidget.create)
    QgsDrawSourceWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsBlurWidget.create = staticmethod(QgsBlurWidget.create)
    QgsBlurWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsShadowEffectWidget.create = staticmethod(QgsShadowEffectWidget.create)
    QgsShadowEffectWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsGlowWidget.create = staticmethod(QgsGlowWidget.create)
    QgsGlowWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsTransformWidget.create = staticmethod(QgsTransformWidget.create)
    QgsTransformWidget.__group__ = ['effects']
except NameError:
    pass
try:
    QgsColorEffectWidget.create = staticmethod(QgsColorEffectWidget.create)
    QgsColorEffectWidget.__group__ = ['effects']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgspalettedrendererwidget.h
try:
    QgsPalettedRendererWidget.create = staticmethod(QgsPalettedRendererWidget.create)
    QgsPalettedRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgspanelwidget.h
try:
    QgsPanelWidget.__attribute_docs__ = {'panelAccepted': 'Emitted when the panel is accepted by the user.\n\n:param panel: The panel widget that was accepted.\n\n.. note::\n\n   This argument is normally raised with emit panelAccepted(this)\n   so that callers can retrieve the widget easier in calling code.\n\n.. note::\n\n   this is emitted only when this panel is accepted, and is not emitted for\n   child panels. For example, if this panel opens a second stacked panel, then this panel\n   will not emit panelAccepted when the second panel is accepted.\n', 'showPanel': 'Emit when you require a panel to be show in the interface.\n\n:param panel: The panel widget to show.\n\n.. note::\n\n   If you are connected to this signal you should also connect\n   given panels showPanel signal as they can be nested.\n', 'widgetChanged': 'Emitted when the widget state changes.\nConnect to this to pull any changes off the widget when needed.\nAs panels are non blocking "dialogs" you should listen to this signal\nto give the user feedback when something changes.\n'}
    QgsPanelWidget.findParentPanel = staticmethod(QgsPanelWidget.findParentPanel)
    QgsPanelWidget.__signal_arguments__ = {'panelAccepted': ['panel: QgsPanelWidget'], 'showPanel': ['panel: QgsPanelWidget']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgspenstylecombobox.h
try:
    QgsPenStyleComboBox.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsPenJoinStyleComboBox.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsPenCapStyleComboBox.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgspercentagewidget.h
try:
    QgsPercentageWidget.__attribute_docs__ = {'valueChanged': 'Emitted when the ``value`` is changed in the widget, where ``value`` is a factor which ranges from 0.0 to 1.0.\n\n.. seealso:: :py:func:`setValue`\n\n.. seealso:: :py:func:`value`\n'}
    QgsPercentageWidget.__signal_arguments__ = {'valueChanged': ['value: float']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsplaybackcontrollerwidget.h
try:
    QgsPlaybackControllerWidget.__attribute_docs__ = {'operationTriggered': 'Emitted when a playback operation is triggered.\n'}
    QgsPlaybackControllerWidget.__signal_arguments__ = {'operationTriggered': ['operation: Qgis.PlaybackOperation']}
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplotcanvas.h
try:
    QgsPlotCanvas.__attribute_docs__ = {'toolChanged': 'Emitted when the plot tool is changed.\n', 'plotAreaChanged': 'Emitted whenever the visible area of the plot is changed.\n', 'contextMenuAboutToShow': 'Emitted before the canvas context menu will be shown.\nCan be used to extend the context menu.\n', 'willBeDeleted': 'Emitted in the destructor when the canvas is about to be deleted,\nbut is still in a perfectly valid state.\n'}
    QgsPlotCanvas.__signal_arguments__ = {'toolChanged': ['newTool: QgsPlotTool'], 'contextMenuAboutToShow': ['menu: QMenu', 'event: QgsPlotMouseEvent']}
    QgsPlotCanvas.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplotcanvasitem.h
try:
    QgsPlotCanvasItem.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplotmouseevent.h
try:
    QgsPlotMouseEvent.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplotrubberband.h
try:
    QgsPlotRubberBand.__group__ = ['plot']
except NameError:
    pass
try:
    QgsPlotRectangularRubberBand.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplottool.h
try:
    QgsPlotTool.__attribute_docs__ = {'activated': 'Emitted when the tool is activated.\n', 'deactivated': 'Emitted when the tool is deactivated\n'}
    QgsPlotTool.constrainPointToRect = staticmethod(QgsPlotTool.constrainPointToRect)
    QgsPlotTool.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplottoolpan.h
try:
    QgsPlotToolPan.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplottoolzoom.h
try:
    QgsPlotToolZoom.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/plot/qgsplottransienttools.h
try:
    QgsPlotToolTemporaryKeyPan.__group__ = ['plot']
except NameError:
    pass
try:
    QgsPlotToolTemporaryMousePan.__group__ = ['plot']
except NameError:
    pass
try:
    QgsPlotToolTemporaryKeyZoom.__group__ = ['plot']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgspointcloudattributecombobox.h
try:
    QgsPointCloudAttributeComboBox.__attribute_docs__ = {'attributeChanged': 'Emitted when the currently selected attribute changes.\n'}
    QgsPointCloudAttributeComboBox.__signal_arguments__ = {'attributeChanged': ['name: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/pointcloud/qgspointcloudrendererpropertieswidget.h
try:
    QgsPointCloudRendererPropertiesWidget.__group__ = ['pointcloud']
except NameError:
    pass
# The following has been generated automatically from src/gui/pointcloud/qgspointcloudrendererwidget.h
try:
    QgsPointCloudRendererWidget.__group__ = ['pointcloud']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgspointclusterrendererwidget.h
try:
    QgsPointClusterRendererWidget.create = staticmethod(QgsPointClusterRendererWidget.create)
    QgsPointClusterRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgspointdisplacementrendererwidget.h
try:
    QgsPointDisplacementRendererWidget.create = staticmethod(QgsPointDisplacementRendererWidget.create)
    QgsPointDisplacementRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgspresetcolorrampdialog.h
try:
    QgsPresetColorRampWidget.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
try:
    QgsPresetColorRampDialog.__attribute_docs__ = {'changed': 'Emitted when the dialog settings change\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingaggregatewidgets.h
# monkey patching scoped based enum
QgsAggregateMappingModel.ColumnDataIndex.SourceExpression.__doc__ = "Expression"
QgsAggregateMappingModel.ColumnDataIndex.Aggregate.__doc__ = "Aggregate name"
QgsAggregateMappingModel.ColumnDataIndex.Delimiter.__doc__ = "Delimiter"
QgsAggregateMappingModel.ColumnDataIndex.DestinationName.__doc__ = "Destination field name"
QgsAggregateMappingModel.ColumnDataIndex.DestinationType.__doc__ = "Destination field type string"
QgsAggregateMappingModel.ColumnDataIndex.DestinationLength.__doc__ = "Destination field length"
QgsAggregateMappingModel.ColumnDataIndex.DestinationPrecision.__doc__ = "Destination field precision"
QgsAggregateMappingModel.ColumnDataIndex.__doc__ = """The ColumnDataIndex enum represents the column index for the view

* ``SourceExpression``: Expression
* ``Aggregate``: Aggregate name
* ``Delimiter``: Delimiter
* ``DestinationName``: Destination field name
* ``DestinationType``: Destination field type string
* ``DestinationLength``: Destination field length
* ``DestinationPrecision``: Destination field precision

"""
# --
QgsAggregateMappingModel.ColumnDataIndex.baseClass = QgsAggregateMappingModel
try:
    QgsAggregateMappingModel.Aggregate.__attribute_docs__ = {'source': 'The source expression used as the input for the aggregate calculation', 'aggregate': 'Aggregate name', 'delimiter': 'Delimiter string', 'field': 'The field in its current status (it might have been renamed)'}
    QgsAggregateMappingModel.Aggregate.__doc__ = """The Aggregate struct holds information about an aggregate column"""
    QgsAggregateMappingModel.Aggregate.__group__ = ['processing']
except NameError:
    pass
try:
    QgsAggregateMappingWidget.__attribute_docs__ = {'changed': 'Emitted when the aggregates defined in the widget are changed.\n'}
    QgsAggregateMappingWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsAggregateMappingModel.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingalgorithmconfigurationwidget.h
try:
    QgsProcessingAlgorithmConfigurationWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingAlgorithmConfigurationWidgetFactory.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingalgorithmdialogbase.h
# monkey patching scoped based enum
QgsProcessingAlgorithmDialogBase.DialogMode.Single.__doc__ = "Single algorithm execution mode"
QgsProcessingAlgorithmDialogBase.DialogMode.Batch.__doc__ = "Batch processing mode"
QgsProcessingAlgorithmDialogBase.DialogMode.__doc__ = """Dialog modes.

.. versionadded:: 3.24

* ``Single``: Single algorithm execution mode
* ``Batch``: Batch processing mode

"""
# --
try:
    QgsProcessingAlgorithmDialogBase.__attribute_docs__ = {'algorithmAboutToRun': 'Emitted when the algorithm is about to run in the specified ``context``.\n\nThis signal can be used to tweak the ``context`` prior to the algorithm execution.\n\n.. versionadded:: 3.38\n', 'algorithmFinished': 'Emitted whenever an algorithm has finished executing in the dialog.\n\n.. versionadded:: 3.14\n'}
    QgsProcessingAlgorithmDialogBase.formatStringForLog = staticmethod(QgsProcessingAlgorithmDialogBase.formatStringForLog)
    QgsProcessingAlgorithmDialogBase.__signal_arguments__ = {'algorithmAboutToRun': ['context: QgsProcessingContext'], 'algorithmFinished': ['successful: bool', 'result: Dict[str, object]']}
    QgsProcessingAlgorithmDialogBase.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingbatchalgorithmdialogbase.h
try:
    QgsProcessingBatchAlgorithmDialogBase.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingfavoritealgorithmmanager.h
try:
    QgsProcessingFavoriteAlgorithmManager.__attribute_docs__ = {'changed': 'Emitted when the list of favorite algorithms is changed, e.g. when\na new algorithm ID is added to the list or an existing algorithm ID\nis removed from the list.\n'}
    QgsProcessingFavoriteAlgorithmManager.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessinggui.h
try:
    QgsProcessingGui.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingguiregistry.h
try:
    QgsProcessingGuiRegistry.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessinghistoryprovider.h
try:
    QgsProcessingHistoryProvider.__attribute_docs__ = {'executePython': 'Emitted when the provider needs to execute python ``commands`` in the Processing context.\n\n.. versionadded:: 3.32\n', 'createTest': 'Emitted when the provider needs to create a Processing test with the given python ``command``.\n\n.. versionadded:: 3.32\n'}
    QgsProcessingHistoryProvider.__signal_arguments__ = {'executePython': ['commands: str'], 'createTest': ['command: str']}
    QgsProcessingHistoryProvider.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessinghistorywidget.h
try:
    QgsProcessingHistoryWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingHistoryDialog.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingmaplayercombobox.h
try:
    QgsProcessingMapLayerComboBox.__attribute_docs__ = {'valueChanged': 'Emitted whenever the value is changed in the widget.\n'}
    QgsProcessingMapLayerComboBox.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingmodelerparameterwidget.h
try:
    QgsProcessingModelerParameterWidget.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingmultipleselectiondialog.h
try:
    QgsProcessingMultipleSelectionPanelWidget.__attribute_docs__ = {'acceptClicked': 'Emitted when the accept button is clicked.\n', 'selectionChanged': 'Emitted when the selection changes in the widget.\n'}
    QgsProcessingMultipleSelectionPanelWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingMultipleSelectionDialog.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingMultipleInputPanelWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingMultipleInputDialog.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingoutputdestinationwidget.h
try:
    QgsProcessingLayerOutputDestinationWidget.__attribute_docs__ = {'skipOutputChanged': 'Emitted whenever the "skip output" option is toggled in the widget.\n', 'destinationChanged': 'Emitted whenever the destination value is changed in the widget.\n'}
    QgsProcessingLayerOutputDestinationWidget.__signal_arguments__ = {'skipOutputChanged': ['skipped: bool']}
    QgsProcessingLayerOutputDestinationWidget.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingparameterdefinitionwidget.h
try:
    QgsProcessingAbstractParameterDefinitionWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingParameterDefinitionWidget.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingParameterDefinitionDialog.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingparameterswidget.h
try:
    QgsProcessingParametersWidget.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingrecentalgorithmlog.h
try:
    QgsProcessingRecentAlgorithmLog.__attribute_docs__ = {'changed': 'Emitted when the list of recently used algorithms is changed, e.g. when\na new algorithm ID is pushed to the list (see :py:func:`~QgsProcessingRecentAlgorithmLog.push`).\n'}
    QgsProcessingRecentAlgorithmLog.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingtoolboxmodel.h
# monkey patching scoped based enum
QgsProcessingToolboxModelNode.NodeProvider = QgsProcessingToolboxModelNode.NodeType.Provider
QgsProcessingToolboxModelNode.NodeType.NodeProvider = QgsProcessingToolboxModelNode.NodeType.Provider
QgsProcessingToolboxModelNode.NodeProvider.is_monkey_patched = True
QgsProcessingToolboxModelNode.NodeProvider.__doc__ = "Provider node"
QgsProcessingToolboxModelNode.NodeGroup = QgsProcessingToolboxModelNode.NodeType.Group
QgsProcessingToolboxModelNode.NodeType.NodeGroup = QgsProcessingToolboxModelNode.NodeType.Group
QgsProcessingToolboxModelNode.NodeGroup.is_monkey_patched = True
QgsProcessingToolboxModelNode.NodeGroup.__doc__ = "Group node"
QgsProcessingToolboxModelNode.NodeAlgorithm = QgsProcessingToolboxModelNode.NodeType.Algorithm
QgsProcessingToolboxModelNode.NodeType.NodeAlgorithm = QgsProcessingToolboxModelNode.NodeType.Algorithm
QgsProcessingToolboxModelNode.NodeAlgorithm.is_monkey_patched = True
QgsProcessingToolboxModelNode.NodeAlgorithm.__doc__ = "Algorithm node"
QgsProcessingToolboxModelNode.NodeRecent = QgsProcessingToolboxModelNode.NodeType.Recent
QgsProcessingToolboxModelNode.NodeType.NodeRecent = QgsProcessingToolboxModelNode.NodeType.Recent
QgsProcessingToolboxModelNode.NodeRecent.is_monkey_patched = True
QgsProcessingToolboxModelNode.NodeRecent.__doc__ = "Recent algorithms node"
QgsProcessingToolboxModelNode.Favorite = QgsProcessingToolboxModelNode.NodeType.Favorite
QgsProcessingToolboxModelNode.Favorite.is_monkey_patched = True
QgsProcessingToolboxModelNode.Favorite.__doc__ = "Favorites algorithms node, since QGIS 3.40"
QgsProcessingToolboxModelNode.NodeType.__doc__ = """Enumeration of possible model node types

* ``Provider``: Provider node

  Available as ``QgsProcessingToolboxModelNode.NodeProvider`` in older QGIS releases.

* ``Group``: Group node

  Available as ``QgsProcessingToolboxModelNode.NodeGroup`` in older QGIS releases.

* ``Algorithm``: Algorithm node

  Available as ``QgsProcessingToolboxModelNode.NodeAlgorithm`` in older QGIS releases.

* ``Recent``: Recent algorithms node

  Available as ``QgsProcessingToolboxModelNode.NodeRecent`` in older QGIS releases.

* ``Favorite``: Favorites algorithms node, since QGIS 3.40

"""
# --
QgsProcessingToolboxModelNode.NodeType.baseClass = QgsProcessingToolboxModelNode
QgsProcessingToolboxModel.Roles = QgsProcessingToolboxModel.CustomRole
# monkey patching scoped based enum
QgsProcessingToolboxModel.RoleNodeType = QgsProcessingToolboxModel.CustomRole.NodeType
QgsProcessingToolboxModel.Roles.RoleNodeType = QgsProcessingToolboxModel.CustomRole.NodeType
QgsProcessingToolboxModel.RoleNodeType.is_monkey_patched = True
QgsProcessingToolboxModel.RoleNodeType.__doc__ = "Corresponds to the node's type"
QgsProcessingToolboxModel.RoleAlgorithmFlags = QgsProcessingToolboxModel.CustomRole.AlgorithmFlags
QgsProcessingToolboxModel.Roles.RoleAlgorithmFlags = QgsProcessingToolboxModel.CustomRole.AlgorithmFlags
QgsProcessingToolboxModel.RoleAlgorithmFlags.is_monkey_patched = True
QgsProcessingToolboxModel.RoleAlgorithmFlags.__doc__ = "Returns the node's algorithm flags, for algorithm nodes"
QgsProcessingToolboxModel.RoleAlgorithmId = QgsProcessingToolboxModel.CustomRole.AlgorithmId
QgsProcessingToolboxModel.Roles.RoleAlgorithmId = QgsProcessingToolboxModel.CustomRole.AlgorithmId
QgsProcessingToolboxModel.RoleAlgorithmId.is_monkey_patched = True
QgsProcessingToolboxModel.RoleAlgorithmId.__doc__ = "Algorithm ID, for algorithm nodes"
QgsProcessingToolboxModel.RoleAlgorithmName = QgsProcessingToolboxModel.CustomRole.AlgorithmName
QgsProcessingToolboxModel.Roles.RoleAlgorithmName = QgsProcessingToolboxModel.CustomRole.AlgorithmName
QgsProcessingToolboxModel.RoleAlgorithmName.is_monkey_patched = True
QgsProcessingToolboxModel.RoleAlgorithmName.__doc__ = "Untranslated algorithm name, for algorithm nodes"
QgsProcessingToolboxModel.RoleAlgorithmShortDescription = QgsProcessingToolboxModel.CustomRole.AlgorithmShortDescription
QgsProcessingToolboxModel.Roles.RoleAlgorithmShortDescription = QgsProcessingToolboxModel.CustomRole.AlgorithmShortDescription
QgsProcessingToolboxModel.RoleAlgorithmShortDescription.is_monkey_patched = True
QgsProcessingToolboxModel.RoleAlgorithmShortDescription.__doc__ = "Short algorithm description, for algorithm nodes"
QgsProcessingToolboxModel.RoleAlgorithmTags = QgsProcessingToolboxModel.CustomRole.AlgorithmTags
QgsProcessingToolboxModel.Roles.RoleAlgorithmTags = QgsProcessingToolboxModel.CustomRole.AlgorithmTags
QgsProcessingToolboxModel.RoleAlgorithmTags.is_monkey_patched = True
QgsProcessingToolboxModel.RoleAlgorithmTags.__doc__ = "List of algorithm tags, for algorithm nodes"
QgsProcessingToolboxModel.RoleProviderFlags = QgsProcessingToolboxModel.CustomRole.ProviderFlags
QgsProcessingToolboxModel.Roles.RoleProviderFlags = QgsProcessingToolboxModel.CustomRole.ProviderFlags
QgsProcessingToolboxModel.RoleProviderFlags.is_monkey_patched = True
QgsProcessingToolboxModel.RoleProviderFlags.__doc__ = "Returns the node's provider flags"
QgsProcessingToolboxModel.CustomRole.__doc__ = """Custom model roles.

.. note::

   Prior to QGIS 3.36 this was available as QgsProcessingToolboxModel.Roles

.. versionadded:: 3.36

* ``NodeType``: Corresponds to the node's type

  Available as ``QgsProcessingToolboxModel.RoleNodeType`` in older QGIS releases.

* ``AlgorithmFlags``: Returns the node's algorithm flags, for algorithm nodes

  Available as ``QgsProcessingToolboxModel.RoleAlgorithmFlags`` in older QGIS releases.

* ``AlgorithmId``: Algorithm ID, for algorithm nodes

  Available as ``QgsProcessingToolboxModel.RoleAlgorithmId`` in older QGIS releases.

* ``AlgorithmName``: Untranslated algorithm name, for algorithm nodes

  Available as ``QgsProcessingToolboxModel.RoleAlgorithmName`` in older QGIS releases.

* ``AlgorithmShortDescription``: Short algorithm description, for algorithm nodes

  Available as ``QgsProcessingToolboxModel.RoleAlgorithmShortDescription`` in older QGIS releases.

* ``AlgorithmTags``: List of algorithm tags, for algorithm nodes

  Available as ``QgsProcessingToolboxModel.RoleAlgorithmTags`` in older QGIS releases.

* ``ProviderFlags``: Returns the node's provider flags

  Available as ``QgsProcessingToolboxModel.RoleProviderFlags`` in older QGIS releases.


"""
# --
QgsProcessingToolboxModel.CustomRole.baseClass = QgsProcessingToolboxModel
# monkey patching scoped based enum
QgsProcessingToolboxProxyModel.FilterToolbox = QgsProcessingToolboxProxyModel.Filter.Toolbox
QgsProcessingToolboxProxyModel.Filter.FilterToolbox = QgsProcessingToolboxProxyModel.Filter.Toolbox
QgsProcessingToolboxProxyModel.FilterToolbox.is_monkey_patched = True
QgsProcessingToolboxProxyModel.FilterToolbox.__doc__ = "Filters out any algorithms and content which should not be shown in the toolbox"
QgsProcessingToolboxProxyModel.FilterModeler = QgsProcessingToolboxProxyModel.Filter.Modeler
QgsProcessingToolboxProxyModel.Filter.FilterModeler = QgsProcessingToolboxProxyModel.Filter.Modeler
QgsProcessingToolboxProxyModel.FilterModeler.is_monkey_patched = True
QgsProcessingToolboxProxyModel.FilterModeler.__doc__ = "Filters out any algorithms and content which should not be shown in the modeler"
QgsProcessingToolboxProxyModel.FilterInPlace = QgsProcessingToolboxProxyModel.Filter.InPlace
QgsProcessingToolboxProxyModel.Filter.FilterInPlace = QgsProcessingToolboxProxyModel.Filter.InPlace
QgsProcessingToolboxProxyModel.FilterInPlace.is_monkey_patched = True
QgsProcessingToolboxProxyModel.FilterInPlace.__doc__ = "Only show algorithms which support in-place edits"
QgsProcessingToolboxProxyModel.FilterShowKnownIssues = QgsProcessingToolboxProxyModel.Filter.ShowKnownIssues
QgsProcessingToolboxProxyModel.Filter.FilterShowKnownIssues = QgsProcessingToolboxProxyModel.Filter.ShowKnownIssues
QgsProcessingToolboxProxyModel.FilterShowKnownIssues.is_monkey_patched = True
QgsProcessingToolboxProxyModel.FilterShowKnownIssues.__doc__ = "Show algorithms with known issues (hidden by default)"
QgsProcessingToolboxProxyModel.Filter.__doc__ = """Available filter flags for filtering the model

* ``Toolbox``: Filters out any algorithms and content which should not be shown in the toolbox

  Available as ``QgsProcessingToolboxProxyModel.FilterToolbox`` in older QGIS releases.

* ``Modeler``: Filters out any algorithms and content which should not be shown in the modeler

  Available as ``QgsProcessingToolboxProxyModel.FilterModeler`` in older QGIS releases.

* ``InPlace``: Only show algorithms which support in-place edits

  Available as ``QgsProcessingToolboxProxyModel.FilterInPlace`` in older QGIS releases.

* ``ShowKnownIssues``: Show algorithms with known issues (hidden by default)

  Available as ``QgsProcessingToolboxProxyModel.FilterShowKnownIssues`` in older QGIS releases.


"""
# --
QgsProcessingToolboxProxyModel.Filter.baseClass = QgsProcessingToolboxProxyModel
QgsProcessingToolboxProxyModel.Filters.baseClass = QgsProcessingToolboxProxyModel
Filters = QgsProcessingToolboxProxyModel  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsProcessingToolboxModel.__attribute_docs__ = {'recentAlgorithmAdded': 'Emitted whenever recent algorithms are added to the model.\n', 'favoriteAlgorithmAdded': 'Emitted whenever favorite algorithms are added to the model.\n'}
    QgsProcessingToolboxModel.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxModelNode.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxModelRecentNode.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxModelFavoriteNode.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxModelProviderNode.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxModelGroupNode.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxModelAlgorithmNode.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingToolboxProxyModel.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingtoolboxtreeview.h
try:
    QgsProcessingToolboxTreeView.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/processing/qgsprocessingwidgetwrapper.h
# monkey patching scoped based enum
QgsProcessingParametersGenerator.Flag.SkipDefaultValueParameters.__doc__ = "Parameters which are unchanged from their default values should not be included"
QgsProcessingParametersGenerator.Flag.__doc__ = """Flags controlling parameter generation.

.. versionadded:: 3.24

* ``SkipDefaultValueParameters``: Parameters which are unchanged from their default values should not be included

"""
# --
try:
    QgsAbstractProcessingParameterWidgetWrapper.__attribute_docs__ = {'widgetValueHasChanged': 'Emitted whenever the parameter value (as defined by the wrapped widget) is changed.\n'}
    QgsAbstractProcessingParameterWidgetWrapper.__signal_arguments__ = {'widgetValueHasChanged': ['wrapper: QgsAbstractProcessingParameterWidgetWrapper']}
    QgsAbstractProcessingParameterWidgetWrapper.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingContextGenerator.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingParametersGenerator.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingParameterWidgetContext.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingParameterWidgetFactoryInterface.__group__ = ['processing']
except NameError:
    pass
try:
    QgsProcessingHiddenWidgetWrapper.__group__ = ['processing']
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgsprojectionselectiondialog.h
try:
    QgsCrsSelectionWidget.__attribute_docs__ = {'crsChanged': 'Emitted when the CRS defined in the widget is changed.\n', 'crsDoubleClicked': 'Emitted when a CRS entry in the widget is double-clicked.\n', 'hasValidSelectionChanged': 'Emitted when the widget has a valid selection or not.\n'}
    QgsCrsSelectionWidget.__signal_arguments__ = {'crsDoubleClicked': ['crs: QgsCoordinateReferenceSystem'], 'hasValidSelectionChanged': ['isValid: bool']}
    QgsCrsSelectionWidget.__group__ = ['proj']
except NameError:
    pass
try:
    QgsProjectionSelectionDialog.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgsprojectionselectiontreewidget.h
try:
    QgsProjectionSelectionTreeWidget.__attribute_docs__ = {'crsSelected': 'Emitted when a projection is selected in the widget.\n', 'initialized': 'Notifies others that the widget is now fully initialized, including deferred selection of projection.\n\n.. deprecated:: 3.40\n\n   No longer emitted.\n', 'projectionDoubleClicked': 'Emitted when a projection is double clicked in the list.\n', 'hasValidSelectionChanged': 'Emitted when the selection in the tree is changed from a valid selection to an invalid selection, or vice-versa.\n\n.. versionadded:: 3.18\n'}
    QgsProjectionSelectionTreeWidget.__signal_arguments__ = {'hasValidSelectionChanged': ['isValid: bool']}
    QgsProjectionSelectionTreeWidget.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgsprojectionselectionwidget.h
try:
    QgsProjectionSelectionWidget.__attribute_docs__ = {'crsChanged': 'Emitted when the selected CRS is changed\n', 'cleared': 'Emitted when the not set option is selected.\n'}
    QgsProjectionSelectionWidget.__signal_arguments__ = {'crsChanged': ['crs: QgsCoordinateReferenceSystem']}
    QgsProjectionSelectionWidget.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgspropertyoverridebutton.h
try:
    QgsPropertyOverrideButton.__attribute_docs__ = {'changed': 'Emitted when property definition changes\n', 'activated': 'Emitted when the activated status of the widget changes\n', 'createAuxiliaryField': 'Emitted when creating a new auxiliary field\n'}
    QgsPropertyOverrideButton.__signal_arguments__ = {'activated': ['isActive: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsproviderconnectioncombobox.h
try:
    QgsProviderConnectionComboBox.__attribute_docs__ = {'connectionChanged': 'Emitted whenever the currently selected connection changes.\n'}
    QgsProviderConnectionComboBox.__signal_arguments__ = {'connectionChanged': ['connection: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsprovidersourcewidget.h
try:
    QgsProviderSourceWidget.__attribute_docs__ = {'validChanged': 'Emitted whenever the validation status of the widget changes.\n\nIf ``isValid`` is ``False`` then the widget is not valid, and any dialog using the widget should be prevented from\nbeing accepted.\n', 'changed': 'Emitted whenever the configuration of the widget changes.\n\n.. versionadded:: 3.30\n'}
    QgsProviderSourceWidget.__signal_arguments__ = {'validChanged': ['isValid: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsprovidersublayersdialog.h
try:
    QgsProviderSublayersDialog.__attribute_docs__ = {'layersAdded': 'Emitted when sublayers selected from the dialog should be added to the project.\n'}
    QgsProviderSublayersDialog.__signal_arguments__ = {'layersAdded': ['layers: List[QgsProviderSublayerDetails]']}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsqmlwidgetwrapper.h
try:
    QgsQmlWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsquerybuilder.h
try:
    QgsQueryBuilder.saveQueryToFile = staticmethod(QgsQueryBuilder.saveQueryToFile)
    QgsQueryBuilder.loadQueryFromFile = staticmethod(QgsQueryBuilder.loadQueryFromFile)
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsqueryresultwidget.h
# monkey patching scoped based enum
QgsQueryResultWidget.QueryWidgetMode.SqlQueryMode.__doc__ = "Defaults widget mode for SQL execution and SQL query layer creation."
QgsQueryResultWidget.QueryWidgetMode.QueryLayerUpdateMode.__doc__ = "SQL query layer update mode: the create SQL layer button is renamed to 'Update' and the SQL layer creation group box is expanded."
QgsQueryResultWidget.QueryWidgetMode.__doc__ = """The QueryWidgetMode enum represents various modes for the widget appearance.

* ``SqlQueryMode``: Defaults widget mode for SQL execution and SQL query layer creation.
* ``QueryLayerUpdateMode``: SQL query layer update mode: the create SQL layer button is renamed to 'Update' and the SQL layer creation group box is expanded.

"""
# --
QgsQueryResultWidget.QueryWidgetMode.baseClass = QgsQueryResultWidget
try:
    QgsQueryResultWidget.__attribute_docs__ = {'createSqlVectorLayer': 'Emitted when a new vector SQL (query) layer must be created.\n\n:param providerKey: name of the data provider\n:param connectionUri: the connection URI as returned by :py:func:`QgsAbstractProviderConnection.uri()`\n:param options:\n', 'firstResultBatchFetched': 'Emitted when the first batch of results has been fetched.\n\n.. note::\n\n   If the query returns no results this signal is not emitted.\n'}
    QgsQueryResultWidget.__signal_arguments__ = {'createSqlVectorLayer': ['providerKey: str', 'connectionUri: str', 'options: QgsAbstractDatabaseProviderConnection.SqlVectorLayerOptions']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsrangeslider.h
try:
    QgsRangeSlider.__attribute_docs__ = {'rangeChanged': 'Emitted when the range selected in the widget is changed.\n', 'rangeLimitsChanged': 'Emitted when the limits of values allowed in the widget is changed.\n', 'fixedRangeSizeChanged': "Emitted when the widget's fixed range size is changed.\n\n.. seealso:: :py:func:`fixedRangeSize`\n\n.. seealso:: :py:func:`setFixedRangeSize`\n\n.. versionadded:: 3.38\n"}
    QgsRangeSlider.__signal_arguments__ = {'rangeChanged': ['minimum: int', 'maximum: int'], 'rangeLimitsChanged': ['minimum: int', 'maximum: int'], 'fixedRangeSizeChanged': ['size: int']}
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterattributetabledialog.h
try:
    QgsRasterAttributeTableDialog.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterattributetablemodel.h
try:
    QgsRasterAttributeTableModel.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterattributetablewidget.h
try:
    QgsRasterAttributeTableWidget.__attribute_docs__ = {'rendererChanged': 'This signal is emitted after a successful classify operation which changed the raster renderer.\n'}
    QgsRasterAttributeTableWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterbandcombobox.h
try:
    QgsRasterBandComboBox.__attribute_docs__ = {'bandChanged': 'Emitted when the currently selected band changes.\n'}
    QgsRasterBandComboBox.displayBandName = staticmethod(QgsRasterBandComboBox.displayBandName)
    QgsRasterBandComboBox.__signal_arguments__ = {'bandChanged': ['band: int']}
    QgsRasterBandComboBox.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrastercontourrendererwidget.h
try:
    QgsRasterContourRendererWidget.create = staticmethod(QgsRasterContourRendererWidget.create)
    QgsRasterContourRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsrasterformatsaveoptionswidget.h
try:
    QgsRasterFormatSaveOptionsWidget.__attribute_docs__ = {'optionsChanged': 'Emitted when the options configured in the widget are changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterhistogramwidget.h
try:
    QgsRasterHistogramWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterlayerproperties.h
try:
    QgsRasterLayerProperties.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterlayertemporalpropertieswidget.h
try:
    QgsRasterLayerTemporalPropertiesWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterminmaxwidget.h
try:
    QgsRasterMinMaxWidget.__attribute_docs__ = {'widgetChanged': 'Emitted when something on the widget has changed.\nAll widgets will fire this event to notify of an internal change.\n', 'load': 'signal emitted when new min/max values are computed from statistics.\n'}
    QgsRasterMinMaxWidget.__signal_arguments__ = {'load': ['bandNo: int', 'min: float', 'max: float']}
    QgsRasterMinMaxWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsrasterpyramidsoptionswidget.h
try:
    QgsRasterPyramidsOptionsWidget.__attribute_docs__ = {'overviewListChanged': 'Emitted when the list of configured overviews is changed.\n', 'someValueChanged': 'Emitted when settings are changed in the widget.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrasterrendererwidget.h
try:
    QgsRasterRendererWidget.__attribute_docs__ = {'widgetChanged': 'Emitted when something on the widget has changed.\nAll widgets will fire this event to notify of an internal change.\n'}
    QgsRasterRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrastertransparencywidget.h
try:
    QgsRasterTransparencyWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsratiolockbutton.h
try:
    QgsRatioLockButton.__attribute_docs__ = {'lockChanged': 'Emitted whenever the lock state changes.\n'}
    QgsRatioLockButton.__signal_arguments__ = {'lockChanged': ['locked: bool']}
except NameError:
    pass
# The following has been generated automatically from src/gui/proj/qgsrecentcoordinatereferencesystemsmodel.h
QgsRecentCoordinateReferenceSystemsModel.Roles = QgsRecentCoordinateReferenceSystemsModel.CustomRole
# monkey patching scoped based enum
QgsRecentCoordinateReferenceSystemsModel.RoleCrs = QgsRecentCoordinateReferenceSystemsModel.CustomRole.Crs
QgsRecentCoordinateReferenceSystemsModel.Roles.RoleCrs = QgsRecentCoordinateReferenceSystemsModel.CustomRole.Crs
QgsRecentCoordinateReferenceSystemsModel.RoleCrs.is_monkey_patched = True
QgsRecentCoordinateReferenceSystemsModel.RoleCrs.__doc__ = "Coordinate reference system"
QgsRecentCoordinateReferenceSystemsModel.RoleAuthId = QgsRecentCoordinateReferenceSystemsModel.CustomRole.AuthId
QgsRecentCoordinateReferenceSystemsModel.Roles.RoleAuthId = QgsRecentCoordinateReferenceSystemsModel.CustomRole.AuthId
QgsRecentCoordinateReferenceSystemsModel.RoleAuthId.is_monkey_patched = True
QgsRecentCoordinateReferenceSystemsModel.RoleAuthId.__doc__ = "CRS authority ID"
QgsRecentCoordinateReferenceSystemsModel.CustomRole.__doc__ = """Custom model roles.

* ``Crs``: Coordinate reference system

  Available as ``QgsRecentCoordinateReferenceSystemsModel.RoleCrs`` in older QGIS releases.

* ``AuthId``: CRS authority ID

  Available as ``QgsRecentCoordinateReferenceSystemsModel.RoleAuthId`` in older QGIS releases.


"""
# --
QgsRecentCoordinateReferenceSystemsModel.CustomRole.baseClass = QgsRecentCoordinateReferenceSystemsModel
try:
    QgsRecentCoordinateReferenceSystemsModel.__group__ = ['proj']
except NameError:
    pass
try:
    QgsRecentCoordinateReferenceSystemsProxyModel.__group__ = ['proj']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsrelationaggregatesearchwidgetwrapper.h
try:
    QgsRelationAggregateSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsrelationeditorwidget.h
QgsRelationEditorWidget.Button.baseClass = QgsRelationEditorWidget
QgsRelationEditorWidget.Buttons.baseClass = QgsRelationEditorWidget
Buttons = QgsRelationEditorWidget  # dirty hack since SIP seems to introduce the flags in module
# The following has been generated automatically from src/gui/editorwidgets/qgsrelationreferencesearchwidgetwrapper.h
try:
    QgsRelationReferenceSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsrelationreferencewidget.h
try:
    QgsRelationReferenceWidget.__attribute_docs__ = {'foreignKeyChanged': 'Emitted when the foreign key changed\n\n.. deprecated:: 3.10\n', 'foreignKeysChanged': 'Emitted when the foreign keys changed\n\n.. versionadded:: 3.10\n'}
    QgsRelationReferenceWidget.__signal_arguments__ = {'foreignKeysChanged': ['keys: List[object]']}
    QgsRelationReferenceWidget.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsrelationreferencewidgetwrapper.h
try:
    QgsRelationReferenceWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsrelationwidgetwrapper.h
try:
    QgsRelationWidgetWrapper.__attribute_docs__ = {'relatedFeaturesChanged': 'Emit this signal, whenever the related features changed.\nThis happens for example when related features are added, removed,\nlinked or unlinked.\n\n.. versionadded:: 3.22\n'}
    QgsRelationWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsrendererpropertiesdialog.h
try:
    QgsRendererPropertiesDialog.__attribute_docs__ = {'layerVariablesChanged': 'Emitted when expression context variables on the associated\nvector layers have been changed. Will request the parent dialog\nto re-synchronize with the variables.\n', 'widgetChanged': 'Emitted when something on the widget has changed.\nAll widgets will fire this event to notify of an internal change.\n', 'showPanel': 'Emit when you require a panel to be show in the interface.\n\n:param panel: The panel widget to show.\n\n.. note::\n\n   If you are connected to this signal you should also connect\n   given panels showPanel signal as they can be nested.\n'}
    QgsRendererPropertiesDialog.__signal_arguments__ = {'showPanel': ['panel: QgsPanelWidget']}
    QgsRendererPropertiesDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgsrendererrasterpropertieswidget.h
try:
    QgsRendererRasterPropertiesWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsrendererwidget.h
try:
    QgsRendererWidget.__attribute_docs__ = {'layerVariablesChanged': 'Emitted when expression context variables on the associated\nvector layers have been changed. Will request the parent dialog\nto re-synchronize with the variables.\n', 'symbolLevelsChanged': 'Emitted when the symbol levels settings have been changed.\n\n.. deprecated:: 3.20\n\n   No longer emitted.\n'}
    QgsRendererWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsDataDefinedValueDialog.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsDataDefinedSizeDialog.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsDataDefinedRotationDialog.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsDataDefinedWidthDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsrichtexteditor.h
# monkey patching scoped based enum
QgsRichTextEditor.Mode.QTextDocument.__doc__ = "Default mode, exposes the Qt supported HTML/CSS subset"
QgsRichTextEditor.Mode.QgsTextRenderer.__doc__ = "QGIS text renderer mode, exposes the HTML/CSS subset supported by the QgsTextRenderer class"
QgsRichTextEditor.Mode.PlainText.__doc__ = "Plain text mode"
QgsRichTextEditor.Mode.__doc__ = """Widget modes.

.. versionadded:: 3.40

* ``QTextDocument``: Default mode, exposes the Qt supported HTML/CSS subset
* ``QgsTextRenderer``: QGIS text renderer mode, exposes the HTML/CSS subset supported by the QgsTextRenderer class
* ``PlainText``: Plain text mode

"""
# --
QgsRichTextEditor.Mode.baseClass = QgsRichTextEditor
try:
    QgsRichTextEditor.__attribute_docs__ = {'textChanged': 'Emitted when the text contents are changed.\n\n.. versionadded:: 3.26\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsrulebasedrendererwidget.h
try:
    QgsRuleBasedRendererWidget.create = staticmethod(QgsRuleBasedRendererWidget.create)
    QgsRuleBasedRendererWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRuleBasedRendererModel.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRendererRulePropsWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRendererRulePropsDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsscalecombobox.h
try:
    QgsScaleComboBox.__attribute_docs__ = {'scaleChanged': 'Emitted when *user* has finished editing/selecting a new scale.\nThe ``scale`` value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.\n'}
    QgsScaleComboBox.toString = staticmethod(QgsScaleComboBox.toString)
    QgsScaleComboBox.toDouble = staticmethod(QgsScaleComboBox.toDouble)
    QgsScaleComboBox.__signal_arguments__ = {'scaleChanged': ['scale: float']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsscalerangewidget.h
try:
    QgsScaleRangeWidget.__attribute_docs__ = {'rangeChanged': 'Emitted when the scale range set in the widget is changed.\nThe scale values indicates the scale denominator, e.g. 1000.0 for a 1:1000 map,\nor 0 to indicate not set.\n'}
    QgsScaleRangeWidget.__signal_arguments__ = {'rangeChanged': ['min: float', 'max: float']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsscalewidget.h
try:
    QgsScaleWidget.__attribute_docs__ = {'scaleChanged': 'Emitted when *user* has finished editing/selecting a new scale.\nThe ``scale`` value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.\n'}
    QgsScaleWidget.toString = staticmethod(QgsScaleWidget.toString)
    QgsScaleWidget.toDouble = staticmethod(QgsScaleWidget.toDouble)
    QgsScaleWidget.__signal_arguments__ = {'scaleChanged': ['scale: float']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsscreenhelper.h
try:
    QgsScreenHelper.__attribute_docs__ = {'screenDpiChanged': 'Emitted whenever the screen ``dpi`` associated with the widget is changed.\n\n.. seealso:: :py:func:`screenDpi`\n', 'availableGeometryChanged': 'Emitted whenever the available geometry of the screen associated with the widget is changed.\n\n.. seealso:: :py:func:`availableGeometry`\n'}
    QgsScreenHelper.__signal_arguments__ = {'screenDpiChanged': ['dpi: float'], 'availableGeometryChanged': ['geometry: QRect']}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgssearchwidgettoolbutton.h
try:
    QgsSearchWidgetToolButton.__attribute_docs__ = {'activeFlagsChanged': 'Emitted when the active flags selected in the widget is changed\n\n:param flags: active flags\n'}
    QgsSearchWidgetToolButton.__signal_arguments__ = {'activeFlagsChanged': ['flags: QgsSearchWidgetWrapper.FilterFlags']}
    QgsSearchWidgetToolButton.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgssearchwidgetwrapper.h
try:
    QgsSearchWidgetWrapper.__attribute_docs__ = {'expressionChanged': 'Emitted whenever the expression changes\n\n:param exp: The new search expression\n', 'valueChanged': 'Emitted when a user changes the value of the search widget.\n', 'valueCleared': 'Emitted when a user changes the value of the search widget back\nto an empty, default state.\n'}
    QgsSearchWidgetWrapper.exclusiveFilterFlags = staticmethod(QgsSearchWidgetWrapper.exclusiveFilterFlags)
    QgsSearchWidgetWrapper.nonExclusiveFilterFlags = staticmethod(QgsSearchWidgetWrapper.nonExclusiveFilterFlags)
    QgsSearchWidgetWrapper.toString = staticmethod(QgsSearchWidgetWrapper.toString)
    QgsSearchWidgetWrapper.__signal_arguments__ = {'expressionChanged': ['exp: str']}
    QgsSearchWidgetWrapper.__group__ = ['editorwidgets', 'core']
except NameError:
    pass
# The following has been generated automatically from src/gui/sensor/qgssensorguiregistry.h
try:
    QgsSensorGuiRegistry.__attribute_docs__ = {'sensorAdded': 'Emitted whenever a new sensor type is added to the registry, with the specified\n``type``.\n'}
    QgsSensorGuiRegistry.__signal_arguments__ = {'sensorAdded': ['type: str', 'name: str']}
    QgsSensorGuiRegistry.__group__ = ['sensor']
except NameError:
    pass
try:
    QgsSensorAbstractGuiMetadata.__group__ = ['sensor']
except NameError:
    pass
# The following has been generated automatically from src/gui/sensor/qgssensorwidget.h
try:
    QgsAbstractSensorWidget.__attribute_docs__ = {'changed': 'Emitted whenever configuration changes happened on this sensor configuration.\n'}
    QgsAbstractSensorWidget.__group__ = ['sensor']
except NameError:
    pass
# The following has been generated automatically from src/gui/settings/qgssettingseditorwidgetregistry.h
try:
    QgsSettingsEditorWidgetRegistry.__group__ = ['settings']
except NameError:
    pass
# The following has been generated automatically from src/gui/settings/qgssettingseditorwidgetwrapper.h
try:
    QgsSettingsEditorWidgetWrapper.fromWidget = staticmethod(QgsSettingsEditorWidgetWrapper.fromWidget)
    QgsSettingsEditorWidgetWrapper.__group__ = ['settings']
except NameError:
    pass
# The following has been generated automatically from src/gui/settings/qgssettingseditorwidgetwrapperimpl.h
# monkey patching scoped based enum
QgsSettingsStringComboBoxWrapper.Mode.Text.__doc__ = "Value is defined as the text entry"
QgsSettingsStringComboBoxWrapper.Mode.Data.__doc__ = "Value is defined as data entry with Qt.UserRole"
QgsSettingsStringComboBoxWrapper.Mode.__doc__ = """Mode to determine if the value is hold in the combo box text or data

* ``Text``: Value is defined as the text entry
* ``Data``: Value is defined as data entry with Qt.UserRole

"""
# --
try:
    QgsSettingsEditorWidgetWrapperTemplate.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsStringLineEditWrapper.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsStringComboBoxWrapper.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsBoolCheckBoxWrapper.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsIntegerSpinBoxWrapper.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsDoubleSpinBoxWrapper.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsColorButtonWrapper.__group__ = ['settings']
except NameError:
    pass
# The following has been generated automatically from src/gui/settings/qgssettingsregistrygui.h
try:
    QgsSettingsRegistryGui.__group__ = ['settings']
except NameError:
    pass
# The following has been generated automatically from src/gui/settings/qgssettingstreemodel.h
# monkey patching scoped based enum
QgsSettingsTreeModel.Column.Name.__doc__ = "Name"
QgsSettingsTreeModel.Column.Value.__doc__ = "Value"
QgsSettingsTreeModel.Column.Description.__doc__ = "Description"
QgsSettingsTreeModel.Column.__doc__ = """Columns

* ``Name``: Name
* ``Value``: Value
* ``Description``: Description

"""
# --
try:
    QgsSettingsTreeModel.__group__ = ['settings']
except NameError:
    pass
try:
    QgsSettingsTreeProxyModel.__group__ = ['settings']
except NameError:
    pass
# The following has been generated automatically from src/gui/settings/qgssettingstreewidget.h
try:
    QgsSettingsTreeWidget.__group__ = ['settings']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgssinglebandgrayrendererwidget.h
try:
    QgsSingleBandGrayRendererWidget.create = staticmethod(QgsSingleBandGrayRendererWidget.create)
    QgsSingleBandGrayRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/raster/qgssinglebandpseudocolorrendererwidget.h
try:
    QgsSingleBandPseudoColorRendererWidget.create = staticmethod(QgsSingleBandPseudoColorRendererWidget.create)
    QgsSingleBandPseudoColorRendererWidget.__group__ = ['raster']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssinglesymbolrendererwidget.h
try:
    QgsSingleSymbolRendererWidget.create = staticmethod(QgsSingleSymbolRendererWidget.create)
    QgsSingleSymbolRendererWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsslider.h
try:
    QgsSlider.__signal_arguments__ = {'valueChanged': [': object']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssmartgroupeditordialog.h
try:
    QgsSmartGroupCondition.__attribute_docs__ = {'removed': 'Emitted when the group with the specified ``id`` is removed.\n'}
    QgsSmartGroupCondition.__signal_arguments__ = {'removed': ['id: int']}
    QgsSmartGroupCondition.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSmartGroupEditorDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgssourceselectprovider.h
# monkey patching scoped based enum
QgsSourceSelectProvider.Capability.NoCapabilities.__doc__ = "No capabilities"
QgsSourceSelectProvider.Capability.ConfigureFromUri.__doc__ = "The source select widget can be configured from a URI"
QgsSourceSelectProvider.Capability.__doc__ = """The Capability enum describes the capabilities of the source select implementation.

.. versionadded:: 3.38

* ``NoCapabilities``: No capabilities
* ``ConfigureFromUri``: The source select widget can be configured from a URI

"""
# --
QgsSourceSelectProvider.Capability.baseClass = QgsSourceSelectProvider
QgsSourceSelectProvider.Capabilities.baseClass = QgsSourceSelectProvider
Capabilities = QgsSourceSelectProvider  # dirty hack since SIP seems to introduce the flags in module
# The following has been generated automatically from src/gui/qgssourceselectproviderregistry.h
try:
    QgsSourceSelectProviderRegistry.__attribute_docs__ = {'providerAdded': 'Emitted whenever a provider is added to the registry.\n\n.. versionadded:: 3.30\n', 'providerRemoved': 'Emitted whenever a provider is removed from the registry.\n\n.. versionadded:: 3.30\n'}
    QgsSourceSelectProviderRegistry.__signal_arguments__ = {'providerAdded': ['name: str'], 'providerRemoved': ['name: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsspacerwidgetwrapper.h
try:
    QgsSpacerWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsspinbox.h
try:
    QgsSpinBox.__attribute_docs__ = {'returnPressed': 'Emitted when the Return or Enter key is used in the line edit\n\n.. versionadded:: 3.40\n', 'textEdited': 'Emitted when the the value has been manually edited via line edit.\n\n.. versionadded:: 3.40\n'}
    QgsSpinBox.__signal_arguments__ = {'textEdited': ['text: str']}
    QgsSpinBox.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsstyleexportimportdialog.h
try:
    QgsStyleExportImportDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsstylegroupselectiondialog.h
try:
    QgsStyleGroupSelectionDialog.__attribute_docs__ = {'tagSelected': 'tag with tagName has been selected\n', 'tagDeselected': 'tag with tagName has been deselected\n', 'smartgroupSelected': 'smartgroup with groupName has been selected\n', 'smartgroupDeselected': 'smart group with groupName has been deselected\n', 'allDeselected': 'all deselected\n', 'allSelected': 'all selected\n', 'favoritesDeselected': 'Favorites has been deselected\n\n.. versionadded:: 3.14\n', 'favoritesSelected': 'Favorites has need selected\n\n.. versionadded:: 3.14\n'}
    QgsStyleGroupSelectionDialog.__signal_arguments__ = {'tagSelected': ['tagName: str'], 'tagDeselected': ['tagName: str'], 'smartgroupSelected': ['groupName: str'], 'smartgroupDeselected': ['groupName: str']}
    QgsStyleGroupSelectionDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsstyleitemslistwidget.h
try:
    QgsStyleItemsListWidget.__attribute_docs__ = {'selectionChanged': 'Emitted when the selected item is changed in the widget.\n\n:param name: Newly selected item name\n:param type: Newly selected item type\n', 'selectionChangedWithStylePath': 'Emitted when the selected item is changed in the widget.\n\n:param name: Newly selected item name\n:param type: Newly selected item type\n:param stylePath: file path to associated style database\n\n.. versionadded:: 3.26\n', 'saveEntity': 'Emitted when the user has opted to save a new entity to the style\ndatabase, by clicking the "Save" button in the widget.\n\nIt is the caller\'s responsibility to handle this in an appropriate\nmanner given the context of the widget.\n'}
    QgsStyleItemsListWidget.__signal_arguments__ = {'selectionChanged': ['name: str', 'type: QgsStyle.StyleEntity'], 'selectionChangedWithStylePath': ['name: str', 'type: QgsStyle.StyleEntity', 'stylePath: str']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsstylemanagerdialog.h
try:
    QgsStyleManagerDialog.addColorRampStatic = staticmethod(QgsStyleManagerDialog.addColorRampStatic)
    QgsStyleManagerDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsstylesavedialog.h
try:
    QgsStyleSaveDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgssublayersdialog.h
QgsSublayersDialog.PromptMode.baseClass = QgsSublayersDialog
try:
    QgsSublayersDialog.LayerDefinition.__attribute_docs__ = {'layerId': 'Identifier of the layer (one unique layer id may have multiple types though)', 'layerName': 'Name of the layer (not necessarily unique)', 'count': 'Number of features (might be unused)', 'type': 'Extra type depending on the use (e.g. geometry type for vector sublayers)', 'description': 'Description.\n\n.. versionadded:: 3.10'}
    QgsSublayersDialog.LayerDefinition.__doc__ = """A structure that defines layers for the purpose of this dialog"""
except NameError:
    pass
# The following has been generated automatically from src/gui/qgssubstitutionlistwidget.h
try:
    QgsSubstitutionListWidget.__attribute_docs__ = {'substitutionsChanged': 'Emitted when the substitution definitions change.\n'}
    QgsSubstitutionListWidget.__signal_arguments__ = {'substitutionsChanged': ['substitutions: QgsStringReplacementCollection']}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssvgselectorwidget.h
try:
    QgsSvgSelectorWidget.__attribute_docs__ = {'svgSelected': 'Emitted when an SVG is selected in the widget.\n', 'svgParametersChanged': 'Emitted when the parameters have changed\n\n.. versionadded:: 3.18\n'}
    QgsSvgSelectorWidget.__signal_arguments__ = {'svgSelected': ['path: str'], 'svgParametersChanged': ['parameters: Dict[str, QgsProperty]']}
    QgsSvgSelectorWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSvgSelectorFilterModel.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSvgSelectorListModel.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSvgSelectorGroupsModel.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSvgSelectorDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbolanimationsettingswidget.h
try:
    QgsSymbolAnimationSettingsWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSymbolAnimationSettingsDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbolbuffersettingswidget.h
try:
    QgsSymbolBufferSettingsWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSymbolBufferSettingsDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgssymbolbutton.h
try:
    QgsSymbolButton.__attribute_docs__ = {'changed': "Emitted when the symbol's settings are changed.\n\n.. seealso:: :py:func:`symbol`\n\n.. seealso:: :py:func:`setSymbol`\n"}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbollayerwidget.h
try:
    QgsSymbolLayerWidget.__attribute_docs__ = {'changed': 'Should be emitted whenever configuration changes happened on this symbol layer configuration.\nIf the subsymbol is changed, :py:func:`~QgsSymbolLayerWidget.symbolChanged` should be emitted instead.\n', 'symbolChanged': 'Should be emitted whenever the sub symbol changed on this symbol layer configuration.\nNormally :py:func:`~QgsSymbolLayerWidget.changed` should be preferred.\n\n.. seealso:: :py:func:`changed`\n'}
    QgsSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSimpleLineSymbolLayerWidget.create = staticmethod(QgsSimpleLineSymbolLayerWidget.create)
    QgsSimpleLineSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSimpleMarkerSymbolLayerWidget.create = staticmethod(QgsSimpleMarkerSymbolLayerWidget.create)
    QgsSimpleMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSimpleFillSymbolLayerWidget.create = staticmethod(QgsSimpleFillSymbolLayerWidget.create)
    QgsSimpleFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsFilledMarkerSymbolLayerWidget.create = staticmethod(QgsFilledMarkerSymbolLayerWidget.create)
    QgsFilledMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsGradientFillSymbolLayerWidget.create = staticmethod(QgsGradientFillSymbolLayerWidget.create)
    QgsGradientFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsShapeburstFillSymbolLayerWidget.create = staticmethod(QgsShapeburstFillSymbolLayerWidget.create)
    QgsShapeburstFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsMarkerLineSymbolLayerWidget.create = staticmethod(QgsMarkerLineSymbolLayerWidget.create)
    QgsMarkerLineSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsHashedLineSymbolLayerWidget.create = staticmethod(QgsHashedLineSymbolLayerWidget.create)
    QgsHashedLineSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSvgMarkerSymbolLayerWidget.create = staticmethod(QgsSvgMarkerSymbolLayerWidget.create)
    QgsSvgMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRasterMarkerSymbolLayerWidget.create = staticmethod(QgsRasterMarkerSymbolLayerWidget.create)
    QgsRasterMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsAnimatedMarkerSymbolLayerWidget.create = staticmethod(QgsAnimatedMarkerSymbolLayerWidget.create)
    QgsAnimatedMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRasterFillSymbolLayerWidget.create = staticmethod(QgsRasterFillSymbolLayerWidget.create)
    QgsRasterFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRasterLineSymbolLayerWidget.create = staticmethod(QgsRasterLineSymbolLayerWidget.create)
    QgsRasterLineSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsLineburstSymbolLayerWidget.create = staticmethod(QgsLineburstSymbolLayerWidget.create)
    QgsLineburstSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsFilledLineSymbolLayerWidget.create = staticmethod(QgsFilledLineSymbolLayerWidget.create)
    QgsFilledLineSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSVGFillSymbolLayerWidget.create = staticmethod(QgsSVGFillSymbolLayerWidget.create)
    QgsSVGFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsLinePatternFillSymbolLayerWidget.create = staticmethod(QgsLinePatternFillSymbolLayerWidget.create)
    QgsLinePatternFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsPointPatternFillSymbolLayerWidget.create = staticmethod(QgsPointPatternFillSymbolLayerWidget.create)
    QgsPointPatternFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsRandomMarkerFillSymbolLayerWidget.create = staticmethod(QgsRandomMarkerFillSymbolLayerWidget.create)
    QgsRandomMarkerFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsFontMarkerSymbolLayerWidget.create = staticmethod(QgsFontMarkerSymbolLayerWidget.create)
    QgsFontMarkerSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsCentroidFillSymbolLayerWidget.create = staticmethod(QgsCentroidFillSymbolLayerWidget.create)
    QgsCentroidFillSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsLinearReferencingSymbolLayerWidget.create = staticmethod(QgsLinearReferencingSymbolLayerWidget.create)
    QgsLinearReferencingSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsGeometryGeneratorSymbolLayerWidget.create = staticmethod(QgsGeometryGeneratorSymbolLayerWidget.create)
    QgsGeometryGeneratorSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbollevelsdialog.h
try:
    QgsSymbolLevelsWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSymbolLevelsDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbolselectordialog.h
try:
    QgsSymbolSelectorWidget.__attribute_docs__ = {'symbolModified': 'Emitted when a symbol is modified in the widget.\n'}
    QgsSymbolSelectorWidget.__group__ = ['symbology']
except NameError:
    pass
try:
    QgsSymbolSelectorDialog.__attribute_docs__ = {'symbolModified': 'Emitted when the symbol defined in the dialog is modified.\n'}
    QgsSymbolSelectorDialog.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbolslistwidget.h
try:
    QgsSymbolsListWidget.__attribute_docs__ = {'changed': 'Emitted when the symbol is modified in the widget.\n'}
    QgsSymbolsListWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgssymbolwidgetcontext.h
try:
    QgsSymbolWidgetContext.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/tableeditor/qgstableeditordialog.h
try:
    QgsTableEditorDialog.__attribute_docs__ = {'tableChanged': 'Emitted whenever the table contents are changed.\n', 'includeHeaderChanged': 'Emitted whenever the "include table header" setting is changed.\n'}
    QgsTableEditorDialog.__signal_arguments__ = {'includeHeaderChanged': ['included: bool']}
    QgsTableEditorDialog.__group__ = ['tableeditor']
except NameError:
    pass
# The following has been generated automatically from src/gui/tableeditor/qgstableeditorwidget.h
try:
    QgsTableEditorWidget.__attribute_docs__ = {'tableChanged': 'Emitted whenever the table contents are changed.\n', 'activeCellChanged': 'Emitted whenever the active (or selected) cell changes in the widget.\n'}
    QgsTableEditorWidget.__group__ = ['tableeditor']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgstablewidgetbase.h
try:
    QgsTableWidgetBase.__attribute_docs__ = {'valueChanged': 'Emitted each time a key or a value is changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgstextformatwidget.h
try:
    QgsTextFormatWidget.__attribute_docs__ = {'widgetChanged': 'Emitted when the text format defined by the widget changes\n', 'auxiliaryFieldCreated': 'Emitted when an auxiliary field is created in the widget.\n\n.. versionadded:: 3.10\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgstextwidgetwrapper.h
try:
    QgsTextWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/tiledscene/qgstiledscenerendererpropertieswidget.h
try:
    QgsTiledSceneRendererPropertiesWidget.__group__ = ['tiledscene']
except NameError:
    pass
# The following has been generated automatically from src/gui/tiledscene/qgstiledscenerendererwidget.h
try:
    QgsTiledSceneRendererWidget.__group__ = ['tiledscene']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgstreewidgetitem.h
try:
    QgsTreeWidgetItemObject.__attribute_docs__ = {'itemEdited': 'Emitted when the contents of the column in the specified item has been edited by the user.\n'}
    QgsTreeWidgetItemObject.__signal_arguments__ = {'itemEdited': ['item: QTreeWidgetItem', 'column: int']}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsunitselectionwidget.h
try:
    QgsMapUnitScaleWidget.__attribute_docs__ = {'mapUnitScaleChanged': 'Emitted when the settings in the widget are modified.\n\n:param scale: :py:class:`QgsMapUnitScale` reflecting new settings from the widget\n'}
    QgsMapUnitScaleWidget.__signal_arguments__ = {'mapUnitScaleChanged': ['scale: QgsMapUnitScale']}
except NameError:
    pass
try:
    QgsUnitSelectionWidget.__attribute_docs__ = {'changed': 'Emitted when the selected unit is changed, or the definition of the map unit scale is changed.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsvaliditycheckresultswidget.h
QgsValidityCheckResultsModel.Roles = QgsValidityCheckResultsModel.CustomRole
# monkey patching scoped based enum
QgsValidityCheckResultsModel.DescriptionRole = QgsValidityCheckResultsModel.CustomRole.Description
QgsValidityCheckResultsModel.Roles.DescriptionRole = QgsValidityCheckResultsModel.CustomRole.Description
QgsValidityCheckResultsModel.DescriptionRole.is_monkey_patched = True
QgsValidityCheckResultsModel.DescriptionRole.__doc__ = "Result detailed description"
QgsValidityCheckResultsModel.CustomRole.__doc__ = """Custom model roles.

.. note::

   Prior to QGIS 3.36 this was available as QgsValidityCheckResultsModel.Roles

.. versionadded:: 3.36

* ``Description``: Result detailed description

  Available as ``QgsValidityCheckResultsModel.DescriptionRole`` in older QGIS releases.


"""
# --
QgsValidityCheckResultsModel.CustomRole.baseClass = QgsValidityCheckResultsModel
try:
    QgsValidityCheckResultsWidget.runChecks = staticmethod(QgsValidityCheckResultsWidget.runChecks)
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsvaluemapsearchwidgetwrapper.h
try:
    QgsValueMapSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/qgsvaluerelationsearchwidgetwrapper.h
try:
    QgsValueRelationSearchWidgetWrapper.__group__ = ['editorwidgets']
except NameError:
    pass
# The following has been generated automatically from src/gui/qgsvariableeditorwidget.h
try:
    QgsVariableEditorWidget.__attribute_docs__ = {'scopeChanged': 'Emitted when the user has modified a scope using the widget.\n'}
except NameError:
    pass
# The following has been generated automatically from src/gui/symbology/qgsvectorfieldsymbollayerwidget.h
try:
    QgsVectorFieldSymbolLayerWidget.create = staticmethod(QgsVectorFieldSymbolLayerWidget.create)
    QgsVectorFieldSymbolLayerWidget.__group__ = ['symbology']
except NameError:
    pass
# The following has been generated automatically from src/gui/vector/qgsvectorlayerproperties.h
try:
    QgsVectorLayerProperties.__group__ = ['vector']
except NameError:
    pass
# The following has been generated automatically from src/gui/ogr/qgsvectorlayersaveasdialog.h
# monkey patching scoped based enum
QgsVectorLayerSaveAsDialog.Option.Symbology.__doc__ = "Show symbology options"
QgsVectorLayerSaveAsDialog.Option.DestinationCrs.__doc__ = "Show destination CRS (reprojection) option"
QgsVectorLayerSaveAsDialog.Option.Fields.__doc__ = "Show field customization group"
QgsVectorLayerSaveAsDialog.Option.AddToCanvas.__doc__ = "Show add to map option"
QgsVectorLayerSaveAsDialog.Option.SelectedOnly.__doc__ = "Show selected features only option"
QgsVectorLayerSaveAsDialog.Option.GeometryType.__doc__ = "Show geometry group"
QgsVectorLayerSaveAsDialog.Option.Extent.__doc__ = "Show extent group"
QgsVectorLayerSaveAsDialog.Option.Metadata.__doc__ = "Show metadata options"
QgsVectorLayerSaveAsDialog.Option.AllOptions.__doc__ = ""
QgsVectorLayerSaveAsDialog.Option.__doc__ = """Available dialog options.

* ``Symbology``: Show symbology options
* ``DestinationCrs``: Show destination CRS (reprojection) option
* ``Fields``: Show field customization group
* ``AddToCanvas``: Show add to map option
* ``SelectedOnly``: Show selected features only option
* ``GeometryType``: Show geometry group
* ``Extent``: Show extent group
* ``Metadata``: Show metadata options
* ``AllOptions``: 

"""
# --
QgsVectorLayerSaveAsDialog.Option.baseClass = QgsVectorLayerSaveAsDialog
QgsVectorLayerSaveAsDialog.Options.baseClass = QgsVectorLayerSaveAsDialog
Options = QgsVectorLayerSaveAsDialog  # dirty hack since SIP seems to introduce the flags in module
try:
    QgsVectorLayerSaveAsDialog.__group__ = ['ogr']
except NameError:
    pass
# The following has been generated automatically from src/gui/vectortile/qgsvectortilelayerproperties.h
try:
    QgsVectorTileLayerProperties.__group__ = ['vectortile']
except NameError:
    pass
# The following has been generated automatically from src/gui/editorwidgets/core/qgswidgetwrapper.h
# monkey patching scoped based enum
QgsWidgetWrapper.RootPath = QgsWidgetWrapper.Property.RootPath
QgsWidgetWrapper.RootPath.is_monkey_patched = True
QgsWidgetWrapper.RootPath.__doc__ = "Root path for external resource"
QgsWidgetWrapper.DocumentViewerContent = QgsWidgetWrapper.Property.DocumentViewerContent
QgsWidgetWrapper.DocumentViewerContent.is_monkey_patched = True
QgsWidgetWrapper.DocumentViewerContent.__doc__ = "Document type for external resource"
QgsWidgetWrapper.StorageUrl = QgsWidgetWrapper.Property.StorageUrl
QgsWidgetWrapper.StorageUrl.is_monkey_patched = True
QgsWidgetWrapper.StorageUrl.__doc__ = "Storage URL for external resource"
QgsWidgetWrapper.Property.__doc__ = """Data defined properties for different editor widgets.

* ``RootPath``: Root path for external resource
* ``DocumentViewerContent``: Document type for external resource
* ``StorageUrl``: Storage URL for external resource

"""
# --
try:
    QgsWidgetWrapper.__attribute_docs__ = {'contextChanged': 'Signal when :py:class:`QgsAttributeEditorContext` mContext changed\n\n.. versionadded:: 3.4\n'}
    QgsWidgetWrapper.fromWidget = staticmethod(QgsWidgetWrapper.fromWidget)
    QgsWidgetWrapper.__group__ = ['editorwidgets', 'core']
except NameError:
    pass


# monkey patching scoped based enum
QgsMapToolCapture.CaptureTechnique = _Qgis.CaptureTechnique
QgsMapToolCapture.StraightSegments = _Qgis.CaptureTechnique.StraightSegments
QgsMapToolCapture.StraightSegments.is_monkey_patched = True
QgsMapToolCapture.StraightSegments.__doc__ = "Default capture mode - capture occurs with straight line segments"
QgsMapToolCapture.CircularString = _Qgis.CaptureTechnique.CircularString
QgsMapToolCapture.CircularString.is_monkey_patched = True
QgsMapToolCapture.CircularString.__doc__ = "Capture in circular strings"
QgsMapToolCapture.Streaming = _Qgis.CaptureTechnique.Streaming
QgsMapToolCapture.Streaming.is_monkey_patched = True
QgsMapToolCapture.Streaming.__doc__ = "Streaming points digitizing mode (points are automatically added as the mouse cursor moves)."
QgsMapToolCapture.Shape = _Qgis.CaptureTechnique.Shape
QgsMapToolCapture.Shape.is_monkey_patched = True
QgsMapToolCapture.Shape.__doc__ = "Digitize shapes."

QgsActionMenu.ActionType = _Qgis.ActionType
# monkey patching scoped based enum
QgsActionMenu.Invalid = _Qgis.ActionType.Invalid
QgsActionMenu.Invalid.is_monkey_patched = True
QgsActionMenu.Invalid.__doc__ = "Invalid"
QgsActionMenu.MapLayerAction = _Qgis.ActionType.MapLayerAction
QgsActionMenu.MapLayerAction.is_monkey_patched = True
QgsActionMenu.MapLayerAction.__doc__ = "Standard actions (defined by core or plugins), corresponds to QgsMapLayerAction class."
QgsActionMenu.AttributeAction = _Qgis.ActionType.AttributeAction
QgsActionMenu.AttributeAction.is_monkey_patched = True
QgsActionMenu.AttributeAction.__doc__ = "Custom actions (manually defined in layer properties), corresponds to QgsAction class."

QgsMapLayerAction.Target = _Qgis.MapLayerActionTarget
# monkey patching scoped based enum
QgsMapLayerAction.Layer = _Qgis.MapLayerActionTarget.Layer
QgsMapLayerAction.Layer.is_monkey_patched = True
QgsMapLayerAction.Layer.__doc__ = "Action targets a complete layer"
QgsMapLayerAction.SingleFeature = _Qgis.MapLayerActionTarget.SingleFeature
QgsMapLayerAction.SingleFeature.is_monkey_patched = True
QgsMapLayerAction.SingleFeature.__doc__ = "Action targets a single feature from a layer"
QgsMapLayerAction.MultipleFeatures = _Qgis.MapLayerActionTarget.MultipleFeatures
QgsMapLayerAction.MultipleFeatures.is_monkey_patched = True
QgsMapLayerAction.MultipleFeatures.__doc__ = "Action targets multiple features from a layer"
QgsMapLayerAction.AllActions = _Qgis.MapLayerActionTarget.AllActions
QgsMapLayerAction.AllActions.is_monkey_patched = True
QgsMapLayerAction.AllActions.__doc__ = ""
QgsMapLayerAction.Targets = _Qgis.MapLayerActionTargets

QgsMapLayerAction.Flag = _Qgis.MapLayerActionFlag
# monkey patching scoped based enum
QgsMapLayerAction.EnabledOnlyWhenEditable = _Qgis.MapLayerActionFlag.EnabledOnlyWhenEditable
QgsMapLayerAction.EnabledOnlyWhenEditable.is_monkey_patched = True
QgsMapLayerAction.EnabledOnlyWhenEditable.__doc__ = "Action should be shown only for editable layers"
QgsMapLayerAction.Flags = _Qgis.MapLayerActionFlags

# monkey patch old settings wrappers
QgsSettingsStringEditorWidgetWrapper = QgsSettingsStringLineEditWrapper
QgsSettingsBoolEditorWidgetWrapper = QgsSettingsBoolCheckBoxWrapper
QgsSettingsIntegerEditorWidgetWrapper = QgsSettingsIntegerSpinBoxWrapper
QgsSettingsDoubleEditorWidgetWrapper = QgsSettingsDoubleSpinBoxWrapper
QgsSettingsColorEditorWidgetWrapper = QgsSettingsColorButtonWrapper

# Classes patched
QgsSettingsEnumEditorWidgetWrapper = PyQgsSettingsEnumEditorWidgetWrapper
