30#include <QGraphicsSceneHoverEvent>
31#include <QGraphicsView>
35#include "moc_qgsmaptoolselectannotationmousehandles.cpp"
40 : QgsGraphicsViewMouseHandles( canvas )
48 mCanvas->scene()->addItem(
this );
50 setRotationEnabled(
true );
51 setCadMouseDigitizingModeEnabled(
true );
54void QgsMapToolSelectAnnotationMouseHandles::paint( QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget )
56 paintInternal( painter,
true,
true,
true, option, widget );
59void QgsMapToolSelectAnnotationMouseHandles::selectionChanged()
64void QgsMapToolSelectAnnotationMouseHandles::setViewportCursor( Qt::CursorShape cursor )
66 if ( qobject_cast<QgsMapToolSelectAnnotation *>( mCanvas->mapTool() ) )
68 mCanvas->viewport()->setCursor( cursor );
72QList<QGraphicsItem *> QgsMapToolSelectAnnotationMouseHandles::sceneItemsAtPoint( QPointF scenePoint )
74 QList<QGraphicsItem *> graphicsItems;
75 const QList<QgsAnnotationItemRubberBand *> items = mMapTool->selectedItems();
76 for (
auto item : items )
78 if ( item->sceneBoundingRect().contains( scenePoint ) )
80 graphicsItems << item;
86QList<QGraphicsItem *> QgsMapToolSelectAnnotationMouseHandles::selectedSceneItems(
bool )
const
88 QList<QGraphicsItem *> graphicsItems;
89 const QList<QgsAnnotationItemRubberBand *> items = mMapTool->selectedItems();
90 for (
auto item : items )
92 graphicsItems << item;
97QRectF QgsMapToolSelectAnnotationMouseHandles::itemRect( QGraphicsItem *item )
const
99 return item->boundingRect();
102void QgsMapToolSelectAnnotationMouseHandles::moveItem( QGraphicsItem *item,
double deltaX,
double deltaY )
105 mMapTool->attemptMoveBy( annotationRubberBandItem, deltaX, deltaY );
108void QgsMapToolSelectAnnotationMouseHandles::rotateItem( QGraphicsItem *item,
double deltaDegree,
double deltaCenterX,
double deltaCenterY )
111 mMapTool->attemptMoveBy( annotationRubberBandItem, deltaCenterX, deltaCenterY );
112 mMapTool->attemptRotateBy( annotationRubberBandItem, deltaDegree );
115void QgsMapToolSelectAnnotationMouseHandles::setItemRect( QGraphicsItem *item, QRectF rect )
118 mMapTool->attemptSetSceneRect( annotationRubberBandItem, rect );
An annotation item rubberband used by QgsMapToolSelectAnnotation to represent selected items.
Map canvas is a class for displaying all GIS data types on a canvas.
void extentsChanged()
Emitted when the extents of the map change.