Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Conversions from QgsMapCanvasSnapper to QgsSnappingUtils
  • Loading branch information
wonder-sk committed Jan 20, 2015
1 parent f956464 commit 24adc02
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 30 deletions.
24 changes: 10 additions & 14 deletions src/app/qgsmaptooloffsetcurve.cpp
Expand Up @@ -17,6 +17,7 @@
#include "qgsmapcanvas.h"
#include "qgsmaplayerregistry.h"
#include "qgsrubberband.h"
#include "qgssnappingutils.h"
#include "qgsvectorlayer.h"
#include "qgsvertexmarker.h"
#include <QDoubleSpinBox>
Expand Down Expand Up @@ -199,22 +200,17 @@ void QgsMapToolOffsetCurve::canvasMoveEvent( QMouseEvent * e )
QgsPoint layerCoords = toLayerCoordinates( layer, e->pos() );

//snap cursor to background layers
QList<QgsSnappingResult> results;
QList<QgsPoint> snapExcludePoints;
if ( mSnapper.snapToBackgroundLayers( e->pos(), results ) == 0 )
QgsPointLocator::Match m = mCanvas->snappingUtils()->snapToMap( e->pos() );
if ( m.isValid() )
{
if ( results.size() > 0 )
if ( ( m.layer() && m.layer()->id() != mSourceLayerId ) || m.featureId() != mModifiedFeature )
{
QgsSnappingResult snap = results.at( 0 );
if ( snap.layer && snap.layer->id() != mSourceLayerId && snap.snappedAtGeometry != mModifiedFeature )
{
layerCoords = results.at( 0 ).snappedVertex;
mSnapVertexMarker = new QgsVertexMarker( mCanvas );
mSnapVertexMarker->setIconType( QgsVertexMarker::ICON_CROSS );
mSnapVertexMarker->setColor( Qt::green );
mSnapVertexMarker->setPenWidth( 1 );
mSnapVertexMarker->setCenter( layerCoords );
}
layerCoords = toLayerCoordinates( layer, m.point() );
mSnapVertexMarker = new QgsVertexMarker( mCanvas );
mSnapVertexMarker->setIconType( QgsVertexMarker::ICON_CROSS );
mSnapVertexMarker->setColor( Qt::green );
mSnapVertexMarker->setPenWidth( 1 );
mSnapVertexMarker->setCenter( m.point() );
}
}

Expand Down
20 changes: 4 additions & 16 deletions src/plugins/georeferencer/qgsmapcoordsdialog.cpp
Expand Up @@ -16,7 +16,7 @@
#include <QPushButton>

#include "qgsmapcanvas.h"
#include "qgsmapcanvassnapper.h"
#include "qgssnappingutils.h"

#include "qgsgeorefvalidators.h"
#include "qgsmapcoordsdialog.h"
Expand Down Expand Up @@ -97,21 +97,9 @@ void QgsMapCoordsDialog::maybeSetXY( const QgsPoint & xy, Qt::MouseButton button
QgsPoint mapCoordPoint = xy;
if ( mQgisCanvas && mSnapToBackgroundLayerBox->isChecked() )
{
const QgsMapToPixel* mtp = mQgisCanvas->getCoordinateTransform();
if ( mtp )
{
QgsPoint canvasPos = mtp->transform( xy.x(), xy.y() );
QPoint snapStartPoint( canvasPos.x(), canvasPos.y() );
QgsMapCanvasSnapper snapper( mQgisCanvas );
QList<QgsSnappingResult> snapResults;
if ( snapper.snapToBackgroundLayers( snapStartPoint, snapResults ) == 0 )
{
if ( snapResults.size() > 0 )
{
mapCoordPoint = snapResults.at( 0 ).snappedVertex;
}
}
}
QgsPointLocator::Match m = mQgisCanvas->snappingUtils()->snapToMap( xy );
if ( m.isValid() )
mapCoordPoint = m.point();
}

leXCoord->clear();
Expand Down

0 comments on commit 24adc02

Please sign in to comment.