QGIS API Documentation  3.8.0-Zanzibar (11aff65)
qgssnapindicator.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgssnapindicator.h
3  --------------------------------------
4  Date : October 2017
5  Copyright : (C) 2017 by Martin Dobias
6  Email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSSNAPINDICATOR_H
17 #define QGSSNAPINDICATOR_H
18 
19 #include "qgspointlocator.h"
20 
21 #include "qgis_gui.h"
22 
23 class QgsMapCanvas;
24 class QgsVertexMarker;
25 
26 
32 class GUI_EXPORT QgsSnapIndicator
33 {
34  public:
36  QgsSnapIndicator( QgsMapCanvas *canvas );
38 
40  void setMatch( const QgsPointLocator::Match &match );
42  QgsPointLocator::Match match() const { return mMatch; }
43 
45  void setVisible( bool visible = true );
47  bool isVisible() const;
48 
49  private:
50  Q_DISABLE_COPY( QgsSnapIndicator )
51 
52 #ifdef SIP_RUN
54  QgsSnapIndicator &operator=( const QgsSnapIndicator & );
55 #endif
56 
57  QgsMapCanvas *mCanvas;
59  QgsVertexMarker *mSnappingMarker = nullptr;
60  QMetaObject::Connection mCanvasDestroyedConnection;
61 };
62 
63 #endif // QGSSNAPINDICATOR_H
QgsPointLocator::Match match() const
Returns currently displayed snapping match.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:73
A class for marking vertices of features using e.g.
Class that shows snapping marker on map canvas for the current snapping match.