QGIS API Documentation  2.4.0-Chugiak
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
QgsHighlight Class Reference

A class for highlight features on the map. More...

#include <qgshighlight.h>

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

Public Member Functions

 QgsHighlight (QgsMapCanvas *mapCanvas, QgsGeometry *geom, QgsMapLayer *layer)
 
 QgsHighlight (QgsMapCanvas *mapCanvas, QgsGeometry *geom, QgsVectorLayer *layer)
 
 QgsHighlight (QgsMapCanvas *mapCanvas, const QgsFeature &feature, QgsVectorLayer *layer)
 Constructor for highlighting true feature shape using feature attributes and renderer. More...
 
 ~QgsHighlight ()
 
void setColor (const QColor &color)
 Set line/outline to color, polygon fill to color with alpha = 63. More...
 
void setFillColor (const QColor &fillColor)
 Set polygons fill color. More...
 
void setWidth (int width)
 Set width. More...
 
void setBuffer (double buffer)
 Set line / outline buffer in millimeters. More...
 
void setMinWidth (double width)
 Set minimum line / outline width in millimeters. More...
 
const QgsMapLayerlayer () const
 
- Public Member Functions inherited from QgsMapCanvasItem
virtual void updatePosition ()
 called on changed extent or resize event to update position of the item More...
 
virtual QRectF boundingRect () const
 default implementation for canvas items More...
 
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...
 

Protected Member Functions

virtual void paint (QPainter *p)
 
void updateRect ()
 recalculates needed rectangle More...
 
- Protected Member Functions inherited from QgsMapCanvasItem
 QgsMapCanvasItem (QgsMapCanvas *mapCanvas)
 protected constructor: cannot be constructed directly More...
 
virtual ~QgsMapCanvasItem ()
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 paint function called by map canvas More...
 
void updateCanvas ()
 schedules map canvas for repaint More...
 
bool setRenderContextVariables (QPainter *p, QgsRenderContext &context) const
 Sets render context parameters. More...
 

Private Member Functions

void init ()
 
void setSymbol (QgsSymbolV2 *symbol, const QgsRenderContext &context, const QColor &color, const QColor &fillColor)
 
double getSymbolWidth (const QgsRenderContext &context, double width, QgsSymbolV2::OutputUnit unit)
 
QgsFeatureRendererV2getRenderer (const QgsRenderContext &context, const QColor &color, const QColor &fillColor)
 Get renderer for current color mode and colors. More...
 
void paintPoint (QPainter *p, QgsPoint point)
 
void paintLine (QPainter *p, QgsPolyline line)
 
void paintPolygon (QPainter *p, QgsPolygon polygon)
 

Private Attributes

QBrush mBrush
 
QPen mPen
 
QgsGeometrymGeometry
 
QgsMapLayermLayer
 
QgsFeature mFeature
 
double mBuffer
 
double mMinWidth
 

Additional Inherited Members

- 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

A class for highlight features on the map.

The QgsHighlight class provides a transparent overlay widget for highlightng features on the map.

Definition at line 36 of file qgshighlight.h.

Constructor & Destructor Documentation

QgsHighlight::QgsHighlight ( QgsMapCanvas mapCanvas,
QgsGeometry geom,
QgsMapLayer layer 
)

Definition at line 56 of file qgshighlight.cpp.

References init(), and mGeometry.

QgsHighlight::QgsHighlight ( QgsMapCanvas mapCanvas,
QgsGeometry geom,
QgsVectorLayer layer 
)

Definition at line 66 of file qgshighlight.cpp.

References init(), and mGeometry.

QgsHighlight::QgsHighlight ( QgsMapCanvas mapCanvas,
const QgsFeature feature,
QgsVectorLayer layer 
)

Constructor for highlighting true feature shape using feature attributes and renderer.

Parameters
mapCanvasmap canvas
feature
layervector layer

Definition at line 76 of file qgshighlight.cpp.

References init().

QgsHighlight::~QgsHighlight ( )

Definition at line 109 of file qgshighlight.cpp.

References mGeometry.

Member Function Documentation

