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]
Collaboration diagram for QgsAnnotationItem:

Collaboration graph
[legend]

List of all members.

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)

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


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

Definition at line 31 of file qgsannotationitem.h.


Member Enumeration Documentation

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

Definition at line 34 of file qgsannotationitem.h.


Constructor & Destructor Documentation

QgsAnnotationItem::QgsAnnotationItem ( QgsMapCanvas mapCanvas  ) 

QgsAnnotationItem::~QgsAnnotationItem (  )  [virtual]

Definition at line 35 of file qgsannotationitem.cpp.

References mMarkerSymbol.


Member Function Documentation

void QgsAnnotationItem::updatePosition (  )  [virtual]

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

Reimplemented from QgsMapCanvasItem.

Definition at line 79 of file qgsannotationitem.cpp.

References mMapPosition, mMapPositionFixed, QgsMapCanvasItem::toCanvasCoordinates(), and QgsMapCanvasItem::toMapCoordinates().

QRectF QgsAnnotationItem::boundingRect (  )  const [virtual]

default implementation for canvas items

Reimplemented from QgsMapCanvasItem.

Definition at line 91 of file qgsannotationitem.cpp.

References mBoundingRect.

QSizeF QgsAnnotationItem::minimumFrameSize (  )  const [virtual]

Reimplemented in QgsFormAnnotationItem.

Definition at line 96 of file qgsannotationitem.cpp.

Referenced by setFrameSize().

QgsAnnotationItem::MouseMoveAction QgsAnnotationItem::moveActionForPosition ( const QPointF &  pos  )  const

Returns the mouse move behaviour for a given position.

Parameters:
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.

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

void QgsAnnotationItem::setMapPositionFixed ( bool  fixed  ) 

bool QgsAnnotationItem::mapPositionFixed (  )  const [inline]

Definition at line 66 of file qgsannotationitem.h.

void QgsAnnotationItem::setMapPosition ( const QgsPoint pos  )  [virtual]

QgsPoint QgsAnnotationItem::mapPosition (  )  const [inline]

Definition at line 69 of file qgsannotationitem.h.

void QgsAnnotationItem::setFrameSize ( const QSizeF &  size  ) 

QSizeF QgsAnnotationItem::frameSize (  )  const [inline]

Definition at line 72 of file qgsannotationitem.h.

Referenced by setFrameSize().

void QgsAnnotationItem::setOffsetFromReferencePoint ( const QPointF &  offset  ) 

QPointF QgsAnnotationItem::offsetFromReferencePoint (  )  const [inline]

Definition at line 75 of file qgsannotationitem.h.

void QgsAnnotationItem::setMarkerSymbol ( QgsMarkerSymbolV2 symbol  ) 

Set symbol that is drawn on map position.

Takes ownership

Definition at line 40 of file qgsannotationitem.cpp.

References mMarkerSymbol, and updateBoundingRect().

const QgsMarkerSymbolV2* QgsAnnotationItem::markerSymbol (  )  const [inline]

Definition at line 79 of file qgsannotationitem.h.

void QgsAnnotationItem::setFrameBorderWidth ( double  w  )  [inline]

Definition at line 81 of file qgsannotationitem.h.

double QgsAnnotationItem::frameBorderWidth (  )  const [inline]

Definition at line 82 of file qgsannotationitem.h.

void QgsAnnotationItem::setFrameColor ( const QColor &  c  )  [inline]

Definition at line 84 of file qgsannotationitem.h.

QColor QgsAnnotationItem::frameColor (  )  const [inline]

Definition at line 85 of file qgsannotationitem.h.

void QgsAnnotationItem::setFrameBackgroundColor ( const QColor &  c  )  [inline]

Definition at line 87 of file qgsannotationitem.h.

QColor QgsAnnotationItem::frameBackgroundColor (  )  const [inline]

Definition at line 88 of file qgsannotationitem.h.

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

virtual void QgsAnnotationItem::readXML ( const QDomDocument &  doc,
const QDomElement &  itemElem 
) [pure virtual]

void QgsAnnotationItem::_writeXML ( QDomDocument &  doc,
QDomElement &  itemElem 
) const

void QgsAnnotationItem::_readXML ( const QDomDocument &  doc,
const QDomElement &  annotationElem 
)

void QgsAnnotationItem::updateBoundingRect (  )  [protected]

void QgsAnnotationItem::updateBalloon (  )  [protected]

void QgsAnnotationItem::drawFrame ( QPainter *  p  )  [protected]

void QgsAnnotationItem::drawMarkerSymbol ( QPainter *  p  )  [protected]

void QgsAnnotationItem::drawSelectionBoxes ( QPainter *  p  )  [protected]

Definition at line 228 of file qgsannotationitem.cpp.

References mBoundingRect.

Referenced by QgsTextAnnotationItem::paint(), and QgsFormAnnotationItem::paint().

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)

Definition at line 250 of file qgsannotationitem.cpp.

References mFrameSize, and mOffsetFromReferencePoint.

Referenced by drawFrame(), and updateBalloon().

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.

Definition at line 271 of file qgsannotationitem.cpp.

Referenced by updateBalloon().

double QgsAnnotationItem::scaledSymbolSize (  )  const [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().


Member Data Documentation

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(), QgsTextAnnotationItem::paint(), QgsFormAnnotationItem::paint(), setMapPositionFixed(), updateBalloon(), and updatePosition().

Map position (in case mMapPositionFixed is true).

Definition at line 100 of file qgsannotationitem.h.

Referenced by _readXML(), _writeXML(), drawMarkerSymbol(), QgsFormAnnotationItem::setFeatureForMapPosition(), setMapPosition(), and updatePosition().

QSizeF QgsAnnotationItem::mFrameSize [protected]

Bounding rect (including item frame and balloon).

Definition at line 107 of file qgsannotationitem.h.

Referenced by boundingRect(), drawSelectionBoxes(), and updateBoundingRect().

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

QColor QgsAnnotationItem::mFrameColor [protected]

Frame / balloon color.

Definition at line 114 of file qgsannotationitem.h.

Referenced by _readXML(), _writeXML(), drawFrame(), and QgsAnnotationItem().

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

First segment point for drawing the connection (ccw direction).

Definition at line 120 of file qgsannotationitem.h.

Referenced by drawFrame(), and updateBalloon().

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

Definition at line 122 of file qgsannotationitem.h.

Referenced by drawFrame(), and updateBalloon().


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

Generated on Sat Feb 4 19:17:23 2012 for Quantum GIS API Documentation by  doxygen 1.5.6