QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
QgsFormAnnotationItem Class Reference

An annotation item that embedds a designer form showing the feature attribute. More...

#include <qgsformannotationitem.h>

Inheritance diagram for QgsFormAnnotationItem:
Inheritance graph
[legend]
Collaboration diagram for QgsFormAnnotationItem:
Collaboration graph
[legend]

Public Member Functions

 QgsFormAnnotationItem (QgsMapCanvas *canvas, QgsVectorLayer *vlayer=0, bool hasFeature=false, int feature=0)
 ~QgsFormAnnotationItem ()
void paint (QPainter *painter)
 function to be implemented by derived classes
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 paint function called by map canvas
QSizeF minimumFrameSize () const
QSizeF preferredFrameSize () const
 Returns the optimal frame size.
void setMapPosition (const QgsPoint &pos)
 Reimplemented from QgsAnnotationItem.
void setDesignerForm (const QString &uiFile)
QString designerForm () const
void writeXML (QDomDocument &doc) const
void readXML (const QDomDocument &doc, const QDomElement &itemElem)
QgsVectorLayervectorLayer () const
- Public Member Functions inherited from QgsAnnotationItem
 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
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
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
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

Private Slots

void setFeatureForMapPosition ()
 Sets a feature for the current map position and updates the dialog.
void updateVisibility ()
 Sets visibility status based on mVectorLayer visibility.

Private Member Functions

QWidget * createDesignerWidget (const QString &filePath)

Private Attributes

QGraphicsProxyWidget * mWidgetContainer
QWidget * mDesignerWidget
QgsVectorLayermVectorLayer
 Associated vectorlayer (or 0 if attributes are not supposed to be replaced)
bool mHasAssociatedFeature
 True if the item is related to a vector feature.
QgsFeatureId mFeature
 Associated feature.
QString mDesignerForm
 Path to (and including) the .ui file.

Additional Inherited Members

- Public Types inherited from QgsAnnotationItem
enum  MouseMoveAction {
  NoAction, MoveMapPosition, MoveFramePosition, ResizeFrameUp,
  ResizeFrameDown, ResizeFrameLeft, ResizeFrameRight, ResizeFrameLeftUp,
  ResizeFrameRightUp, ResizeFrameLeftDown, ResizeFrameRightDown
}
- Protected Member Functions inherited from QgsAnnotationItem
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 inherited from QgsAnnotationItem
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 that embedds a designer form showing the feature attribute.

Definition at line 28 of file qgsformannotationitem.h.

Constructor & Destructor Documentation

QgsFormAnnotationItem::QgsFormAnnotationItem ( QgsMapCanvas canvas,
QgsVectorLayer vlayer = 0,
bool  hasFeature = false,
int  feature = 0 
)
QgsFormAnnotationItem::~QgsFormAnnotationItem ( )

Definition at line 52 of file qgsformannotationitem.cpp.

References mDesignerWidget.

Member Function Documentation

QWidget * QgsFormAnnotationItem::createDesignerWidget ( const QString &  filePath)
private
QString QgsFormAnnotationItem::designerForm ( ) const
inline

Definition at line 48 of file qgsformannotationitem.h.

QSizeF QgsFormAnnotationItem::minimumFrameSize ( ) const
virtual

Reimplemented from QgsAnnotationItem.

Definition at line 145 of file qgsformannotationitem.cpp.

References mDesignerWidget, and QgsAnnotationItem::mFrameBorderWidth.

void QgsFormAnnotationItem::paint ( QPainter *  painter)
virtual

function to be implemented by derived classes

Implements QgsMapCanvasItem.

Definition at line 115 of file qgsformannotationitem.cpp.

void QgsFormAnnotationItem::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget = 0 
)
virtual
QSizeF QgsFormAnnotationItem::preferredFrameSize ( ) const

Returns the optimal frame size.

Definition at line 158 of file qgsformannotationitem.cpp.

References mDesignerWidget.

Referenced by setDesignerForm().

void QgsFormAnnotationItem::readXML ( const QDomDocument &  doc,
const QDomElement &  itemElem 
)
virtual
void QgsFormAnnotationItem::setDesignerForm ( const QString &  uiFile)
void QgsFormAnnotationItem::setFeatureForMapPosition ( )
privateslot
void QgsFormAnnotationItem::setMapPosition ( const QgsPoint pos)
virtual

Reimplemented from QgsAnnotationItem.

Reimplemented from QgsAnnotationItem.

Definition at line 109 of file qgsformannotationitem.cpp.

References setFeatureForMapPosition().

void QgsFormAnnotationItem::updateVisibility ( )
privateslot

Sets visibility status based on mVectorLayer visibility.

Definition at line 261 of file qgsformannotationitem.cpp.

References QgsMapCanvas::layers(), QgsMapCanvasItem::mMapCanvas, and mVectorLayer.

Referenced by QgsFormAnnotationItem(), and readXML().

QgsVectorLayer* QgsFormAnnotationItem::vectorLayer ( ) const
inline

Definition at line 53 of file qgsformannotationitem.h.

void QgsFormAnnotationItem::writeXML ( QDomDocument &  doc) const
virtual

Member Data Documentation

QString QgsFormAnnotationItem::mDesignerForm
private

Path to (and including) the .ui file.

Definition at line 71 of file qgsformannotationitem.h.

Referenced by QgsFormAnnotationItem(), readXML(), setDesignerForm(), setFeatureForMapPosition(), and writeXML().

QWidget* QgsFormAnnotationItem::mDesignerWidget
private
QgsFeatureId QgsFormAnnotationItem::mFeature
private

Associated feature.

Definition at line 69 of file qgsformannotationitem.h.

Referenced by createDesignerWidget(), readXML(), setFeatureForMapPosition(), and writeXML().

bool QgsFormAnnotationItem::mHasAssociatedFeature
private

True if the item is related to a vector feature.

Definition at line 67 of file qgsformannotationitem.h.

Referenced by createDesignerWidget(), readXML(), setFeatureForMapPosition(), and writeXML().

QgsVectorLayer* QgsFormAnnotationItem::mVectorLayer
private

Associated vectorlayer (or 0 if attributes are not supposed to be replaced)

Definition at line 65 of file qgsformannotationitem.h.

Referenced by createDesignerWidget(), QgsFormAnnotationItem(), readXML(), setFeatureForMapPosition(), updateVisibility(), and writeXML().

QGraphicsProxyWidget* QgsFormAnnotationItem::mWidgetContainer
private

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