QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
qgsmapcanvasannotationitem.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmapcanvasannotationitem.h
3
----------------------------
4
begin : January 2017
5
copyright : (C) 2017 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSMAPCANVASANNOTATIONITEM_H
19
#define QGSMAPCANVASANNOTATIONITEM_H
20
21
#ifdef SIP_RUN
22
//%ModuleHeaderCode
23
// For ConvertToSubClassCode.
24
#include "
qgsmapcanvasannotationitem.h
"
25
26
//%End
27
#endif
28
29
#include "
qgsmapcanvasitem.h
"
30
#include "qgis_gui.h"
31
32
class
QgsAnnotation
;
33
39
class
GUI_EXPORT
QgsMapCanvasAnnotationItem
:
public
QObject,
public
QgsMapCanvasItem
40
{
41
Q_OBJECT
42
43
#ifdef SIP_RUN
44
SIP_CONVERT_TO_SUBCLASS_CODE
45
if
(
dynamic_cast<
QgsMapCanvasAnnotationItem
*
>
( sipCpp ) )
46
{
47
sipType = sipType_QgsMapCanvasAnnotationItem;
48
*sipCppRet =
dynamic_cast<
QgsMapCanvasAnnotationItem
*
>
( sipCpp );
49
}
50
else
51
sipType =
nullptr
;
52
SIP_END
53
#endif
54
55
public
:
57
enum
MouseMoveAction
58
{
59
NoAction
,
60
MoveMapPosition
,
61
MoveFramePosition
,
62
ResizeFrameUp
,
63
ResizeFrameDown
,
64
ResizeFrameLeft
,
65
ResizeFrameRight
,
66
ResizeFrameLeftUp
,
67
ResizeFrameRightUp
,
68
ResizeFrameLeftDown
,
69
ResizeFrameRightDown
70
};
71
75
QgsMapCanvasAnnotationItem
(
QgsAnnotation
*annotation
SIP_TRANSFER
,
QgsMapCanvas
*mapCanvas
SIP_TRANSFERTHIS
);
76
81
const
QgsAnnotation
*
annotation
() const
SIP_SKIP
{
return
mAnnotation; }
82
86
QgsAnnotation
*
annotation
() {
return
mAnnotation; }
87
88
void
updatePosition
()
override
;
89
90
QRectF
boundingRect
()
const override
;
91
92
using
QgsMapCanvasItem::paint
;
93
void
paint
( QPainter *painter )
override
;
94
98
MouseMoveAction moveActionForPosition( QPointF pos )
const
;
99
103
Qt::CursorShape cursorShapeForAction( MouseMoveAction moveAction )
const
;
104
105
private
slots:
106
107
void
updateBoundingRect();
108
109
void
onCanvasLayersChanged();
110
112
void
setFeatureForMapPosition();
113
114
void
annotationDeleted();
115
116
private
:
118
void
drawSelectionBoxes( QPainter *p )
const
;
119
121
double
scaledSymbolSize()
const
;
122
123
QgsAnnotation
*mAnnotation =
nullptr
;
124
126
QRectF mBoundingRect;
127
};
128
129
#endif
// QGSMAPCANVASANNOTATIONITEM_H
QgsAnnotation
Abstract base class for annotation items which are drawn over a map.
Definition
qgsannotation.h:53
QgsMapCanvasAnnotationItem
An interactive map canvas item which displays a QgsAnnotation.
Definition
qgsmapcanvasannotationitem.h:40
QgsMapCanvasAnnotationItem::annotation
const QgsAnnotation * annotation() const
Returns the item's annotation.
Definition
qgsmapcanvasannotationitem.h:81
QgsMapCanvasAnnotationItem::QgsMapCanvasAnnotationItem
QgsMapCanvasAnnotationItem(QgsAnnotation *annotation, QgsMapCanvas *mapCanvas)
Constructor for QgsMapCanvasAnnotationItem.
Definition
qgsmapcanvasannotationitem.cpp:36
QgsMapCanvasAnnotationItem::annotation
QgsAnnotation * annotation()
Returns the item's annotation.
Definition
qgsmapcanvasannotationitem.h:86
QgsMapCanvasAnnotationItem::MouseMoveAction
MouseMoveAction
Mouse actions for interacting with item.
Definition
qgsmapcanvasannotationitem.h:58
QgsMapCanvasAnnotationItem::ResizeFrameRight
@ ResizeFrameRight
Resize frame right.
Definition
qgsmapcanvasannotationitem.h:65
QgsMapCanvasAnnotationItem::ResizeFrameRightUp
@ ResizeFrameRightUp
Resize frame right up.
Definition
qgsmapcanvasannotationitem.h:67
QgsMapCanvasAnnotationItem::MoveFramePosition
@ MoveFramePosition
Moving position of frame relative to annotation.
Definition
qgsmapcanvasannotationitem.h:61
QgsMapCanvasAnnotationItem::ResizeFrameUp
@ ResizeFrameUp
Resize frame up.
Definition
qgsmapcanvasannotationitem.h:62
QgsMapCanvasAnnotationItem::ResizeFrameRightDown
@ ResizeFrameRightDown
Resize frame right down.
Definition
qgsmapcanvasannotationitem.h:69
QgsMapCanvasAnnotationItem::MoveMapPosition
@ MoveMapPosition
Moving annotation map position.
Definition
qgsmapcanvasannotationitem.h:60
QgsMapCanvasAnnotationItem::ResizeFrameDown
@ ResizeFrameDown
Resize frame down.
Definition
qgsmapcanvasannotationitem.h:63
QgsMapCanvasAnnotationItem::NoAction
@ NoAction
No action.
Definition
qgsmapcanvasannotationitem.h:59
QgsMapCanvasAnnotationItem::ResizeFrameLeftUp
@ ResizeFrameLeftUp
Resize frame left up.
Definition
qgsmapcanvasannotationitem.h:66
QgsMapCanvasAnnotationItem::ResizeFrameLeft
@ ResizeFrameLeft
Resize frame left.
Definition
qgsmapcanvasannotationitem.h:64
QgsMapCanvasAnnotationItem::ResizeFrameLeftDown
@ ResizeFrameLeftDown
Resize frame left down.
Definition
qgsmapcanvasannotationitem.h:68
QgsMapCanvasItem::boundingRect
QRectF boundingRect() const override
Definition
qgsmapcanvasitem.cpp:105
QgsMapCanvasItem::paint
virtual void paint(QPainter *painter)=0
function to be implemented by derived classes
QgsMapCanvasItem::QgsMapCanvasItem
QgsMapCanvasItem(QgsMapCanvas *mapCanvas)
protected constructor: cannot be constructed directly
Definition
qgsmapcanvasitem.cpp:30
QgsMapCanvasItem::updatePosition
virtual void updatePosition()
called on changed extent or resize event to update position of the item
Definition
qgsmapcanvasitem.cpp:134
QgsMapCanvas
Map canvas is a class for displaying all GIS data types on a canvas.
Definition
qgsmapcanvas.h:96
SIP_CONVERT_TO_SUBCLASS_CODE
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition
qgis_sip.h:203
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
SIP_END
#define SIP_END
Definition
qgis_sip.h:220
qgsmapcanvasannotationitem.h
qgsmapcanvasitem.h
Generated on
for QGIS API Documentation by
1.17.0