QgsFeatureRendererV2 * QgsHighlight::getRenderer ( const QgsRenderContext context,
const QColor &  color,
const QColor &  fillColor 
)
private

Get renderer for current color mode and colors.

The renderer should be freed by caller.

Definition at line 131 of file qgshighlight.cpp.

References QgsFeatureRendererV2::clone(), layer(), mLayer, QgsVectorLayer::rendererV2(), setSymbol(), and QgsFeatureRendererV2::symbols().

Referenced by paint().

double QgsHighlight::getSymbolWidth ( const QgsRenderContext context,
double  width,
QgsSymbolV2::OutputUnit  unit 
)
private
void QgsHighlight::init ( )
private
const QgsMapLayer* QgsHighlight::layer ( ) const
inline

Definition at line 69 of file qgshighlight.h.

Referenced by getRenderer(), and paint().

void QgsHighlight::paint ( QPainter *  p)
protectedvirtual
void QgsHighlight::paintLine ( QPainter *  p,
QgsPolyline  line 
)
private

Definition at line 226 of file qgshighlight.cpp.

References QgsMapCanvasItem::toCanvasCoordinates().

Referenced by paint().

void QgsHighlight::paintPoint ( QPainter *  p,
QgsPoint  point 
)
private
void QgsHighlight::paintPolygon ( QPainter *  p,
QgsPolygon  polygon 
)
private

Definition at line 238 of file qgshighlight.cpp.

References mBrush, mPen, size, and QgsMapCanvasItem::toCanvasCoordinates().

Referenced by paint().

void QgsHighlight::setBuffer ( double  buffer)
inline

Set line / outline buffer in millimeters.

Note
: added in version 2.3

Definition at line 63 of file qgshighlight.h.

void QgsHighlight::setColor ( const QColor &  color)

Set line/outline to color, polygon fill to color with alpha = 63.

This is legacy function, use setFillColor() after setColor() if different fill color is required.

Set the outline and fill color.

Definition at line 117 of file qgshighlight.cpp.

References mBrush, and mPen.

Referenced by QgsMapToolIdentify::handleMenuHover(), and init().

void QgsHighlight::setFillColor ( const QColor &  fillColor)

Set polygons fill color.

Note
: added in version 2.3

Definition at line 125 of file qgshighlight.cpp.

References mBrush.

void QgsHighlight::setMinWidth ( double  width)
inline

Set minimum line / outline width in millimeters.

Note
: added in version 2.3

Definition at line 67 of file qgshighlight.h.

void QgsHighlight::setSymbol ( QgsSymbolV2 symbol,
const QgsRenderContext context,
const QColor &  color,
const QColor &  fillColor 
)
private
void QgsHighlight::setWidth ( int  width)

Set width.

Ignored in feature mode.

Set the outline width.

Definition at line 207 of file qgshighlight.cpp.

References mPen.

Referenced by QgsMapToolIdentify::handleMenuHover().

void QgsHighlight::updateRect ( )
protected

Member Data Documentation

QBrush QgsHighlight::mBrush
private

Definition at line 87 of file qgshighlight.h.

Referenced by paint(), paintPolygon(), setColor(), and setFillColor().

double QgsHighlight::mBuffer
private

Definition at line 92 of file qgshighlight.h.

Referenced by getSymbolWidth().

QgsFeature QgsHighlight::mFeature
private

Definition at line 91 of file qgshighlight.h.

Referenced by init(), paint(), and updateRect().

QgsGeometry* QgsHighlight::mGeometry
private

Definition at line 89 of file qgshighlight.h.

Referenced by init(), paint(), QgsHighlight(), updateRect(), and ~QgsHighlight().

QgsMapLayer* QgsHighlight::mLayer
private

Definition at line 90 of file qgshighlight.h.

Referenced by getRenderer(), init(), and paint().

double QgsHighlight::mMinWidth
private

Definition at line 93 of file qgshighlight.h.

Referenced by getSymbolWidth().

QPen QgsHighlight::mPen
private

Definition at line 88 of file qgshighlight.h.

Referenced by paint(), paintPolygon(), setColor(), and setWidth().


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