diff --git a/python/PyQt6/core/auto_generated/geometry/qgsrectangle.sip.in b/python/PyQt6/core/auto_generated/geometry/qgsrectangle.sip.in index 44fdbfef968..610a53069ea 100644 --- a/python/PyQt6/core/auto_generated/geometry/qgsrectangle.sip.in +++ b/python/PyQt6/core/auto_generated/geometry/qgsrectangle.sip.in @@ -25,6 +25,9 @@ Examples are storing a layer extent or the current view extent of a map %TypeHeaderCode #include "qgsrectangle.h" %End + public: + static const QMetaObject staticMetaObject; + public: QgsRectangle(); // optimised constructor for null rectangle - no need to call normalize here diff --git a/python/PyQt6/core/auto_generated/geometry/qgsreferencedgeometry.sip.in b/python/PyQt6/core/auto_generated/geometry/qgsreferencedgeometry.sip.in index 8492ea51de0..77515fe322f 100644 --- a/python/PyQt6/core/auto_generated/geometry/qgsreferencedgeometry.sip.in +++ b/python/PyQt6/core/auto_generated/geometry/qgsreferencedgeometry.sip.in @@ -58,6 +58,9 @@ A :py:class:`QgsRectangle` with associated coordinate reference system. %TypeHeaderCode #include "qgsreferencedgeometry.h" %End + public: + static const QMetaObject staticMetaObject; + public: QgsReferencedRectangle( const QgsRectangle &rectangle, const QgsCoordinateReferenceSystem &crs ); diff --git a/python/core/auto_generated/geometry/qgsrectangle.sip.in b/python/core/auto_generated/geometry/qgsrectangle.sip.in index 44fdbfef968..610a53069ea 100644 --- a/python/core/auto_generated/geometry/qgsrectangle.sip.in +++ b/python/core/auto_generated/geometry/qgsrectangle.sip.in @@ -25,6 +25,9 @@ Examples are storing a layer extent or the current view extent of a map %TypeHeaderCode #include "qgsrectangle.h" %End + public: + static const QMetaObject staticMetaObject; + public: QgsRectangle(); // optimised constructor for null rectangle - no need to call normalize here diff --git a/python/core/auto_generated/geometry/qgsreferencedgeometry.sip.in b/python/core/auto_generated/geometry/qgsreferencedgeometry.sip.in index 8492ea51de0..77515fe322f 100644 --- a/python/core/auto_generated/geometry/qgsreferencedgeometry.sip.in +++ b/python/core/auto_generated/geometry/qgsreferencedgeometry.sip.in @@ -58,6 +58,9 @@ A :py:class:`QgsRectangle` with associated coordinate reference system. %TypeHeaderCode #include "qgsreferencedgeometry.h" %End + public: + static const QMetaObject staticMetaObject; + public: QgsReferencedRectangle( const QgsRectangle &rectangle, const QgsCoordinateReferenceSystem &crs ); diff --git a/src/core/geometry/qgsrectangle.h b/src/core/geometry/qgsrectangle.h index 81500f6c70d..ec335968a2f 100644 --- a/src/core/geometry/qgsrectangle.h +++ b/src/core/geometry/qgsrectangle.h @@ -40,6 +40,20 @@ class QgsBox3D; */ class CORE_EXPORT QgsRectangle { + Q_GADGET + + Q_PROPERTY( double xMinimum READ xMinimum WRITE setXMinimum ) + Q_PROPERTY( double xMaximum READ xMaximum WRITE setXMaximum ) + Q_PROPERTY( double yMinimum READ yMinimum WRITE setYMinimum ) + Q_PROPERTY( double yMaximum READ yMaximum WRITE setYMaximum ) + Q_PROPERTY( double width READ width ) + Q_PROPERTY( double height READ height ) + Q_PROPERTY( double area READ area ) + Q_PROPERTY( double perimeter READ perimeter ) + Q_PROPERTY( QgsPointXY center READ center ) + Q_PROPERTY( bool isEmpty READ isEmpty ) + Q_PROPERTY( bool isNull READ isNull ) + public: //! Constructor for a null rectangle @@ -518,12 +532,12 @@ class CORE_EXPORT QgsRectangle /** * Returns a string representation of the rectangle in WKT format. */ - QString asWktCoordinates() const; + Q_INVOKABLE QString asWktCoordinates() const; /** * Returns a string representation of the rectangle as a WKT Polygon. */ - QString asWktPolygon() const; + Q_INVOKABLE QString asWktPolygon() const; /** * Returns a QRectF with same coordinates as the rectangle. @@ -538,7 +552,7 @@ class CORE_EXPORT QgsRectangle * Coordinates will be truncated to the specified precision. * If the specified precision is less than 0, a suitable minimum precision is used. */ - QString toString( int precision = 16 ) const; + Q_INVOKABLE QString toString( int precision = 16 ) const; /** * Returns the rectangle as a polygon. diff --git a/src/core/geometry/qgsreferencedgeometry.cpp b/src/core/geometry/qgsreferencedgeometry.cpp index d293b6cacf7..f75d4b9e6ec 100644 --- a/src/core/geometry/qgsreferencedgeometry.cpp +++ b/src/core/geometry/qgsreferencedgeometry.cpp @@ -16,6 +16,7 @@ ***************************************************************************/ #include "qgsreferencedgeometry.h" +#include "moc_qgsreferencedgeometry.cpp" QgsReferencedGeometryBase::QgsReferencedGeometryBase( const QgsCoordinateReferenceSystem &crs ) : mCrs( crs ) diff --git a/src/core/geometry/qgsreferencedgeometry.h b/src/core/geometry/qgsreferencedgeometry.h index 1a4544b37de..e16e5a54c65 100644 --- a/src/core/geometry/qgsreferencedgeometry.h +++ b/src/core/geometry/qgsreferencedgeometry.h @@ -70,6 +70,8 @@ class CORE_EXPORT QgsReferencedGeometryBase */ class CORE_EXPORT QgsReferencedRectangle : public QgsRectangle, public QgsReferencedGeometryBase { + Q_GADGET + public: /**