QGIS API Documentation
2.2.0-Valmiera
|
An annotation item that embedds a designer form showing the feature attribute. More...
#include <qgsformannotationitem.h>
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) |
QgsVectorLayer * | vectorLayer () 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 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 |
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 |
QgsVectorLayer * | mVectorLayer |
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) | |
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) |
An annotation item that embedds a designer form showing the feature attribute.
Definition at line 28 of file qgsformannotationitem.h.
QgsFormAnnotationItem::QgsFormAnnotationItem | ( | QgsMapCanvas * | canvas, |
QgsVectorLayer * | vlayer = 0 , |
||
bool | hasFeature = false , |
||
int | feature = 0 |
||
) |
Definition at line 35 of file qgsformannotationitem.cpp.
References QgsVectorLayer::annotationForm(), mDesignerForm, QgsMapCanvasItem::mMapCanvas, mVectorLayer, mWidgetContainer, setFeatureForMapPosition(), and updateVisibility().
QgsFormAnnotationItem::~QgsFormAnnotationItem | ( | ) |
Definition at line 52 of file qgsformannotationitem.cpp.
References mDesignerWidget.
|
private |
Definition at line 71 of file qgsformannotationitem.cpp.
References QgsFeature::attributes(), QgsFields::count(), QgsAttributeEditor::createAttributeEditor(), file, QgsVectorLayer::getFeatures(), mFeature, mHasAssociatedFeature, mVectorLayer, QgsFeatureIterator::nextFeature(), QgsFeatureRequest::NoGeometry, and QgsVectorLayer::pendingFields().
Referenced by readXML(), setDesignerForm(), and setFeatureForMapPosition().
|
inline |
Definition at line 48 of file qgsformannotationitem.h.
|
virtual |
Reimplemented from QgsAnnotationItem.
Definition at line 145 of file qgsformannotationitem.cpp.
References mDesignerWidget, and QgsAnnotationItem::mFrameBorderWidth.
|
virtual |
function to be implemented by derived classes
Implements QgsMapCanvasItem.
Definition at line 115 of file qgsformannotationitem.cpp.
|
virtual |
paint function called by map canvas
Reimplemented from QgsMapCanvasItem.
Definition at line 120 of file qgsformannotationitem.cpp.
References QgsAnnotationItem::drawFrame(), QgsAnnotationItem::drawMarkerSymbol(), QgsAnnotationItem::drawSelectionBoxes(), QgsAnnotationItem::mFrameBorderWidth, QgsAnnotationItem::mFrameSize, QgsAnnotationItem::mMapPositionFixed, QgsAnnotationItem::mOffsetFromReferencePoint, and mWidgetContainer.
QSizeF QgsFormAnnotationItem::preferredFrameSize | ( | ) | const |
Returns the optimal frame size.
Definition at line 158 of file qgsformannotationitem.cpp.
References mDesignerWidget.
Referenced by setDesignerForm().
|
virtual |
Implements QgsAnnotationItem.
Definition at line 190 of file qgsformannotationitem.cpp.
References QgsAnnotationItem::_readXML(), createDesignerWidget(), QgsMapLayerRegistry::instance(), QgsMapLayerRegistry::mapLayer(), mDesignerForm, mDesignerWidget, mFeature, QgsAnnotationItem::mFrameBackgroundColor, mHasAssociatedFeature, QgsMapCanvasItem::mMapCanvas, mVectorLayer, mWidgetContainer, setFeatureForMapPosition(), and updateVisibility().
void QgsFormAnnotationItem::setDesignerForm | ( | const QString & | uiFile | ) |
Definition at line 57 of file qgsformannotationitem.cpp.
References createDesignerWidget(), mDesignerForm, mDesignerWidget, QgsAnnotationItem::mFrameBackgroundColor, mWidgetContainer, preferredFrameSize(), and QgsAnnotationItem::setFrameSize().
|
privateslot |
Sets a feature for the current map position and updates the dialog.
Definition at line 221 of file qgsformannotationitem.cpp.
References createDesignerWidget(), QGis::DEFAULT_IDENTIFY_RADIUS, QgsFeatureRequest::ExactIntersect, QgsMapCanvas::extent(), QgsVectorLayer::getFeatures(), QgsFeature::id(), mDesignerForm, mDesignerWidget, mFeature, QgsAnnotationItem::mFrameBackgroundColor, mHasAssociatedFeature, QgsMapCanvasItem::mMapCanvas, QgsAnnotationItem::mMapPosition, mVectorLayer, mWidgetContainer, QgsFeatureRequest::NoGeometry, QgsRectangle::width(), QgsPoint::x(), and QgsPoint::y().
Referenced by QgsFormAnnotationItem(), readXML(), and setMapPosition().
|
virtual |
Reimplemented from QgsAnnotationItem.
Reimplemented from QgsAnnotationItem.
Definition at line 109 of file qgsformannotationitem.cpp.
References setFeatureForMapPosition().
|
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().
|
inline |
Definition at line 53 of file qgsformannotationitem.h.
|
virtual |
Implements QgsAnnotationItem.
Definition at line 170 of file qgsformannotationitem.cpp.
References QgsAnnotationItem::_writeXML(), QgsMapLayer::id(), mDesignerForm, mFeature, mHasAssociatedFeature, and mVectorLayer.
|
private |
Path to (and including) the .ui file.
Definition at line 71 of file qgsformannotationitem.h.
Referenced by QgsFormAnnotationItem(), readXML(), setDesignerForm(), setFeatureForMapPosition(), and writeXML().
|
private |
Definition at line 63 of file qgsformannotationitem.h.
Referenced by minimumFrameSize(), preferredFrameSize(), readXML(), setDesignerForm(), setFeatureForMapPosition(), and ~QgsFormAnnotationItem().
|
private |
Associated feature.
Definition at line 69 of file qgsformannotationitem.h.
Referenced by createDesignerWidget(), readXML(), setFeatureForMapPosition(), and writeXML().
|
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().
|
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().
|
private |
Definition at line 62 of file qgsformannotationitem.h.
Referenced by paint(), QgsFormAnnotationItem(), readXML(), setDesignerForm(), and setFeatureForMapPosition().