Requests for QgsMapToolCircle2TangentsPoint

This commit is contained in:
lbartoletti 2017-10-09 13:06:46 +02:00
parent d72eebd2ce
commit e3205654c7
2 changed files with 5 additions and 13 deletions

View File

@ -24,6 +24,7 @@
#include "qgsstatusbar.h" #include "qgsstatusbar.h"
#include "qgslinestring.h" #include "qgslinestring.h"
#include "qgsmultipolygon.h" #include "qgsmultipolygon.h"
#include "qgsspinbox.h"
#include <memory> #include <memory>
#include <QMouseEvent> #include <QMouseEvent>
@ -31,13 +32,11 @@ QgsMapToolCircle2TangentsPoint::QgsMapToolCircle2TangentsPoint( QgsMapToolCaptur
QgsMapCanvas *canvas, CaptureMode mode ) QgsMapCanvas *canvas, CaptureMode mode )
: QgsMapToolAddCircle( parentTool, canvas, mode ) : QgsMapToolAddCircle( parentTool, canvas, mode )
{ {
mCenters.clear();
} }
QgsMapToolCircle2TangentsPoint::~QgsMapToolCircle2TangentsPoint() QgsMapToolCircle2TangentsPoint::~QgsMapToolCircle2TangentsPoint()
{ {
deleteRadiusSpinBox(); deleteRadiusSpinBox();
mCenters.clear();
} }
void QgsMapToolCircle2TangentsPoint::cadCanvasReleaseEvent( QgsMapMouseEvent *e ) void QgsMapToolCircle2TangentsPoint::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
@ -83,10 +82,7 @@ void QgsMapToolCircle2TangentsPoint::cadCanvasReleaseEvent( QgsMapMouseEvent *e
mTempRubberBand = nullptr; mTempRubberBand = nullptr;
} }
for ( int i = 0; i < mRubberBands.size() ; ++i ) qDeleteAll( mRubberBands );
{
delete mRubberBands.at( i );
}
mRubberBands.clear(); mRubberBands.clear();
deactivate(); deactivate();
@ -226,7 +222,7 @@ void QgsMapToolCircle2TangentsPoint::getPossibleCenter( )
void QgsMapToolCircle2TangentsPoint::createRadiusSpinBox() void QgsMapToolCircle2TangentsPoint::createRadiusSpinBox()
{ {
deleteRadiusSpinBox(); deleteRadiusSpinBox();
mRadiusSpinBox = new QSpinBox(); mRadiusSpinBox = new QgsSpinBox();
mRadiusSpinBox->setMaximum( 99999999 ); mRadiusSpinBox->setMaximum( 99999999 );
mRadiusSpinBox->setMinimum( 0 ); mRadiusSpinBox->setMinimum( 0 );
mRadiusSpinBox->setPrefix( tr( "Radius of the circle: " ) ); mRadiusSpinBox->setPrefix( tr( "Radius of the circle: " ) );
@ -240,7 +236,6 @@ void QgsMapToolCircle2TangentsPoint::deleteRadiusSpinBox()
{ {
if ( mRadiusSpinBox ) if ( mRadiusSpinBox )
{ {
QgisApp::instance()->statusBarIface()->removeWidget( mRadiusSpinBox );
delete mRadiusSpinBox; delete mRadiusSpinBox;
mRadiusSpinBox = nullptr; mRadiusSpinBox = nullptr;
} }
@ -251,10 +246,7 @@ void QgsMapToolCircle2TangentsPoint::radiusSpinBoxChanged( int radius )
mRadius = radius; mRadius = radius;
getPossibleCenter( ); getPossibleCenter( );
for ( int i = 0; i < mRubberBands.size() ; ++i ) qDeleteAll( mRubberBands );
{
delete mRubberBands.at( i );
}
mRubberBands.clear(); mRubberBands.clear();
if ( mTempRubberBand ) if ( mTempRubberBand )
{ {

View File

@ -32,7 +32,7 @@ class QgsMapToolCircle2TangentsPoint: public QgsMapToolAddCircle
~QgsMapToolCircle2TangentsPoint(); ~QgsMapToolCircle2TangentsPoint();
void cadCanvasReleaseEvent( QgsMapMouseEvent *e ) override; void cadCanvasReleaseEvent( QgsMapMouseEvent *e ) override;
void cadCanvasMoveEvent( QgsMapMouseEvent *e ); void cadCanvasMoveEvent( QgsMapMouseEvent *e ) override;
public slots: public slots:
void radiusSpinBoxChanged( int radius ); void radiusSpinBoxChanged( int radius );