26 , mCadDockWidget( cadDockWidget )
47 if ( mSnapToLayerGridEnabled &&
layer )
59 if ( e->button() == Qt::RightButton )
87 if ( mSnapToGridCanvasItem && mSnapToLayerGridEnabled &&
layer )
112 if ( mSnapToGridCanvasItem && mSnapToLayerGridEnabled &&
layer )
133 mSnapToGridCanvasItem->
setEnabled( mSnapToLayerGridEnabled );
141 delete mSnapToGridCanvasItem;
142 mSnapToGridCanvasItem =
nullptr;
150 void QgsMapToolAdvancedDigitizing::cadPointChanged(
const QgsPointXY &point )
153 QMouseEvent *ev =
new QMouseEvent( QEvent::MouseMove,
mCanvas->
mouseLastXY(), Qt::NoButton, Qt::NoButton, Qt::NoModifier );
154 qApp->postEvent(
mCanvas->viewport(), ev );
157 void QgsMapToolAdvancedDigitizing::onCurrentLayerChanged()
159 if ( mSnapToGridCanvasItem )
162 if (
layer && mSnapToLayerGridEnabled )
164 mSnapToGridCanvasItem->
setPrecision(
layer->geometryOptions()->geometryPrecision() );
171 mSnapToGridCanvasItem->
setEnabled( mSnapToLayerGridEnabled );
177 return mSnapToLayerGridEnabled;
182 mSnapToLayerGridEnabled = snapToGridEnabled;
184 if ( mSnapToGridCanvasItem )
186 mSnapToGridCanvasItem->
setEnabled( snapToGridEnabled );
Map canvas is a class for displaying all GIS data types on a canvas.
QPoint mouseLastXY()
returns last position of mouse cursor
void currentLayerChanged(QgsMapLayer *layer)
Emitted when the current layer is changed.
QgsMapLayer * currentLayer()
returns current layer (set by legend widget)
Base class for all map layer types.
QgsCoordinateReferenceSystem crs
A QgsMapMouseEvent is the result of a user interaction with the mouse on a QgsMapCanvas.
QgsPointXY mapPoint() const
mapPoint returns the point in coordinates
void snapToGrid(double precision, const QgsCoordinateReferenceSystem &crs)
Snaps the mapPoint to a grid with the given precision.
QgsPointXY snapPoint()
snapPoint will snap the points using the map canvas snapping utils configuration
A class to represent a 2D point.
Shows a grid on the map canvas given a spatial resolution.
void setCrs(const QgsCoordinateReferenceSystem &crs)
The CRS in which the grid should be calculated.
void setPoint(const QgsPointXY &point)
A point that will be highlighted on the map canvas.
void setEnabled(bool enabled)
Enable this item.
void setPrecision(double precision)
The resolution of the grid in map units.
Represents a vector layer which manages a vector based data sets.
const QgsCoordinateReferenceSystem & crs