|
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().
1.8.1.2