From 761a20cac6e2b98f3f7e011c0ce40e9efa3a4764 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Thu, 10 Mar 2022 21:17:08 +0100 Subject: [PATCH] manual monkeypatching core->gui --- python/core/auto_additions/qgis.py | 17 ++++------------- python/core/auto_generated/qgis.sip.in | 2 +- python/gui/__init__.py.in | 16 ++++++++++++++++ src/core/qgis.h | 4 ++-- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/python/core/auto_additions/qgis.py b/python/core/auto_additions/qgis.py index 65eb51ee1ab..2cc18e49e13 100644 --- a/python/core/auto_additions/qgis.py +++ b/python/core/auto_additions/qgis.py @@ -74,20 +74,11 @@ Qgis.ARGB32_Premultiplied.__doc__ = "Color, alpha, red, green, blue, 4 bytes th Qgis.DataType.__doc__ = 'Raster data types.\nThis is modified and extended copy of GDALDataType.\n\n' + '* ``UnknownDataType``: ' + Qgis.DataType.UnknownDataType.__doc__ + '\n' + '* ``Byte``: ' + Qgis.DataType.Byte.__doc__ + '\n' + '* ``UInt16``: ' + Qgis.DataType.UInt16.__doc__ + '\n' + '* ``Int16``: ' + Qgis.DataType.Int16.__doc__ + '\n' + '* ``UInt32``: ' + Qgis.DataType.UInt32.__doc__ + '\n' + '* ``Int32``: ' + Qgis.DataType.Int32.__doc__ + '\n' + '* ``Float32``: ' + Qgis.DataType.Float32.__doc__ + '\n' + '* ``Float64``: ' + Qgis.DataType.Float64.__doc__ + '\n' + '* ``CInt16``: ' + Qgis.DataType.CInt16.__doc__ + '\n' + '* ``CInt32``: ' + Qgis.DataType.CInt32.__doc__ + '\n' + '* ``CFloat32``: ' + Qgis.DataType.CFloat32.__doc__ + '\n' + '* ``CFloat64``: ' + Qgis.DataType.CFloat64.__doc__ + '\n' + '* ``ARGB32``: ' + Qgis.DataType.ARGB32.__doc__ + '\n' + '* ``ARGB32_Premultiplied``: ' + Qgis.DataType.ARGB32_Premultiplied.__doc__ # -- Qgis.DataType.baseClass = Qgis -QgsMapToolCapture.CaptureTechnique = Qgis.CaptureTechnique # monkey patching scoped based enum -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." +Qgis.CaptureTechnique.StraightSegments.__doc__ = "Default capture mode - capture occurs with straight line segments" +Qgis.CaptureTechnique.CircularString.__doc__ = "Capture in circular strings" +Qgis.CaptureTechnique.Streaming.__doc__ = "Streaming points digitizing mode (points are automatically added as the mouse cursor moves)." +Qgis.CaptureTechnique.Shape.__doc__ = "Digitize shapes." Qgis.CaptureTechnique.__doc__ = 'Capture technique.\n\n.. versionadded:: 3.26\n\n' + '* ``StraightSegments``: ' + Qgis.CaptureTechnique.StraightSegments.__doc__ + '\n' + '* ``CircularString``: ' + Qgis.CaptureTechnique.CircularString.__doc__ + '\n' + '* ``Streaming``: ' + Qgis.CaptureTechnique.Streaming.__doc__ + '\n' + '* ``Shape``: ' + Qgis.CaptureTechnique.Shape.__doc__ # -- Qgis.CaptureTechnique.baseClass = Qgis diff --git a/python/core/auto_generated/qgis.sip.in b/python/core/auto_generated/qgis.sip.in index 229f02b3481..c239244f248 100644 --- a/python/core/auto_generated/qgis.sip.in +++ b/python/core/auto_generated/qgis.sip.in @@ -105,7 +105,7 @@ The development version }; enum class CaptureTechnique - { + { StraightSegments, CircularString, Streaming, diff --git a/python/gui/__init__.py.in b/python/gui/__init__.py.in index 48f4ba62ce2..67c586697b3 100644 --- a/python/gui/__init__.py.in +++ b/python/gui/__init__.py.in @@ -23,3 +23,19 @@ __copyright__ = '(C) 2014, Nathan Woodrow' from qgis.PyQt import QtCore from qgis._gui import * +from qgis._core import Qgis + +# 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." diff --git a/src/core/qgis.h b/src/core/qgis.h index cfecff38d26..e0c967ba1ca 100644 --- a/src/core/qgis.h +++ b/src/core/qgis.h @@ -149,8 +149,8 @@ class CORE_EXPORT Qgis * * \since QGIS 3.26 */ - enum class CaptureTechnique SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsMapToolCapture, CaptureTechnique ) : int - { + enum class CaptureTechnique : int + { StraightSegments, //!< Default capture mode - capture occurs with straight line segments CircularString, //!< Capture in circular strings Streaming, //!< Streaming points digitizing mode (points are automatically added as the mouse cursor moves).