move enums to qgis.h

This commit is contained in:
Antoine 2022-03-10 13:37:19 +01:00
parent f736ea74ec
commit 2dc440f804
14 changed files with 117 additions and 109 deletions

View File

@ -1340,3 +1340,23 @@ Qgis.AltitudeBinding.Centroid.__doc__ = "Clamp just centroid of feature"
Qgis.AltitudeBinding.__doc__ = 'Altitude binding.\n\n.. versionadded:: 3.26\n\n' + '* ``Vertex``: ' + Qgis.AltitudeBinding.Vertex.__doc__ + '\n' + '* ``Centroid``: ' + Qgis.AltitudeBinding.Centroid.__doc__
# --
Qgis.AltitudeBinding.baseClass = Qgis
# monkey patching scoped based enum
Qgis.NoConstraint = Qgis.BetweenLineConstraint.NoConstraint
Qgis.NoConstraint.is_monkey_patched = True
Qgis.BetweenLineConstraint.NoConstraint.__doc__ = "No additional constraint"
Qgis.Perpendicular = Qgis.BetweenLineConstraint.Perpendicular
Qgis.Perpendicular.is_monkey_patched = True
Qgis.BetweenLineConstraint.Perpendicular.__doc__ = "Perpendicular"
Qgis.Parallel = Qgis.BetweenLineConstraint.Parallel
Qgis.Parallel.is_monkey_patched = True
Qgis.BetweenLineConstraint.Parallel.__doc__ = "Parallel"
Qgis.BetweenLineConstraint.__doc__ = 'Between line constraints which can be enabled\n\n' + '* ``NoConstraint``: ' + Qgis.BetweenLineConstraint.NoConstraint.__doc__ + '\n' + '* ``Perpendicular``: ' + Qgis.BetweenLineConstraint.Perpendicular.__doc__ + '\n' + '* ``Parallel``: ' + Qgis.BetweenLineConstraint.Parallel.__doc__
# --
Qgis.BetweenLineConstraint.baseClass = Qgis
# monkey patching scoped based enum
Qgis.LineExtensionSide.BeforeVertex.__doc__ = ""
Qgis.LineExtensionSide.AfterVertex.__doc__ = ""
Qgis.LineExtensionSide.NoVertex.__doc__ = ""
Qgis.LineExtensionSide.__doc__ = 'Designates whether the line extension constraint is currently soft locked\nwith the previous or next vertex of the locked one.\n\n.. versionadded:: 3.26\n\n' + '* ``BeforeVertex``: ' + Qgis.LineExtensionSide.BeforeVertex.__doc__ + '\n' + '* ``AfterVertex``: ' + Qgis.LineExtensionSide.AfterVertex.__doc__ + '\n' + '* ``NoVertex``: ' + Qgis.LineExtensionSide.NoVertex.__doc__
# --
Qgis.LineExtensionSide.baseClass = Qgis

View File

@ -869,6 +869,20 @@ The development version
Centroid,
};
enum class BetweenLineConstraint
{
NoConstraint,
Perpendicular,
Parallel
};
enum class LineExtensionSide
{
BeforeVertex,
AfterVertex,
NoVertex
};
static const double DEFAULT_SEARCH_RADIUS_MM;
static const float DEFAULT_MAPTOPIXEL_THRESHOLD;

View File

@ -59,14 +59,6 @@ Structure returned from :py:func:`~QgsCadUtils.alignMapPoint` method
#include "qgscadutils.h"
%End
public:
enum LineExtensionSide
{
BeforeVertex,
AfterVertex,
NoVertex
};
bool valid;
QgsPointXY finalMapPoint;
@ -77,7 +69,7 @@ Structure returned from :py:func:`~QgsCadUtils.alignMapPoint` method
double softLockCommonAngle;
LineExtensionSide softLockLineExtension;
Qgis::LineExtensionSide softLockLineExtension;
double softLockX;
double softLockY;
};

View File

