QGIS API Documentation 3.99.0-Master (d270888f95f)
Loading...
Searching...
No Matches
QgsMapToolEditBlankSegmentsBase Class Referenceabstract

Map tool base class to edit blank segments. More...

#include <qgsmaptooleditblanksegments.h>

Inheritance diagram for QgsMapToolEditBlankSegmentsBase:

Classes

class  QgsBlankSegmentRubberBand
 Rubber band used to draw blank segments on edition. More...

Public Member Functions

 QgsMapToolEditBlankSegmentsBase (QgsMapCanvas *canvas, QgsVectorLayer *layer, QgsLineSymbolLayer *symbolLayer, int blankSegmentFieldIndex)
 Constructor.
 ~QgsMapToolEditBlankSegmentsBase () override
 Destructor.
void activate () override
 called when set as currently active map tool
void canvasMoveEvent (QgsMapMouseEvent *e) override
 Mouse move event for overriding. Default implementation does nothing.
void canvasPressEvent (QgsMapMouseEvent *e) override
 Mouse press event for overriding. Default implementation does nothing.
void keyPressEvent (QKeyEvent *e) override
 Key event for overriding. Default implementation does nothing.
Public Member Functions inherited from QgsMapTool
 ~QgsMapTool () override
QAction * action ()
 Returns associated action with map tool or nullptr if no action is associated.
QAbstractButton * button ()
 Returns associated button with map tool or nullptr if no button is associated.
QgsMapCanvascanvas () const
 returns pointer to the tool's map canvas
virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)
 Mouse double-click event for overriding. Default implementation does nothing.
virtual void canvasReleaseEvent (QgsMapMouseEvent *e)
 Mouse release event for overriding. Default implementation does nothing.
virtual bool canvasToolTipEvent (QHelpEvent *e)
 Tooltip event for overriding.
virtual void clean ()
 convenient method to clean members
virtual void deactivate ()
 called when map tool is being deactivated
virtual Flags flags () const
 Returns the flags for the map tool.
virtual bool gestureEvent (QGestureEvent *e)
 gesture event for overriding. Default implementation does nothing.
bool isActive () const
 Returns if the current map tool active on the map canvas.
virtual void keyReleaseEvent (QKeyEvent *e)
 Key event for overriding. Default implementation does nothing.
virtual void populateContextMenu (QMenu *menu)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click.
virtual bool populateContextMenuWithEvent (QMenu *menu, QgsMapMouseEvent *event)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click.
virtual void reactivate ()
 Called when the map tool is being activated while it is already active.
void setAction (QAction *action)
 Use this to associate a QAction to this maptool.
void setButton (QAbstractButton *button)
 Use this to associate a button to this maptool.
virtual void setCursor (const QCursor &cursor)
 Sets a user defined cursor.
QgsPointXY toMapCoordinates (QPoint point)
 Transforms a point from screen coordinates to map coordinates.
QString toolName ()
 Emit map tool changed with the old tool.
virtual void wheelEvent (QWheelEvent *e)
 Mouse wheel event for overriding. Default implementation does nothing.

Protected Types

typedef QList< QList< QPolygonF > > FeaturePoints

Protected Attributes

FeaturePoints mPoints
Protected Attributes inherited from QgsMapTool
QAction * mAction = nullptr
 Optional pointer to an action that will be checked on map tool activation and unchecked on map tool deactivation.
QAbstractButton * mButton = nullptr
 Optional pointer to a button that will be checked on map tool activation and unchecked on map tool deactivation.
QPointer< QgsMapCanvasmCanvas
 The pointer to the map canvas.
QCursor mCursor
 The cursor used in the map tool.
QString mToolName
 The translated name of the map tool.

Friends

class TestQgsMapToolEditBlankSegments

Additional Inherited Members

Public Types inherited from QgsMapTool
enum  Flag { Transient = 1 << 1 , EditTool = 1 << 2 , AllowZoomRect = 1 << 3 , ShowContextMenu = 1 << 4 }
 Enumeration of flags that adjust the way the map tool operates. More...
typedef QFlags< FlagFlags
Signals inherited from QgsMapTool
void activated ()
 Emitted when the map tool is activated.
void deactivated ()
 Emitted when the map tool is deactivated.
void messageDiscarded ()
 Emitted when the previous message from the tool should be cleared from the application message bar.
void messageEmitted (const QString &message, Qgis::MessageLevel level=Qgis::MessageLevel::Info)
 Emitted when a message should be shown to the user in the application message bar.
