QGIS API Documentation  2.4.0-Chugiak
 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 More...
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 paint function called by map canvas More...
 
QSizeF minimumFrameSize () const
 
QSizeF preferredFrameSize () const
 Returns the optimal frame size. More...
 
void setMapPosition (const QgsPoint &pos)
 Reimplemented from QgsAnnotationItem. More...
 
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 More...
 
QRectF boundingRect () const
 default implementation for canvas items More...
 
QgsAnnotationItem::MouseMoveAction moveActionForPosition (const QPointF &pos) const
 Returns the mouse move behaviour for a given position. More...
 
Qt::CursorShape cursorShapeForAction (MouseMoveAction moveAction) const
 Returns suitable cursor shape for mouse move action. More...
 
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. More...
 
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
Q_DECL_DEPRECATED void setPanningOffset (const QPoint &point)
 sets current offset, to be called from QgsMapCanvas More...
 
QgsRectangle rect () const
 returns canvas item rectangle More...
 
void setRect (const QgsRectangle &r)
 sets canvas item rectangle More...
 
QgsPoint toMapCoordinates (const QPoint &point)
 transformation from screen coordinates to map coordinates More...
 
QPointF toCanvasCoordinates (const QgsPoint &point)
 transformation from map coordinates to screen coordinates More...
 

Private Slots

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

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) More...
 
bool mHasAssociatedFeature
 True if the item is related to a vector feature. More...
 
QgsFeatureId mFeature
 Associated feature. More...
 
QString mDesignerForm
 Path to (and including) the .ui file. More...
 

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. More...
 
void drawFrame (QPainter *p)
 
void drawMarkerSymbol (QPainter *p)
 
void drawSelectionBoxes (QPainter *p)
 
QLineF segment (int index)
 Returns frame width in painter units. More...
 
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. More...
 
double scaledSymbolSize () const
 Returns the symbol size scaled in (mapcanvas) pixels. More...
 
- Protected Member Functions inherited from QgsMapCanvasItem
 QgsMapCanvasItem (QgsMapCanvas *mapCanvas)
 protected constructor: cannot be constructed directly More...
 
virtual ~QgsMapCanvasItem ()
 
void updateCanvas ()
 schedules map canvas for repaint More...
 
bool setRenderContextVariables (QPainter *p, QgsRenderContext &context) const
 Sets render context parameters. More...
 
- Protected Attributes inherited from QgsAnnotationItem
bool mMapPositionFixed
 True: the item stays at the same map position, False: the item stays on same screen position. More...
 
QgsPoint mMapPosition
 Map position (in case mMapPositionFixed is true) More...
 
QPointF mOffsetFromReferencePoint
 Describes the shift of the item content box to the reference point. More...
 
QSizeF mFrameSize
 Size of the frame (without balloon) More...
 
QRectF mBoundingRect
 Bounding rect (including item frame and balloon) More...
 
QgsMarkerSymbolV2mMarkerSymbol
 Point symbol that is to be drawn at the map reference location. More...
 
double mFrameBorderWidth
 Width of the frame. More...
 
QColor mFrameColor
 Frame / balloon color. More...
 
QColor mFrameBackgroundColor
 
int mBalloonSegment
 Segment number where the connection to the map point is attached. More...
 
QPointF mBalloonSegmentPoint1
 First segment point for drawing the connection (ccw direction) More...
 
QPointF mBalloonSegmentPoint2
 Second segment point for drawing the balloon connection (ccw direction) More...
 
- Protected Attributes inherited from QgsMapCanvasItem
QgsMapCanvasmMapCanvas
 pointer to map canvas More...
 
QgsRectangle mRect
 canvas item rectangle (in map coordinates) More...
 
QPoint mPanningOffset
 offset from normal position due current panning operation, used when converting map coordinates to move map canvas items More...
 
QSizeF mItemSize
 cached size of the item (to return in boundingRect()) More...
 

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 53 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 146 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 116 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 159 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 110 of file qgsformannotationitem.cpp.

References setFeatureForMapPosition(), and QgsAnnotationItem::setMapPosition().

void QgsFormAnnotationItem::updateVisibility ( )
privateslot

Sets visibility status based on mVectorLayer visibility.

Definition at line 260 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: