QGIS API Documentation
2.0.1-Dufour
|
An annotation item can be either placed either on screen corrdinates or on map coordinates. More...
#include <qgsannotationitem.h>
Public Member Functions | |
QgsAnnotationItem (QgsMapCanvas *mapCanvas) | |
virtual | ~QgsAnnotationItem () |
void | updatePosition () |
called on changed extent or resize event to update position of the item | |
QRectF | boundingRect () const |
default implementation for canvas items | |
virtual QSizeF | minimumFrameSize () const |
QgsAnnotationItem::MouseMoveAction | moveActionForPosition (const QPointF &pos) const |
Returns the mouse move behaviour for a given position. | |
Qt::CursorShape | cursorShapeForAction (MouseMoveAction moveAction) const |
Returns suitable cursor shape for mouse move action. | |
void | setMapPositionFixed (bool fixed) |
bool | mapPositionFixed () const |
virtual void | setMapPosition (const QgsPoint &pos) |
QgsPoint | mapPosition () const |
void | setFrameSize (const QSizeF &size) |
QSizeF | frameSize () const |
void | setOffsetFromReferencePoint (const QPointF &offset) |
QPointF | offsetFromReferencePoint () const |
void | setMarkerSymbol (QgsMarkerSymbolV2 *symbol) |
Set symbol that is drawn on map position. | |
const QgsMarkerSymbolV2 * | markerSymbol () const |
void | setFrameBorderWidth (double w) |
double | frameBorderWidth () const |
void | setFrameColor (const QColor &c) |
QColor | frameColor () const |
void | setFrameBackgroundColor (const QColor &c) |
QColor | frameBackgroundColor () const |
virtual void | writeXML (QDomDocument &doc) const =0 |
virtual void | readXML (const QDomDocument &doc, const QDomElement &itemElem)=0 |
void | _writeXML (QDomDocument &doc, QDomElement &itemElem) const |
void | _readXML (const QDomDocument &doc, const QDomElement &annotationElem) |
Public Member Functions inherited from QgsMapCanvasItem | |
void | setPanningOffset (const QPoint &point) |
sets current offset, to be called from QgsMapCanvas | |
QgsRectangle | rect () const |
returns canvas item rectangle | |
void | setRect (const QgsRectangle &r) |
sets canvas item rectangle | |
QgsPoint | toMapCoordinates (const QPoint &point) |
transformation from screen coordinates to map coordinates | |
QPointF | toCanvasCoordinates (const QgsPoint &point) |
transformation from map coordinates to screen coordinates |
Protected Member Functions | |
void | updateBoundingRect () |
void | updateBalloon () |
Check where to attach the balloon connection between frame and map point. | |
void | drawFrame (QPainter *p) |
void | drawMarkerSymbol (QPainter *p) |
void | drawSelectionBoxes (QPainter *p) |
QLineF | segment (int index) |
Returns frame width in painter units. | |
QPointF | pointOnLineWithDistance (const QPointF &startPoint, const QPointF &directionPoint, double distance) const |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point. | |
double | scaledSymbolSize () const |
Returns the symbol size scaled in (mapcanvas) pixels. | |
Protected Member Functions inherited from QgsMapCanvasItem | |
QgsMapCanvasItem (QgsMapCanvas *mapCanvas) | |
protected constructor: cannot be constructed directly | |
virtual | ~QgsMapCanvasItem () |
virtual void | paint (QPainter *painter)=0 |
function to be implemented by derived classes | |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) |
paint function called by map canvas | |
void | updateCanvas () |
schedules map canvas for repaint | |
bool | setRenderContextVariables (QPainter *p, QgsRenderContext &context) const |
Sets render context parameters. |
Protected Attributes | |
bool | mMapPositionFixed |
True: the item stays at the same map position, False: the item stays on same screen position. | |
QgsPoint | mMapPosition |
Map position (in case mMapPositionFixed is true) | |
QPointF | mOffsetFromReferencePoint |
Describes the shift of the item content box to the reference point. | |
QSizeF | mFrameSize |
Size of the frame (without balloon) | |
QRectF | mBoundingRect |
Bounding rect (including item frame and balloon) | |
QgsMarkerSymbolV2 * | mMarkerSymbol |
Point symbol that is to be drawn at the map reference location. | |
double | mFrameBorderWidth |
Width of the frame. | |
QColor | mFrameColor |
Frame / balloon color. | |
QColor | mFrameBackgroundColor |
int | mBalloonSegment |
Segment number where the connection to the map point is attached. | |
QPointF | mBalloonSegmentPoint1 |
First segment point for drawing the connection (ccw direction) | |
QPointF | mBalloonSegmentPoint2 |
Second segment point for drawing the balloon connection (ccw direction) | |
Protected Attributes inherited from QgsMapCanvasItem | |
QgsMapCanvas * | mMapCanvas |
pointer to map canvas | |
QgsRectangle | mRect |
canvas item rectangle (in map coordinates) | |
QPoint | mPanningOffset |
offset from normal position due current panning operation, used when converting map coordinates to move map canvas items | |
QSizeF | mItemSize |
cached size of the item (to return in boundingRect()) |
An annotation item can be either placed either on screen corrdinates or on map coordinates.
It may reference a feature and displays that associatiation with a balloon like appearance
Definition at line 31 of file qgsannotationitem.h.
NoAction | |
MoveMapPosition | |
MoveFramePosition | |
ResizeFrameUp | |
ResizeFrameDown | |
ResizeFrameLeft | |
ResizeFrameRight | |
ResizeFrameLeftUp | |
ResizeFrameRightUp | |
ResizeFrameLeftDown | |
ResizeFrameRightDown |
Definition at line 34 of file qgsannotationitem.h.
QgsAnnotationItem::QgsAnnotationItem | ( | QgsMapCanvas * | mapCanvas | ) |
Definition at line 26 of file qgsannotationitem.cpp.
References mFrameBackgroundColor, mFrameBorderWidth, mFrameColor, and mMarkerSymbol.
|
virtual |
Definition at line 36 of file qgsannotationitem.cpp.
References mMarkerSymbol.
void QgsAnnotationItem::_readXML | ( | const QDomDocument & | doc, |
const QDomElement & | annotationElem | ||
) |
Definition at line 415 of file qgsannotationitem.cpp.
References QgsSymbolLayerV2Utils::loadSymbol(), mFrameBackgroundColor, mFrameBorderWidth, mFrameColor, mFrameSize, mMapPosition, mMapPositionFixed, mMarkerSymbol, mOffsetFromReferencePoint, QgsPoint::setX(), QgsPoint::setY(), updateBalloon(), and updateBoundingRect().
Referenced by QgsSvgAnnotationItem::readXML(), QgsTextAnnotationItem::readXML(), QgsFormAnnotationItem::readXML(), and QgsHtmlAnnotationItem::readXML().
void QgsAnnotationItem::_writeXML | ( | QDomDocument & | doc, |
QDomElement & | itemElem | ||
) | const |
Definition at line 381 of file qgsannotationitem.cpp.
References mFrameBackgroundColor, mFrameBorderWidth, mFrameColor, mFrameSize, mMapPosition, mMapPositionFixed, mMarkerSymbol, mOffsetFromReferencePoint, QgsSymbolLayerV2Utils::saveSymbol(), QgsPoint::x(), and QgsPoint::y().
Referenced by QgsSvgAnnotationItem::writeXML(), QgsTextAnnotationItem::writeXML(), QgsFormAnnotationItem::writeXML(), and QgsHtmlAnnotationItem::writeXML().
|
virtual |
default implementation for canvas items
Reimplemented from QgsMapCanvasItem.
Definition at line 92 of file qgsannotationitem.cpp.
References mBoundingRect.
Qt::CursorShape QgsAnnotationItem::cursorShapeForAction | ( | MouseMoveAction | moveAction | ) | const |
Returns suitable cursor shape for mouse move action.
Definition at line 339 of file qgsannotationitem.cpp.
References MoveFramePosition, MoveMapPosition, NoAction, ResizeFrameDown, ResizeFrameLeft, ResizeFrameLeftDown, ResizeFrameLeftUp, ResizeFrameRight, ResizeFrameRightDown, ResizeFrameRightUp, and ResizeFrameUp.
|
protected |
Definition at line 173 of file qgsannotationitem.cpp.
References mBalloonSegment, mBalloonSegmentPoint1, mBalloonSegmentPoint2, mFrameBackgroundColor, mFrameBorderWidth, mFrameColor, mMapPositionFixed, and segment().
Referenced by QgsSvgAnnotationItem::paint(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), and QgsHtmlAnnotationItem::paint().
|
protected |
Definition at line 207 of file qgsannotationitem.cpp.
References mMarkerSymbol, QgsMarkerSymbolV2::renderPoint(), QgsMapCanvasItem::setRenderContextVariables(), QgsSymbolV2::startRender(), and QgsSymbolV2::stopRender().
Referenced by QgsSvgAnnotationItem::paint(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), and QgsHtmlAnnotationItem::paint().
|
protected |
Definition at line 228 of file qgsannotationitem.cpp.
References mBoundingRect.
Referenced by QgsSvgAnnotationItem::paint(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), and QgsHtmlAnnotationItem::paint().
|
inline |
Definition at line 88 of file qgsannotationitem.h.
|
inline |
Definition at line 82 of file qgsannotationitem.h.
|
inline |
Definition at line 85 of file qgsannotationitem.h.
|
inline |
Definition at line 72 of file qgsannotationitem.h.
Referenced by setFrameSize().
|
inline |
Definition at line 69 of file qgsannotationitem.h.
|
inline |
Definition at line 66 of file qgsannotationitem.h.
|
inline |
Definition at line 79 of file qgsannotationitem.h.
|
virtual |
Reimplemented in QgsHtmlAnnotationItem, and QgsFormAnnotationItem.
Definition at line 97 of file qgsannotationitem.cpp.
Referenced by setFrameSize().
QgsAnnotationItem::MouseMoveAction QgsAnnotationItem::moveActionForPosition | ( | const QPointF & | pos | ) | const |
Returns the mouse move behaviour for a given position.
pos | the position in scene coordinates |
Definition at line 280 of file qgsannotationitem.cpp.
References mFrameSize, mOffsetFromReferencePoint, MoveFramePosition, MoveMapPosition, NoAction, ResizeFrameDown, ResizeFrameLeft, ResizeFrameLeftDown, ResizeFrameLeftUp, ResizeFrameRight, ResizeFrameRightDown, ResizeFrameRightUp, and ResizeFrameUp.
|
inline |
Definition at line 75 of file qgsannotationitem.h.
|
protected |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point.
Definition at line 271 of file qgsannotationitem.cpp.
Referenced by updateBalloon().
|
pure virtual |
Implemented in QgsFormAnnotationItem, QgsHtmlAnnotationItem, QgsTextAnnotationItem, and QgsSvgAnnotationItem.
|
protected |
Returns the symbol size scaled in (mapcanvas) pixels.
Used for the counding rect calculation
Definition at line 365 of file qgsannotationitem.cpp.
References QgsMapCanvasItem::mMapCanvas, mMarkerSymbol, and QgsMarkerSymbolV2::size().
Referenced by updateBoundingRect().
|
protected |
Returns frame width in painter units.
Gets the frame line (0 is the top line, 1 right, 2 bottom, 3 left)
Definition at line 250 of file qgsannotationitem.cpp.
References mFrameSize, and mOffsetFromReferencePoint.
Referenced by drawFrame(), and updateBalloon().
|
inline |
Definition at line 87 of file qgsannotationitem.h.
|
inline |
Definition at line 81 of file qgsannotationitem.h.
|
inline |
Definition at line 84 of file qgsannotationitem.h.
void QgsAnnotationItem::setFrameSize | ( | const QSizeF & | size | ) |
Definition at line 199 of file qgsannotationitem.cpp.
References frameSize(), mFrameSize, minimumFrameSize(), updateBalloon(), and updateBoundingRect().
Referenced by QgsFormAnnotationItem::setDesignerForm().
|
virtual |
Reimplemented in QgsFormAnnotationItem, and QgsHtmlAnnotationItem.
Definition at line 48 of file qgsannotationitem.cpp.
References mMapPosition, and QgsMapCanvasItem::toCanvasCoordinates().
Referenced by setMapPositionFixed().
void QgsAnnotationItem::setMapPositionFixed | ( | bool | fixed | ) |
Definition at line 61 of file qgsannotationitem.cpp.
References mMapPositionFixed, mOffsetFromReferencePoint, setMapPosition(), QgsMapCanvasItem::toMapCoordinates(), updateBalloon(), and updateBoundingRect().
void QgsAnnotationItem::setMarkerSymbol | ( | QgsMarkerSymbolV2 * | symbol | ) |
Set symbol that is drawn on map position.
Takes ownership
Definition at line 41 of file qgsannotationitem.cpp.
References mMarkerSymbol, and updateBoundingRect().
void QgsAnnotationItem::setOffsetFromReferencePoint | ( | const QPointF & | offset | ) |
Definition at line 54 of file qgsannotationitem.cpp.
References mOffsetFromReferencePoint, updateBalloon(), and updateBoundingRect().
|
protected |
Check where to attach the balloon connection between frame and map point.
Definition at line 118 of file qgsannotationitem.cpp.
References mBalloonSegment, mBalloonSegmentPoint1, mBalloonSegmentPoint2, mFrameSize, mMapPositionFixed, mOffsetFromReferencePoint, pointOnLineWithDistance(), segment(), QgsPoint::sqrDist(), QgsPoint::sqrDistToSegment(), QgsPoint::x(), and QgsPoint::y().
Referenced by _readXML(), setFrameSize(), setMapPositionFixed(), and setOffsetFromReferencePoint().
|
protected |
Definition at line 102 of file qgsannotationitem.cpp.
References mBoundingRect, mFrameBorderWidth, mFrameSize, mMarkerSymbol, mOffsetFromReferencePoint, and scaledSymbolSize().
Referenced by _readXML(), setFrameSize(), setMapPositionFixed(), setMarkerSymbol(), and setOffsetFromReferencePoint().
|
virtual |
called on changed extent or resize event to update position of the item
Reimplemented from QgsMapCanvasItem.
Definition at line 80 of file qgsannotationitem.cpp.
References mMapPosition, mMapPositionFixed, QgsMapCanvasItem::toCanvasCoordinates(), and QgsMapCanvasItem::toMapCoordinates().
|
pure virtual |
Implemented in QgsFormAnnotationItem, QgsHtmlAnnotationItem, QgsTextAnnotationItem, and QgsSvgAnnotationItem.
|
protected |
Segment number where the connection to the map point is attached.
-1 if no balloon needed (e.g. if point is contained in frame)
Definition at line 118 of file qgsannotationitem.h.
Referenced by drawFrame(), and updateBalloon().
|
protected |
First segment point for drawing the connection (ccw direction)
Definition at line 120 of file qgsannotationitem.h.
Referenced by drawFrame(), and updateBalloon().
|
protected |
Second segment point for drawing the balloon connection (ccw direction)
Definition at line 122 of file qgsannotationitem.h.
Referenced by drawFrame(), and updateBalloon().
|
protected |
Bounding rect (including item frame and balloon)
Definition at line 107 of file qgsannotationitem.h.
Referenced by boundingRect(), drawSelectionBoxes(), and updateBoundingRect().
|
protected |
Definition at line 115 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), drawFrame(), QgsAnnotationItem(), QgsFormAnnotationItem::readXML(), QgsFormAnnotationItem::setDesignerForm(), and QgsFormAnnotationItem::setFeatureForMapPosition().
|
protected |
Width of the frame.
Definition at line 112 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), drawFrame(), QgsFormAnnotationItem::minimumFrameSize(), QgsHtmlAnnotationItem::minimumFrameSize(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), QgsHtmlAnnotationItem::paint(), QgsAnnotationItem(), and updateBoundingRect().
|
protected |
Frame / balloon color.
Definition at line 114 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), drawFrame(), and QgsAnnotationItem().
|
protected |
Size of the frame (without balloon)
Definition at line 105 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), moveActionForPosition(), QgsSvgAnnotationItem::paint(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), QgsHtmlAnnotationItem::paint(), segment(), setFrameSize(), updateBalloon(), and updateBoundingRect().
|
protected |
Map position (in case mMapPositionFixed is true)
Definition at line 100 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), QgsFormAnnotationItem::setFeatureForMapPosition(), QgsHtmlAnnotationItem::setFeatureForMapPosition(), setMapPosition(), and updatePosition().
|
protected |
True: the item stays at the same map position, False: the item stays on same screen position.
Definition at line 98 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), drawFrame(), QgsSvgAnnotationItem::paint(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), QgsHtmlAnnotationItem::paint(), setMapPositionFixed(), updateBalloon(), and updatePosition().
|
protected |
Point symbol that is to be drawn at the map reference location.
Definition at line 110 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), drawMarkerSymbol(), QgsAnnotationItem(), scaledSymbolSize(), setMarkerSymbol(), updateBoundingRect(), and ~QgsAnnotationItem().
|
protected |
Describes the shift of the item content box to the reference point.
Definition at line 102 of file qgsannotationitem.h.
Referenced by _readXML(), _writeXML(), moveActionForPosition(), QgsSvgAnnotationItem::paint(), QgsFormAnnotationItem::paint(), QgsTextAnnotationItem::paint(), QgsHtmlAnnotationItem::paint(), segment(), setMapPositionFixed(), setOffsetFromReferencePoint(), updateBalloon(), and updateBoundingRect().