QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsAnnotationItem Class Reference

An annotation item can be either placed either on screen corrdinates or on map coordinates. More...

#include <qgsannotationitem.h>

Inheritance diagram for QgsAnnotationItem:
Inheritance graph
[legend]

Public Types

enum  MouseMoveAction {
  NoAction, MoveMapPosition, MoveFramePosition, ResizeFrameUp,
  ResizeFrameDown, ResizeFrameLeft, ResizeFrameRight, ResizeFrameLeftUp,
  ResizeFrameRightUp, ResizeFrameLeftDown, ResizeFrameRightDown
}

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 QgsMarkerSymbolV2markerSymbol () 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
Q_DECL_DEPRECATED 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)
QgsMarkerSymbolV2mMarkerSymbol
 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
QgsMapCanvasmMapCanvas
 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())

Detailed Description

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

Member Enumeration Documentation

Enumerator:
NoAction 
MoveMapPosition 
MoveFramePosition 
ResizeFrameUp 
ResizeFrameDown 
ResizeFrameLeft 
ResizeFrameRight 
ResizeFrameLeftUp 
ResizeFrameRightUp 
ResizeFrameLeftDown 
ResizeFrameRightDown 

Constructor & Destructor Documentation

QgsAnnotationItem::QgsAnnotationItem ( QgsMapCanvas mapCanvas)
QgsAnnotationItem::~QgsAnnotationItem ( )
virtual

Member Function Documentation

void QgsAnnotationItem::_readXML ( const QDomDocument &  doc,
const QDomElement &  annotationElem 
)
void QgsAnnotationItem::_writeXML ( QDomDocument &  doc,
QDomElement &  itemElem 
) const
QRectF QgsAnnotationItem::boundingRect ( ) const
virtual

default implementation for canvas items

Reimplemented from QgsMapCanvasItem.

Qt::CursorShape QgsAnnotationItem::cursorShapeForAction ( MouseMoveAction  moveAction) const

Returns suitable cursor shape for mouse move action.

void QgsAnnotationItem::drawFrame ( QPainter *  p)
protected
void QgsAnnotationItem::drawMarkerSymbol ( QPainter *  p)
protected
void QgsAnnotationItem::drawSelectionBoxes ( QPainter *  p)
protected
QColor QgsAnnotationItem::frameBackgroundColor ( ) const
inline
double QgsAnnotationItem::frameBorderWidth ( ) const
inline
QColor QgsAnnotationItem::frameColor ( ) const
inline
QSizeF QgsAnnotationItem::frameSize ( ) const
inline
QgsPoint QgsAnnotationItem::mapPosition ( ) const
inline
bool QgsAnnotationItem::mapPositionFixed ( ) const
inline
const QgsMarkerSymbolV2* QgsAnnotationItem::markerSymbol ( ) const
inline
QSizeF QgsAnnotationItem::minimumFrameSize ( ) const
virtual
QgsAnnotationItem::MouseMoveAction QgsAnnotationItem::moveActionForPosition ( const QPointF &  pos) const

Returns the mouse move behaviour for a given position.

Parameters
posthe position in scene coordinates
QPointF QgsAnnotationItem::offsetFromReferencePoint ( ) const
inline
QPointF QgsAnnotationItem::pointOnLineWithDistance ( const QPointF &  startPoint,
const QPointF &  directionPoint,
double  distance 
) const
protected

Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point.

virtual void QgsAnnotationItem::readXML ( const QDomDocument &  doc,
const QDomElement &  itemElem 
)
pure virtual
double QgsAnnotationItem::scaledSymbolSize ( ) const
protected

Returns the symbol size scaled in (mapcanvas) pixels.

Used for the counding rect calculation

QLineF QgsAnnotationItem::segment ( int  index)
protected

Returns frame width in painter units.

Gets the frame line (0 is the top line, 1 right, 2 bottom, 3 left)

void QgsAnnotationItem::setFrameBackgroundColor ( const QColor &  c)
inline
void QgsAnnotationItem::setFrameBorderWidth ( double  w)
inline
void QgsAnnotationItem::setFrameColor ( const QColor &  c)
inline
void QgsAnnotationItem::setFrameSize ( const QSizeF &  size)
void QgsAnnotationItem::setMapPosition ( const QgsPoint pos)
virtual
void QgsAnnotationItem::setMapPositionFixed ( bool  fixed)
void QgsAnnotationItem::setMarkerSymbol ( QgsMarkerSymbolV2 symbol)

Set symbol that is drawn on map position.

Takes ownership

void QgsAnnotationItem::setOffsetFromReferencePoint ( const QPointF &  offset)
void QgsAnnotationItem::updateBalloon ( )
protected

Check where to attach the balloon connection between frame and map point.

void QgsAnnotationItem::updateBoundingRect ( )
protected
void QgsAnnotationItem::updatePosition ( )
virtual

called on changed extent or resize event to update position of the item

Reimplemented from QgsMapCanvasItem.

virtual void QgsAnnotationItem::writeXML ( QDomDocument &  doc) const
pure virtual

Member Data Documentation

int QgsAnnotationItem::mBalloonSegment
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)

QPointF QgsAnnotationItem::mBalloonSegmentPoint1
protected

First segment point for drawing the connection (ccw direction)

QPointF QgsAnnotationItem::mBalloonSegmentPoint2
protected

Second segment point for drawing the balloon connection (ccw direction)

QRectF QgsAnnotationItem::mBoundingRect
protected

Bounding rect (including item frame and balloon)

QColor QgsAnnotationItem::mFrameBackgroundColor
protected
double QgsAnnotationItem::mFrameBorderWidth
protected

Width of the frame.

QColor QgsAnnotationItem::mFrameColor
protected

Frame / balloon color.

QSizeF QgsAnnotationItem::mFrameSize
protected

Size of the frame (without balloon)

QgsPoint QgsAnnotationItem::mMapPosition
protected

Map position (in case mMapPositionFixed is true)

bool QgsAnnotationItem::mMapPositionFixed
protected

True: the item stays at the same map position, False: the item stays on same screen position.

QgsMarkerSymbolV2* QgsAnnotationItem::mMarkerSymbol
protected

Point symbol that is to be drawn at the map reference location.

QPointF QgsAnnotationItem::mOffsetFromReferencePoint
protected

Describes the shift of the item content box to the reference point.


The documentation for this class was generated from the following files: