QGIS API Documentation  3.14.0-Pi (9f7028fd23)
qgsmaptooledit.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmaptooledit.h - base class for editing map tools
3  ---------------------
4  begin : Juli 2007
5  copyright : (C) 2007 by Marco Hugentobler
6  email : marco dot hugentobler at karto dot baug dot ethz dot ch
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 QGSMAPTOOLEDIT_H
17 #define QGSMAPTOOLEDIT_H
18 
19 #include "qgswkbtypes.h"
20 #include "qgsmaptool.h"
21 #include "qgis_gui.h"
22 
23 class QgsRubberBand;
25 class QgsVectorLayer;
26 class QKeyEvent;
27 
32 class GUI_EXPORT QgsMapToolEdit: public QgsMapTool
33 {
34  Q_OBJECT
35 
36  public:
37  QgsMapToolEdit( QgsMapCanvas *canvas );
38 
39  Flags flags() const override { return QgsMapTool::EditTool; }
40 
45  double defaultZValue() const;
46 
47  protected:
48 
50  static QColor digitizingStrokeColor();
52  static int digitizingStrokeWidth();
54  static QColor digitizingFillColor();
55 
63  QgsRubberBand *createRubberBand( QgsWkbTypes::GeometryType geometryType = QgsWkbTypes::LineGeometry, bool alternativeBand = false ) SIP_FACTORY;
64 
65  QgsGeometryRubberBand *createGeometryRubberBand( QgsWkbTypes::GeometryType geometryType = QgsWkbTypes::LineGeometry, bool alternativeBand = false ) const SIP_FACTORY;
66 
68  QgsVectorLayer *currentVectorLayer();
69 
72  {
73  Success = 0,
74  InvalidCanvas = 1,
75  InvalidLayer = 2,
76  };
77 
83  Q_DECL_DEPRECATED TopologicalResult addTopologicalPoints( const QVector<QgsPointXY> &vertices ) SIP_DEPRECATED;
84 
90  TopologicalResult addTopologicalPoints( const QVector<QgsPoint> &vertices );
91 
93  void notifyNotVectorLayer();
95  void notifyNotEditableLayer();
96 };
97 
98 #endif
QgsRubberBand
Definition: qgsrubberband.h:49
QgsMapCanvas
Definition: qgsmapcanvas.h:83
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
QgsMapTool
Definition: qgsmaptool.h:63
SIP_DEPRECATED
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
QgsMapToolEdit::flags
Flags flags() const override
Returns the flags for the map tool.
Definition: qgsmaptooledit.h:39
qgsmaptool.h
QgsGeometryRubberBand
Definition: qgsgeometryrubberband.h:41
QgsMapToolEdit::TopologicalResult
TopologicalResult
Result of addTopologicalPoints.
Definition: qgsmaptooledit.h:71
QgsWkbTypes::LineGeometry
@ LineGeometry
Definition: qgswkbtypes.h:142
QgsWkbTypes::GeometryType
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
Definition: qgswkbtypes.h:139
QgsMapToolEdit
Definition: qgsmaptooledit.h:32
QgsVectorLayer
Definition: qgsvectorlayer.h:385
QgsWkbTypes
Handles storage of information regarding WKB types and their properties.
Definition: qgswkbtypes.h:40
QgsMapTool::EditTool
@ EditTool
Map tool is an edit tool, which can only be used when layer is editable.
Definition: qgsmaptool.h:94
qgswkbtypes.h