void reactivated ()
 Emitted when the map tool is activated, while it is already active.
Static Public Member Functions inherited from QgsMapTool
static double searchRadiusMM ()
 Gets search radius in mm.
static double searchRadiusMU (const QgsRenderContext &context)
 Gets search radius in map units for given context.
static double searchRadiusMU (QgsMapCanvas *canvas)
 Gets search radius in map units for given canvas.
Protected Member Functions inherited from QgsMapTool
 QgsMapTool (QgsMapCanvas *canvas)
 Constructor takes a map canvas as a parameter.
QgsMapLayerlayer (const QString &id)
 Returns the map layer with the matching ID, or nullptr if no layers could be found.
void setToolName (const QString &name)
 Sets the tool's name.
QPoint toCanvasCoordinates (const QgsPointXY &point) const
 Transforms a point from map coordinates to screen coordinates.
QgsPoint toLayerCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from map coordinates to layer coordinates.
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from map coordinates to layer coordinates.
QgsRectangle toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect)
 Transforms a rect from map coordinates to layer coordinates.
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, QPoint point)
 Transforms a point from screen coordinates to layer coordinates.
QgsPoint toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used).
QgsPointXY toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used).

Detailed Description

Map tool base class to edit blank segments.

Digitized blank segments are stored per feature inside a field as a string (

See also
QgsBlankSegmentUtils::parseBlankSegments for string format)

This tool allows to:

  • Click in the neighborhood of the rendered line to start creating a blank segment, click again to finish editing the segment.
  • Select a blank segment, press Del key to remove it
  • Drag the start/end of an already existing blank segment and move it along the line to

reduce/enlarge it

See also
QgsMapToolEditBlankSegments
Since
QGIS 4.0

Definition at line 51 of file qgsmaptooleditblanksegments.h.

Member Typedef Documentation

◆ FeaturePoints

typedef QList<QList<QPolygonF> > QgsMapToolEditBlankSegmentsBase::FeaturePoints
protected

Definition at line 77 of file qgsmaptooleditblanksegments.h.

Constructor & Destructor Documentation

◆ QgsMapToolEditBlankSegmentsBase()

QgsMapToolEditBlankSegmentsBase::QgsMapToolEditBlankSegmentsBase ( QgsMapCanvas * canvas,
QgsVectorLayer * layer,
QgsLineSymbolLayer * symbolLayer,
int blankSegmentFieldIndex )

Constructor.

Parameters
canvasmap canvas where the edit take place
layerlayer to be edited
symbolLayersymbol layer affected by the blank segments
blankSegmentFieldIndexindex of the field containing the digitized blank segments

Definition at line 309 of file qgsmaptooleditblanksegments.cpp.

◆ ~QgsMapToolEditBlankSegmentsBase()

QgsMapToolEditBlankSegmentsBase::~QgsMapToolEditBlankSegmentsBase ( )
overridedefault

Destructor.

Member Function Documentation

◆ activate()

void QgsMapToolEditBlankSegmentsBase::activate ( )
overridevirtual

called when set as currently active map tool

Reimplemented from QgsMapTool.

Definition at line 332 of file qgsmaptooleditblanksegments.cpp.

◆ canvasMoveEvent()

void QgsMapToolEditBlankSegmentsBase::canvasMoveEvent ( QgsMapMouseEvent * e)
overridevirtual

Mouse move event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 365 of file qgsmaptooleditblanksegments.cpp.

◆ canvasPressEvent()

void QgsMapToolEditBlankSegmentsBase::canvasPressEvent ( QgsMapMouseEvent * e)
overridevirtual

Mouse press event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 445 of file qgsmaptooleditblanksegments.cpp.

◆ keyPressEvent()

void QgsMapToolEditBlankSegmentsBase::keyPressEvent ( QKeyEvent * e)
overridevirtual

Key event for overriding. Default implementation does nothing.

Reimplemented from QgsMapTool.

Definition at line 546 of file qgsmaptooleditblanksegments.cpp.

◆ TestQgsMapToolEditBlankSegments

friend class TestQgsMapToolEditBlankSegments
friend

Definition at line 174 of file qgsmaptooleditblanksegments.h.

Member Data Documentation

◆ mPoints

FeaturePoints QgsMapToolEditBlankSegmentsBase::mPoints
protected

Definition at line 78 of file qgsmaptooleditblanksegments.h.


The documentation for this class was generated from the following files: