QGIS API Documentation
2.10.1-Pisa
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
src
gui
qgshighlight.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgshighlight.h - widget to highlight geometries
3
--------------------------------------
4
Date : 02-Mar-2011
5
Copyright : (C) 2011 by Juergen E. Fischer, norBIT GmbH
6
Email : jef at norbit dot de
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
#ifndef QGSHIGHLIGHT_H
16
#define QGSHIGHLIGHT_H
17
18
#include "
qgsmapcanvasitem.h
"
19
#include "
qgsfeaturestore.h
"
20
#include "
qgsgeometry.h
"
21
#include "
qgsrendererv2.h
"
22
#include "
qgssymbolv2.h
"
23
#include <QBrush>
24
#include <QColor>
25
#include <QList>
26
#include <QPen>
27
#include <QPainter>
28
#include <QPainterPath>
29
30
class
QgsMapLayer
;
31
class
QgsVectorLayer
;
32
class
QgsSymbolV2
;
33
36
class
GUI_EXPORT
QgsHighlight
:
public
QgsMapCanvasItem
37
{
38
public
:
39
QgsHighlight
(
QgsMapCanvas
*mapCanvas,
const
QgsGeometry
*geom,
QgsMapLayer
*layer );
40
QgsHighlight
(
QgsMapCanvas
*mapCanvas,
const
QgsGeometry
*geom,
QgsVectorLayer
*layer );
47
QgsHighlight
(
QgsMapCanvas
*mapCanvas,
const
QgsFeature
& feature,
QgsVectorLayer
*layer );
48
~
QgsHighlight
();
49
52
void
setColor(
const
QColor
& color );
53
56
void
setFillColor(
const
QColor
& fillColor );
57
59
void
setWidth(
int
width );
60
63
void
setBuffer
(
double
buffer ) { mBuffer = buffer; }
64
67
void
setMinWidth
(
double
width ) { mMinWidth = width; }
68
69
const
QgsMapLayer
*
layer
()
const
{
return
mLayer; }
70
71
virtual
void
updatePosition
()
override
;
72
73
protected
:
74
virtual
void
paint
(
QPainter
* p )
override
;
75
77
void
updateRect();
78
79
private
:
80
void
init();
81
void
setSymbol(
QgsSymbolV2
* symbol,
const
QgsRenderContext
& context,
const
QColor
& color,
const
QColor
& fillColor );
82
double
getSymbolWidth(
const
QgsRenderContext
& context,
double
width,
QgsSymbolV2::OutputUnit
unit );
84
QgsFeatureRendererV2
* getRenderer(
const
QgsRenderContext
& context,
const
QColor
& color,
const
QColor
& fillColor );
85
void
paintPoint(
QPainter
*p,
QgsPoint
point );
86
void
paintLine(
QPainter
*p,
QgsPolyline
line );
87
void
paintPolygon(
QPainter
*p,
QgsPolygon
polygon );
88
89
QBrush
mBrush;
90
QPen
mPen;
91
QgsGeometry
*mGeometry;
92
QgsMapLayer
*mLayer;
93
QgsFeature
mFeature;
94
double
mBuffer;
// line / outline buffer in pixels
95
double
mMinWidth;
// line / outline minimum width in pixels
96
};
97
98
#endif
QgsMapLayer
Base class for all map layer types.
Definition:
qgsmaplayer.h:49
QgsSymbolV2::OutputUnit
OutputUnit
Definition:
qgssymbolv2.h:52
qgsfeaturestore.h
QgsMapCanvasItem
An abstract class for items that can be placed on the map canvas.
Definition:
qgsmapcanvasitem.h:30
QgsGeometry
A geometry is the spatial representation of a feature.
Definition:
qgsgeometry.h:75
qgssymbolv2.h
QBrush
QgsFeature
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition:
qgsfeature.h:162
QgsMapCanvas
Map canvas is a class for displaying all GIS data types on a canvas.
Definition:
qgsmapcanvas.h:105
QgsHighlight::setBuffer
void setBuffer(double buffer)
Set line / outline buffer in millimeters.
Definition:
qgshighlight.h:63
QPainter
QgsHighlight
A class for highlight features on the map.
Definition:
qgshighlight.h:36
qgsrendererv2.h
QColor
QgsHighlight::layer
const QgsMapLayer * layer() const
Definition:
qgshighlight.h:69
QgsSymbolV2
Definition:
qgssymbolv2.h:48
QgsPoint
A class to represent a point.
Definition:
qgspoint.h:63
qgsgeometry.h
QgsMapCanvasItem::paint
virtual void paint(QPainter *painter)=0
function to be implemented by derived classes
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:39
QVector
QPen
QgsFeatureRendererV2
Definition:
qgsrendererv2.h:74
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:620
QgsMapCanvasItem::updatePosition
virtual void updatePosition()
called on changed extent or resize event to update position of the item
Definition:
qgsmapcanvasitem.cpp:139
qgsmapcanvasitem.h
QgsHighlight::setMinWidth
void setMinWidth(double width)
Set minimum line / outline width in millimeters.
Definition:
qgshighlight.h:67
Generated on Sat Aug 22 2015 02:53:41 for QGIS API Documentation by
1.8.6