@@ -337,6 +337,7 @@ Q_GUI_EXPORT extern int qt_defaultDpiX();
337337#include " qgsmaptoolcircularstringradius.h"
338338#include " qgsmaptoolcircle2points.h"
339339#include " qgsmaptoolcircle3points.h"
340+ #include " qgsmaptoolcircle3tangents.h"
340341#include " qgsmaptoolcirclecenterpoint.h"
341342#include " qgsmaptoolellipsecenter2points.h"
342343#include " qgsmaptoolellipsecenterpoint.h"
@@ -1301,6 +1302,7 @@ QgisApp::~QgisApp()
13011302 delete mMapTools .mCircularStringRadius ;
13021303 delete mMapTools .mCircle2Points ;
13031304 delete mMapTools .mCircle3Points ;
1305+ delete mMapTools .mCircle3Tangents ;
13041306 delete mMapTools .mCircleCenterPoint ;
13051307 delete mMapTools .mEllipseCenter2Points ;
13061308 delete mMapTools .mEllipseCenterPoint ;
@@ -1776,6 +1778,7 @@ void QgisApp::createActions()
17761778 connect ( mActionCircularStringRadius , &QAction::triggered, this , &QgisApp::circularStringRadius );
17771779 connect ( mActionCircle2Points , &QAction::triggered, this , &QgisApp::circle2Points );
17781780 connect ( mActionCircle3Points , &QAction::triggered, this , &QgisApp::circle3Points );
1781+ connect ( mActionCircle3Tangents , &QAction::triggered, this , &QgisApp::circle3Tangents );
17791782 connect ( mActionCircleCenterPoint , &QAction::triggered, this , &QgisApp::circleCenterPoint );
17801783 connect ( mActionEllipseCenter2Points , &QAction::triggered, this , &QgisApp::ellipseCenter2Points );
17811784 connect ( mActionEllipseCenterPoint , &QAction::triggered, this , &QgisApp::ellipseCenterPoint );
@@ -2063,6 +2066,7 @@ void QgisApp::createActionGroups()
20632066 mMapToolGroup ->addAction ( mActionCircularStringRadius );
20642067 mMapToolGroup ->addAction ( mActionCircle2Points );
20652068 mMapToolGroup ->addAction ( mActionCircle3Points );
2069+ mMapToolGroup ->addAction ( mActionCircle3Tangents );
20662070 mMapToolGroup ->addAction ( mActionCircleCenterPoint );
20672071 mMapToolGroup ->addAction ( mActionEllipseCenter2Points );
20682072 mMapToolGroup ->addAction ( mActionEllipseCenterPoint );
@@ -2587,6 +2591,7 @@ void QgisApp::createToolBars()
25872591 tbAddCircle->setPopupMode ( QToolButton::MenuButtonPopup );
25882592 tbAddCircle->addAction ( mActionCircle2Points );
25892593 tbAddCircle->addAction ( mActionCircle3Points );
2594+ tbAddCircle->addAction ( mActionCircle3Tangents );
25902595 tbAddCircle->addAction ( mActionCircleCenterPoint );
25912596 tbAddCircle->setDefaultAction ( mActionCircle2Points );
25922597 connect ( tbAddCircle, &QToolButton::triggered, this , &QgisApp::toolButtonActionTriggered );
@@ -3196,6 +3201,8 @@ void QgisApp::createCanvasTools()
31963201 mMapTools .mCircle2Points ->setAction ( mActionCircle2Points );
31973202 mMapTools .mCircle3Points = new QgsMapToolCircle3Points ( dynamic_cast <QgsMapToolAddFeature *>( mMapTools .mAddFeature ), mMapCanvas );
31983203 mMapTools .mCircle3Points ->setAction ( mActionCircle3Points );
3204+ mMapTools .mCircle3Tangents = new QgsMapToolCircle3Tangents ( dynamic_cast <QgsMapToolAddFeature *>( mMapTools .mAddFeature ), mMapCanvas );
3205+ mMapTools .mCircle3Tangents ->setAction ( mActionCircle3Tangents );
31993206 mMapTools .mCircleCenterPoint = new QgsMapToolCircleCenterPoint ( dynamic_cast <QgsMapToolAddFeature *>( mMapTools .mAddFeature ), mMapCanvas );
32003207 mMapTools .mCircleCenterPoint ->setAction ( mActionCircleCenterPoint );
32013208 mMapTools .mEllipseCenter2Points = new QgsMapToolEllipseCenter2Points ( dynamic_cast <QgsMapToolAddFeature *>( mMapTools .mAddFeature ), mMapCanvas );
@@ -7794,6 +7801,11 @@ void QgisApp::circle3Points()
77947801 mMapCanvas ->setMapTool ( mMapTools .mCircle3Points );
77957802}
77967803
7804+ void QgisApp::circle3Tangents ()
7805+ {
7806+ mMapCanvas ->setMapTool ( mMapTools .mCircle3Tangents );
7807+ }
7808+
77977809void QgisApp::circleCenterPoint ()
77987810{
77997811 mMapCanvas ->setMapTool ( mMapTools .mCircleCenterPoint );
@@ -11189,6 +11201,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
1118911201 mActionCircularStringRadius ->setEnabled ( false );
1119011202 mActionCircle2Points ->setEnabled ( false );
1119111203 mActionCircle3Points ->setEnabled ( false );
11204+ mActionCircle3Tangents ->setEnabled ( false );
1119211205 mActionCircleCenterPoint ->setEnabled ( false );
1119311206 mActionEllipseCenter2Points ->setEnabled ( false );
1119411207 mActionEllipseCenterPoint ->setEnabled ( false );
@@ -11339,6 +11352,8 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
1133911352 && ( vlayer->geometryType () == QgsWkbTypes::LineGeometry || vlayer->geometryType () == QgsWkbTypes::PolygonGeometry ) );
1134011353 mActionCircle3Points ->setEnabled ( isEditable && ( canAddFeatures || canChangeGeometry )
1134111354 && ( vlayer->geometryType () == QgsWkbTypes::LineGeometry || vlayer->geometryType () == QgsWkbTypes::PolygonGeometry ) );
11355+ mActionCircle3Tangents ->setEnabled ( isEditable && ( canAddFeatures || canChangeGeometry )
11356+ && ( vlayer->geometryType () == QgsWkbTypes::LineGeometry || vlayer->geometryType () == QgsWkbTypes::PolygonGeometry ) );
1134211357 mActionCircleCenterPoint ->setEnabled ( isEditable && ( canAddFeatures || canChangeGeometry )
1134311358 && ( vlayer->geometryType () == QgsWkbTypes::LineGeometry || vlayer->geometryType () == QgsWkbTypes::PolygonGeometry ) );
1134411359 mActionEllipseCenter2Points ->setEnabled ( isEditable && ( canAddFeatures || canChangeGeometry )
0 commit comments