|
QGIS API Documentation 4.1.0-Master (4aad578bf8d)
|
Map tool to select and modify extra items for a giving vector layer and symbol layer. More...
#include <qgsmaptoolextraitem.h>

Signals | |
| void | selectedItemsChanged () |
| Emitted whenever selected items has changed. | |
| 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. | |
Public Member Functions | |
| QgsMapToolModifyExtraItems (QgsMapCanvas *canvas, QgsVectorLayer *layer, QgsTemplatedLineSymbolLayerBase *symbolLayer, QgsPropertyOverrideButton *propertyButton) | |
| Constructor. | |
| void | activate () override |
| called when set as currently active map tool | |
| void | attemptMoveBy (QGraphicsItem *item, double deltaX, double deltaY) |
| Attempt to move item by deltaX horizontally and deltaY vertically. | |
| void | attemptRotateBy (QGraphicsItem *item, double deltaDegree, double deltaCenterX, double deltaCenterY) |
| Attempt to rotate item by deltaDegree around its center. | |
| void | canvasMoveEvent (QgsMapMouseEvent *event) override |
| Mouse move event for overriding. Default implementation does nothing. | |
| void | canvasPressEvent (QgsMapMouseEvent *event) override |
| Mouse press event for overriding. Default implementation does nothing. | |
| void | canvasReleaseEvent (QgsMapMouseEvent *event) override |
| Mouse release event for overriding. Default implementation does nothing. | |
| void | deactivate () override |
| called when map tool is being deactivated | |
| void | keyPressEvent (QKeyEvent *event) override |
| Key event for overriding. Default implementation does nothing. | |
| QList< QGraphicsItem * > | selectedItems () const |
| Returns currently selected items. | |
| Public Member Functions inherited from QgsMapToolExtraItemBase | |
| QgsMapToolExtraItemBase (QgsMapCanvas *canvas, QgsVectorLayer *layer, QgsTemplatedLineSymbolLayerBase *symbolLayer, QgsPropertyOverrideButton *propertyButton) | |
| Constructor. | |
| 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. | |
| QgsMapCanvas * | canvas () 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 bool | canvasToolTipEvent (QHelpEvent *e) |
| Tooltip event for overriding. | |
| virtual void | clean () |
| convenient method to clean members | |
| int | dataDefinedColumnIndex (int propertyKey, const QgsPropertyCollection &properties, const QgsVectorLayer *vlayer) const |
| Returns data defined property column index for the propertyKey from properties associated to the layer. | |
| QString | dataDefinedColumnName (int propertyKey, const QgsPropertyCollection &properties, const QgsVectorLayer *layer, PropertyStatus &status) const |
| Returns data defined property column name for the propertyKey from properties associated to the layer status is updated with current property status. | |
| 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. | |
| virtual bool | shortcutEvent (QKeyEvent *e) |
| Shortcut events coming from the application for overriding. | |
| 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. | |
Friends | |
| class | TestQgsMapToolExtraItem |
Additional Inherited Members | |
| Public Types inherited from QgsMapToolExtraItemBase | |
| enum | State { SelectFeature , FeatureSelected } |
| Map tool state. More... | |
| 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< Flag > | Flags |
| enum class | PropertyStatus { Valid , DoesNotExist , CurrentExpressionInvalid } |
| Property status used in method dealing with property. More... | |
| 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. | |
| Static Public Attributes inherited from QgsMapTool | |
| static const QgsSettingsEntryDouble * | settingSearchRadiusMM = new QgsSettingsEntryDouble( u"search-radius-mm"_s, QgsSettingsTree::sTreeMap, Qgis::DEFAULT_SEARCH_RADIUS_MM, u"Search/identify radius in millimeters"_s ) |
| Settings entry for the search/identify radius in mm. | |
| Protected Member Functions inherited from QgsMapToolExtraItemBase | |
| void | loadFeatureExtraItems () |
| Load current feature existing extra items. | |
| void | selectFeature (QgsMapMouseEvent *event) |
| Process event in order to select the current feature at the event mouse position. | |
| void | updateAttribute () |
| Update feature attribute extra item field regarding with the currently digitized extra items. | |
| Protected Member Functions inherited from QgsMapTool | |
| QgsMapTool (QgsMapCanvas *canvas) | |
| Constructor takes a map canvas as a parameter. | |
| QgsMapLayer * | layer (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). | |
| Protected Attributes inherited from QgsMapToolExtraItemBase | |
| std::vector< QObjectUniquePtr< QgsExtraItemRubberBand > > | mExtraItems |
| int | mExtraItemsFieldIndex = -1 |
| QgsFeatureId | mFeatureId = FID_NULL |
| QPointer< QgsVectorLayer > | mLayer |
| QgsPropertyOverrideButton * | mPropertyButton = nullptr |
| State | mState = SelectFeature |
| QgsTemplatedLineSymbolLayerBase * | mSymbolLayer = nullptr |
| 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< QgsMapCanvas > | mCanvas |
| The pointer to the map canvas. | |
| QCursor | mCursor |
| The cursor used in the map tool. | |
| QString | mToolName |
| The translated name of the map tool. | |
Map tool to select and modify extra items for a giving vector layer and symbol layer.
It allows selecting several extra items, and move, rotate, delete, copy/cut, paste them. It relies on QgsGraphicsViewMouseHandles to deal with those actions.
Definition at line 135 of file qgsmaptoolextraitem.h.
| QgsMapToolModifyExtraItems::QgsMapToolModifyExtraItems | ( | QgsMapCanvas * | canvas, |
| QgsVectorLayer * | layer, | ||
| QgsTemplatedLineSymbolLayerBase * | symbolLayer, | ||
| QgsPropertyOverrideButton * | propertyButton ) |
Constructor.
| canvas | map canvas |
| layer | vector layer |
| symbolLayer | symbol layer (either a marker line or hashed line symbol layer) |
| propertyButton | data defined property button associated with this map tool |
Definition at line 439 of file qgsmaptoolextraitem.cpp.
|
overridevirtual |
called when set as currently active map tool
Reimplemented from QgsMapTool.
Definition at line 446 of file qgsmaptoolextraitem.cpp.
| void QgsMapToolModifyExtraItems::attemptMoveBy | ( | QGraphicsItem * | item, |
| double | deltaX, | ||
| double | deltaY ) |
Attempt to move item by deltaX horizontally and deltaY vertically.
deltaX and deltaY are expressed in pixels.
Definition at line 758 of file qgsmaptoolextraitem.cpp.
| void QgsMapToolModifyExtraItems::attemptRotateBy | ( | QGraphicsItem * | item, |
| double | deltaDegree, | ||
| double | deltaCenterX, | ||
| double | deltaCenterY ) |
Attempt to rotate item by deltaDegree around its center.
deltaDegree is expressed in degree
Definition at line 765 of file qgsmaptoolextraitem.cpp.
|
overridevirtual |
Mouse move event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 502 of file qgsmaptoolextraitem.cpp.
|
overridevirtual |
Mouse press event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 464 of file qgsmaptoolextraitem.cpp.
|
overridevirtual |
Mouse release event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 571 of file qgsmaptoolextraitem.cpp.
|
overridevirtual |
called when map tool is being deactivated
Reimplemented from QgsMapTool.
Definition at line 452 of file qgsmaptoolextraitem.cpp.
|
overridevirtual |
Key event for overriding. Default implementation does nothing.
Reimplemented from QgsMapTool.
Definition at line 641 of file qgsmaptoolextraitem.cpp.
| QList< QGraphicsItem * > QgsMapToolModifyExtraItems::selectedItems | ( | ) | const |
Returns currently selected items.
Definition at line 459 of file qgsmaptoolextraitem.cpp.
|
signal |
Emitted whenever selected items has changed.
|
friend |
Definition at line 252 of file qgsmaptoolextraitem.h.