@ -1,15 +1,3 @@
# 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
# monkey patching scoped based enum
QgsAdvancedDigitizingDockWidget.NoConstraint = QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.NoConstraint
QgsAdvancedDigitizingDockWidget.NoConstraint.is_monkey_patched = True
QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.NoConstraint.__doc__ = "No additional constraint"
QgsAdvancedDigitizingDockWidget.Perpendicular = QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.Perpendicular
QgsAdvancedDigitizingDockWidget.Perpendicular.is_monkey_patched = True
QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.Perpendicular.__doc__ = "Perpendicular"
QgsAdvancedDigitizingDockWidget.Parallel = QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.Parallel
QgsAdvancedDigitizingDockWidget.Parallel.is_monkey_patched = True
QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.Parallel.__doc__ = "Parallel"
QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.__doc__ = 'Between line constraints which can be enabled\n\n' + '* ``NoConstraint``: ' + QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.NoConstraint.__doc__ + '\n' + '* ``Perpendicular``: ' + QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.Perpendicular.__doc__ + '\n' + '* ``Parallel``: ' + QgsAdvancedDigitizingDockWidget.BetweenLineConstraint.Parallel.__doc__
# --

View File

@ -36,13 +36,6 @@ by implementing filters called from :py:class:`QgsMapToolAdvancedDigitizing`.
typedef QFlags<QgsAdvancedDigitizingDockWidget::CadCapacity> CadCapacities;
enum class BetweenLineConstraint
{
NoConstraint,
Perpendicular,
Parallel
};
enum WidgetSetMode
{
ReturnPressed,
@ -259,7 +252,7 @@ Sets whether M is enabled
construction mode is used to draw intermediate points. These points won't be given any further (i.e. to the map tools)
%End
BetweenLineConstraint betweenLineConstraint() const;
Qgis::BetweenLineConstraint betweenLineConstraint() const;
%Docstring
Returns the between line constraints which are used to place
perpendicular/parallel segments to snapped segments on the canvas
@ -304,7 +297,7 @@ Returns ``True`` if a constraint on a common angle is active
Returns the ``CadConstraint``
%End
QgsCadUtils::AlignMapPointOutput::LineExtensionSide lineExtensionSide() const;
Qgis::LineExtensionSide lineExtensionSide() const;
%Docstring
Returns on which side of the constraint line extension point, the line was created
%End

View File

@ -790,7 +790,7 @@ void QgsMapToolEditMeshFrame::cadCanvasPressEvent( QgsMapMouseEvent *e )
if ( e->button() == Qt::LeftButton &&
( !mCadDockWidget->cadEnabled() ||
mCadDockWidget->betweenLineConstraint() == QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint ) )
mCadDockWidget->betweenLineConstraint() == Qgis::BetweenLineConstraint::NoConstraint ) )
mLeftButtonPressed = true;
switch ( mCurrentState )

View File

@ -1435,6 +1435,30 @@ class CORE_EXPORT Qgis
};
Q_ENUM( AltitudeBinding )
/**
* Between line constraints which can be enabled
*/
enum class BetweenLineConstraint SIP_MONKEYPATCH_SCOPEENUM : int
{
NoConstraint, //!< No additional constraint
Perpendicular, //!< Perpendicular
Parallel //!< Parallel
};
Q_ENUM( BetweenLineConstraint )
/**
* Designates whether the line extension constraint is currently soft locked
* with the previous or next vertex of the locked one.
* \since QGIS 3.26
*/
enum class LineExtensionSide : int
{
BeforeVertex,
AfterVertex,
NoVertex
};
Q_ENUM( LineExtensionSide )
/**
* Identify search radius in mm
* \since QGIS 2.3

View File

@ -42,7 +42,7 @@ QgsCadUtils::AlignMapPointOutput QgsCadUtils::alignMapPoint( const QgsPointXY &o
res.valid = true;
res.softLockCommonAngle = -1;
res.softLockLineExtension = QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex;
res.softLockLineExtension = Qgis::LineExtensionSide::NoVertex;
res.softLockX = std::numeric_limits<double>::quiet_NaN();
res.softLockY = std::numeric_limits<double>::quiet_NaN();
@ -382,13 +382,13 @@ QgsCadUtils::AlignMapPointOutput QgsCadUtils::alignMapPoint( const QgsPointXY &o
bool checked = checkLineExtension( geom.vertexAt( snap.vertexIndex() - 1 ) );
if ( checked )
{
res.softLockLineExtension = QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex;
res.softLockLineExtension = Qgis::LineExtensionSide::BeforeVertex;
}
checked = checkLineExtension( geom.vertexAt( snap.vertexIndex() + 1 ) );
if ( checked )
{
res.softLockLineExtension = QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex;
res.softLockLineExtension = Qgis::LineExtensionSide::AfterVertex;
}
}
}
@ -434,7 +434,7 @@ QgsCadUtils::AlignMapPointOutput QgsCadUtils::alignMapPoint( const QgsPointXY &o
}
}
}
else if ( res.softLockLineExtension != QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex )
else if ( res.softLockLineExtension != Qgis::LineExtensionSide::NoVertex )
{
const QgsPointLocator::Match snap = ctx.lockedSnapVertices().last();
const QgsFeature feature = snap.layer()->getFeature( snap.featureId() );
@ -444,7 +444,7 @@ QgsCadUtils::AlignMapPointOutput QgsCadUtils::alignMapPoint( const QgsPointXY &o
const QgsPointXY lineExtensionPt1 = snap.point();
QgsPointXY lineExtensionPt2;
if ( res.softLockLineExtension == QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex )
if ( res.softLockLineExtension == Qgis::LineExtensionSide::AfterVertex )
{
lineExtensionPt2 = QgsPointXY( geom.vertexAt( snap.vertexIndex() + 1 ) );
}
@ -456,7 +456,7 @@ QgsCadUtils::AlignMapPointOutput QgsCadUtils::alignMapPoint( const QgsPointXY &o
const bool intersect = QgsGeometryUtils::lineCircleIntersection( previousPt, ctx.distanceConstraint.value, lineExtensionPt1, lineExtensionPt2, point );
if ( !intersect )
{
res.softLockLineExtension = QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex;
res.softLockLineExtension = Qgis::LineExtensionSide::NoVertex;
res.valid &= QgsGeometryUtils::lineCircleIntersection( previousPt, ctx.distanceConstraint.value, previousPt, point, point );
}
}

View File

@ -69,19 +69,6 @@ class CORE_EXPORT QgsCadUtils
class AlignMapPointOutput
{
public:
/**
* Designates whether the line extension constraint is currently soft locked
* with the previous or next vertex of the locked one.
* \since QGIS 3.26
*/
enum LineExtensionSide
{
BeforeVertex,
AfterVertex,
NoVertex
};
//! Whether the combination of constraints is actually valid
bool valid;
@ -103,7 +90,7 @@ class CORE_EXPORT QgsCadUtils
//! Angle (in degrees) to which we have soft-locked ourselves (if not set it is -1)
double softLockCommonAngle;
LineExtensionSide softLockLineExtension;
Qgis::LineExtensionSide softLockLineExtension;
double softLockX;
double softLockY;
};

View File

@ -108,7 +108,7 @@ void QgsAdvancedDigitizingCanvasItem::paint( QPainter *painter )
}
// Draw segment par/per input
if ( mAdvancedDigitizingDockWidget->betweenLineConstraint() != QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint && hasSnappedSegment )
if ( mAdvancedDigitizingDockWidget->betweenLineConstraint() != Qgis::BetweenLineConstraint::NoConstraint && hasSnappedSegment )
{
painter->setPen( mConstruction2Pen );
painter->drawLine( snapSegmentPix1, snapSegmentPix2 );
@ -223,7 +223,7 @@ void QgsAdvancedDigitizingCanvasItem::paint( QPainter *painter )
}
// Draw constr
if ( mAdvancedDigitizingDockWidget->betweenLineConstraint() == QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint )
if ( mAdvancedDigitizingDockWidget->betweenLineConstraint() == Qgis::BetweenLineConstraint::NoConstraint )
{
if ( curPointExist && previousPointExist )
{
@ -249,7 +249,7 @@ void QgsAdvancedDigitizingCanvasItem::paint( QPainter *painter )
auto lineExtensionSide = mAdvancedDigitizingDockWidget->lineExtensionSide();
if ( mAdvancedDigitizingDockWidget->constraintLineExtension()->isLocked() &&
lineExtensionSide != QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex &&
lineExtensionSide != Qgis::LineExtensionSide::NoVertex &&
mAdvancedDigitizingDockWidget->lockedSnapVertices().length() )
{
painter->setPen( mLockedPen );
@ -261,7 +261,7 @@ void QgsAdvancedDigitizingCanvasItem::paint( QPainter *painter )
const QgsGeometry geom = feature.geometry();
QgsPoint vertex;
if ( lineExtensionSide == QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex )
if ( lineExtensionSide == Qgis::LineExtensionSide::BeforeVertex )
{
vertex = geom.vertexAt( snap.vertexIndex() - 1 );
}

View File

@ -63,7 +63,7 @@ QgsAdvancedDigitizingDockWidget::QgsAdvancedDigitizingDockWidget( QgsMapCanvas *
mLineExtensionConstraint.reset( new CadConstraint( new QLineEdit(), new QToolButton() ) );
mXyVertexConstraint.reset( new CadConstraint( new QLineEdit(), new QToolButton() ) );
mBetweenLineConstraint = BetweenLineConstraint::NoConstraint;
mBetweenLineConstraint = Qgis::BetweenLineConstraint::NoConstraint;
mMapCanvas->installEventFilter( this );
mAngleLineEdit->installEventFilter( this );
@ -441,15 +441,15 @@ void QgsAdvancedDigitizingDockWidget::betweenLineConstraintClicked( bool activat
{
if ( !activated )
{
lockBetweenLineConstraint( BetweenLineConstraint::NoConstraint );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::NoConstraint );
}
else if ( sender() == mParallelAction )
{
lockBetweenLineConstraint( BetweenLineConstraint::Parallel );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::Parallel );
}
else if ( sender() == mPerpendicularAction )
{
lockBetweenLineConstraint( BetweenLineConstraint::Perpendicular );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::Perpendicular );
}
}
@ -546,7 +546,7 @@ void QgsAdvancedDigitizingDockWidget::releaseLocks( bool releaseRepeatingLocks )
{
// release all locks except construction mode
lockBetweenLineConstraint( BetweenLineConstraint::NoConstraint );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::NoConstraint );
if ( releaseRepeatingLocks )
{
@ -793,7 +793,7 @@ void QgsAdvancedDigitizingDockWidget::lockConstraint( bool activate /* default t
// deactivate perpendicular/parallel if angle has been activated
if ( constraint == mAngleConstraint.get() )
{
lockBetweenLineConstraint( BetweenLineConstraint::NoConstraint );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::NoConstraint );
}
// run a fake map mouse event to update the paint item
@ -827,11 +827,11 @@ void QgsAdvancedDigitizingDockWidget::constraintFocusOut()
updateConstraintValue( constraint, lineEdit->text(), true );
}
void QgsAdvancedDigitizingDockWidget::lockBetweenLineConstraint( BetweenLineConstraint constraint )
void QgsAdvancedDigitizingDockWidget::lockBetweenLineConstraint( Qgis::BetweenLineConstraint constraint )
{
mBetweenLineConstraint = constraint;
mPerpendicularAction->setChecked( constraint == BetweenLineConstraint::Perpendicular );
mParallelAction->setChecked( constraint == BetweenLineConstraint::Parallel );
mPerpendicularAction->setChecked( constraint == Qgis::BetweenLineConstraint::Perpendicular );
mParallelAction->setChecked( constraint == Qgis::BetweenLineConstraint::Parallel );
}
void QgsAdvancedDigitizingDockWidget::lockParameterlessConstraint( bool activate /* default true */ )
@ -931,7 +931,7 @@ void QgsAdvancedDigitizingDockWidget::updateCapacity( bool updateUIwithoutChange
if ( !absoluteAngle )
{
lockBetweenLineConstraint( BetweenLineConstraint::NoConstraint );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::NoConstraint );
}
// absolute angle = azimuth, relative = from previous line
@ -1259,7 +1259,7 @@ QList<QgsPointXY> QgsAdvancedDigitizingDockWidget::snapSegmentToAllLayers( const
bool QgsAdvancedDigitizingDockWidget::alignToSegment( QgsMapMouseEvent *e, CadConstraint::LockMode lockMode )
{
if ( mBetweenLineConstraint == BetweenLineConstraint::NoConstraint )
if ( mBetweenLineConstraint == Qgis::BetweenLineConstraint::NoConstraint )
{
return false;
}
@ -1281,7 +1281,7 @@ bool QgsAdvancedDigitizingDockWidget::alignToSegment( QgsMapMouseEvent *e, CadCo
angle -= std::atan2( previousPt.y() - penultimatePt.y(), previousPt.x() - penultimatePt.x() );
}
if ( mBetweenLineConstraint == BetweenLineConstraint::Perpendicular )
if ( mBetweenLineConstraint == Qgis::BetweenLineConstraint::Perpendicular )
{
angle += M_PI_2;
}
@ -1292,7 +1292,7 @@ bool QgsAdvancedDigitizingDockWidget::alignToSegment( QgsMapMouseEvent *e, CadCo
mAngleConstraint->setLockMode( lockMode );
if ( lockMode == CadConstraint::HardLock )
{
mBetweenLineConstraint = BetweenLineConstraint::NoConstraint;
mBetweenLineConstraint = Qgis::BetweenLineConstraint::NoConstraint;
}
return true;
@ -1599,15 +1599,15 @@ bool QgsAdvancedDigitizingDockWidget::filterKeyPress( QKeyEvent *e )
if ( !parallel && !perpendicular )
{
lockBetweenLineConstraint( BetweenLineConstraint::Perpendicular );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::Perpendicular );
}
else if ( perpendicular )
{
lockBetweenLineConstraint( BetweenLineConstraint::Parallel );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::Parallel );
}
else
{
lockBetweenLineConstraint( BetweenLineConstraint::NoConstraint );
lockBetweenLineConstraint( Qgis::BetweenLineConstraint::NoConstraint );
}
e->accept();

View File

@ -68,16 +68,6 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
Q_DECLARE_FLAGS( CadCapacities, CadCapacity )
Q_FLAG( CadCapacities )
/**
* Between line constraints which can be enabled
*/
enum class BetweenLineConstraint SIP_MONKEYPATCH_SCOPEENUM : int
{
NoConstraint, //!< No additional constraint
Perpendicular, //!< Perpendicular
Parallel //!< Parallel
};
/**
* Type of interaction to simulate when editing values from external widget
* \note unstable API (will likely change)
@ -295,7 +285,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
* Returns the between line constraints which are used to place
* perpendicular/parallel segments to snapped segments on the canvas
*/
BetweenLineConstraint betweenLineConstraint() const { return mBetweenLineConstraint; }
Qgis::BetweenLineConstraint betweenLineConstraint() const { return mBetweenLineConstraint; }
//! Returns the \a CadConstraint on the angle
const CadConstraint *constraintAngle() const { return mAngleConstraint.get(); }
//! Returns the \a CadConstraint on the distance
@ -323,7 +313,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
const CadConstraint *constraintLineExtension() const { return mLineExtensionConstraint.get(); }
//! Returns on which side of the constraint line extension point, the line was created
QgsCadUtils::AlignMapPointOutput::LineExtensionSide lineExtensionSide() const { return mSoftLockLineExtension; }
Qgis::LineExtensionSide lineExtensionSide() const { return mSoftLockLineExtension; }
//! Returns the \a CadConstraint
const CadConstraint *constraintXyVertex() const { return mXyVertexConstraint.get(); }
@ -928,7 +918,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
void updateCapacity( bool updateUIwithoutChange = false );
//! defines the between line constraint to be used (no/parallel/perpendicular)
void lockBetweenLineConstraint( BetweenLineConstraint constraint );
void lockBetweenLineConstraint( Qgis::BetweenLineConstraint constraint );
/**
* Returns the first snapped segment. Will try to snap a segment using all layers
@ -1007,7 +997,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
std::unique_ptr< CadConstraint > mMConstraint;
std::unique_ptr< CadConstraint > mLineExtensionConstraint;
std::unique_ptr< CadConstraint > mXyVertexConstraint;
BetweenLineConstraint mBetweenLineConstraint;
Qgis::BetweenLineConstraint mBetweenLineConstraint;
double mCommonAngleConstraint; // if 0: do not snap to common angles
// point list and current snap point / segment
@ -1029,7 +1019,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
QgsPointLocator::Match mLastSnapMatch;
// Extra constraint context
QgsCadUtils::AlignMapPointOutput::LineExtensionSide mSoftLockLineExtension;
Qgis::LineExtensionSide mSoftLockLineExtension;
double mSoftLockX;
double mSoftLockY;
QQueue< QgsPointLocator::Match > mLockedSnapVertices;

View File

@ -659,14 +659,14 @@ void TestQgsAdvancedDigitizing::perpendicularConstraint()
QCOMPARE( mAdvancedDigitizingDockWidget->currentPointV2(), QgsPoint( 0, 4 ) );
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint );
Qgis::BetweenLineConstraint::NoConstraint );
// digitizing a first vertex
utils.mouseClick( 5, 5, Qt::LeftButton );
mAdvancedDigitizingDockWidget->lockBetweenLineConstraint( QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::Perpendicular );
mAdvancedDigitizingDockWidget->lockBetweenLineConstraint( Qgis::BetweenLineConstraint::Perpendicular );
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::Perpendicular );
Qgis::BetweenLineConstraint::Perpendicular );
// select the previous digitized line
utils.mouseClick( 0.1, 4, Qt::LeftButton );
@ -1022,7 +1022,7 @@ void TestQgsAdvancedDigitizing::releaseLockAfterDisable()
QVERIFY( mAdvancedDigitizingDockWidget->cadEnabled() );
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint );
Qgis::BetweenLineConstraint::NoConstraint );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintAngle()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintDistance()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintX()->isLocked() );
@ -1042,7 +1042,7 @@ void TestQgsAdvancedDigitizing::releaseLockAfterDisable()
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint );
Qgis::BetweenLineConstraint::NoConstraint );
QVERIFY( mAdvancedDigitizingDockWidget->constraintAngle()->isLocked() );
QVERIFY( mAdvancedDigitizingDockWidget->constraintDistance()->isLocked() );
QVERIFY( mAdvancedDigitizingDockWidget->constraintX()->isLocked() );
@ -1059,7 +1059,7 @@ void TestQgsAdvancedDigitizing::releaseLockAfterDisable()
// all constraints should be deactivated
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint );
Qgis::BetweenLineConstraint::NoConstraint );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintAngle()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintDistance()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintX()->isLocked() );
@ -1073,14 +1073,14 @@ void TestQgsAdvancedDigitizing::releaseLockAfterDisable()
mAdvancedDigitizingDockWidget->enableAction()->trigger();
// enable another constraints
mAdvancedDigitizingDockWidget->lockBetweenLineConstraint( QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::Perpendicular );
mAdvancedDigitizingDockWidget->lockBetweenLineConstraint( Qgis::BetweenLineConstraint::Perpendicular );
mAdvancedDigitizingDockWidget->mXyVertexAction->trigger();
mAdvancedDigitizingDockWidget->mLineExtensionAction->trigger();
QVERIFY( mAdvancedDigitizingDockWidget->cadEnabled() );
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::Perpendicular );
Qgis::BetweenLineConstraint::Perpendicular );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintAngle()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintDistance()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintX()->isLocked() );
@ -1097,7 +1097,7 @@ void TestQgsAdvancedDigitizing::releaseLockAfterDisable()
// all constraints should be deactivated
QCOMPARE( mAdvancedDigitizingDockWidget->betweenLineConstraint(),
QgsAdvancedDigitizingDockWidget::BetweenLineConstraint::NoConstraint );
Qgis::BetweenLineConstraint::NoConstraint );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintAngle()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintDistance()->isLocked() );
QVERIFY( !mAdvancedDigitizingDockWidget->constraintX()->isLocked() );

View File

@ -312,7 +312,7 @@ void TestQgsCadUtils::testLineExtension()
// without constraint
QgsCadUtils::AlignMapPointOutput result = QgsCadUtils::alignMapPoint( QgsPointXY( 45, 20 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::NoVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 45, 20 ) );
// only line extension
@ -329,12 +329,12 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.5, 0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::AfterVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 10, 0 ) );
result = QgsCadUtils::alignMapPoint( QgsPointXY( 50.5, 0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::BeforeVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 50.4, -0.2 ) );
// extension + x
@ -342,7 +342,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 0.2, 25.2 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::BeforeVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 0, 25 ) );
// extension + rel x
@ -350,7 +350,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 0, 30.2 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::BeforeVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( -10, 30 ) );
// extension + y
@ -359,7 +359,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( -0.2, 25.2 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::BeforeVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 0, 25 ) );
// extension + rel y
@ -367,7 +367,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 70.2, -100 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::BeforeVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::BeforeVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 70, -10 ) );
// extension + x + y
@ -376,7 +376,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::AfterVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 10, 0 ) );
context.xConstraint = QgsCadUtils::AlignMapPointConstraint( true, false, 11 );
@ -385,7 +385,7 @@ void TestQgsCadUtils::testLineExtension()
// this time, the soft lock shouldn't be activated
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::NoVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 11, 0 ) );
// extension + angle
@ -396,7 +396,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 40.2 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::AfterVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 10, 40 ) );
// extension + common angle
@ -406,7 +406,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 40.2 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockCommonAngle, 135.0 );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::AfterVertex );
QCOMPARE( result.finalMapPoint, QgsPointXY( 10, 40 ) );
// extension + distance ( without intersection )
@ -415,7 +415,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 42.0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::NoVertex );
QGSCOMPARENEARPOINT( result.finalMapPoint, QgsPointXY( 23.273, 27.399 ), 10e-3 );
// extension + distance ( with intersection )
@ -423,7 +423,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 42.0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::AfterVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::AfterVertex );
QGSCOMPARENEARPOINT( result.finalMapPoint, QgsPointXY( 10, 42.361 ), 10e-3 );
// extension + distance + x
@ -431,7 +431,7 @@ void TestQgsCadUtils::testLineExtension()
result = QgsCadUtils::alignMapPoint( QgsPointXY( 10.2, 42.0 ), context );
QVERIFY( result.valid );
QCOMPARE( result.softLockLineExtension, QgsCadUtils::AlignMapPointOutput::LineExtensionSide::NoVertex );
QCOMPARE( result.softLockLineExtension, Qgis::LineExtensionSide::NoVertex );
QGSCOMPARENEARPOINT( result.finalMapPoint, QgsPointXY( 9.9, 42.271 ), 10e-3 );
}