QGIS API Documentation
3.6.0-Noosa (5873452)
src
quickgui
qgsquickidentifykit.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsquickidentifykit.h
3
---------------------
4
Date : 30.8.2016
5
Copyright : (C) 2016 by Matthias Kuhn
6
Email : matthias (at) opengis.ch
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
16
#ifndef QGSQUICKIDENTIFYKIT_H
17
#define QGSQUICKIDENTIFYKIT_H
18
19
#include <QObject>
20
#include <QPair>
21
22
#include "
qgsfeature.h
"
23
#include "
qgsmapsettings.h
"
24
#include "
qgspoint.h
"
25
#include "
qgsrendercontext.h
"
26
27
#include "qgis_quick.h"
28
#include "
qgsquickfeaturelayerpair.h
"
29
30
class
QgsMapLayer
;
31
class
QgsQuickMapSettings
;
32
class
QgsVectorLayer
;
33
46
class
QUICK_EXPORT
QgsQuickIdentifyKit
:
public
QObject
47
{
48
Q_OBJECT
49
53
Q_PROPERTY(
QgsQuickMapSettings
*mapSettings READ mapSettings WRITE setMapSettings NOTIFY mapSettingsChanged )
54
55
60
Q_PROPERTY(
double
searchRadiusMm READ searchRadiusMm WRITE setSearchRadiusMm NOTIFY searchRadiusMmChanged )
61
67
Q_PROPERTY(
int
featuresLimit READ featuresLimit WRITE setFeaturesLimit NOTIFY featuresLimitChanged )
68
74
Q_PROPERTY(
IdentifyMode
identifyMode MEMBER mIdentifyMode NOTIFY identifyModeChanged )
75
76
public:
77
81
enum
IdentifyMode
82
{
83
88
TopDownAll = 0,
89
94
TopDownStopAtFirst
95
};
96
Q_ENUM(
IdentifyMode
)
97
98
99
explicit
QgsQuickIdentifyKit
( QObject *parent =
nullptr
);
100
102
QgsQuickMapSettings
*mapSettings()
const
;
103
105
void
setMapSettings(
QgsQuickMapSettings
*mapSettings );
106
108
double
searchRadiusMm()
const
;
109
111
void
setSearchRadiusMm(
double
searchRadiusMm );
112
114
int
featuresLimit()
const
;
115
117
void
setFeaturesLimit(
int
limit );
118
132
Q_INVOKABLE
QgsQuickFeatureLayerPair
identifyOne(
const
QPointF &point,
QgsVectorLayer
*layer =
nullptr
);
133
148
Q_INVOKABLE
QgsQuickFeatureLayerPairs
identify(
const
QPointF &point,
QgsVectorLayer
*layer =
nullptr
);
149
150
signals:
152
void
mapSettingsChanged();
154
void
searchRadiusMmChanged();
156
void
featuresLimitChanged();
158
void
identifyModeChanged();
159
160
private
:
161
QgsQuickMapSettings
*mMapSettings =
nullptr
;
// not owned
162
163
double
searchRadiusMU(
const
QgsRenderContext
&context )
const
;
164
double
searchRadiusMU()
const
;
165
166
QgsRectangle
toLayerCoordinates(
QgsMapLayer
*layer,
const
QgsRectangle
&rect )
const
;
167
QgsFeatureList
identifyVectorLayer(
QgsVectorLayer
*layer,
const
QgsPointXY
&point )
const
;
168
169
double
mSearchRadiusMm = 5;
170
int
mFeaturesLimit = 100;
171
IdentifyMode
mIdentifyMode = IdentifyMode::TopDownAll;
172
};
173
174
#endif // QGSQUICKIDENTIFYKIT_H
QgsQuickIdentifyKit
Convenient set of tools to identify features.
Definition:
qgsquickidentifykit.h:46
QgsRectangle
A rectangle specified with double values.
Definition:
qgsrectangle.h:41
QgsMapLayer
Base class for all map layer types.
Definition:
qgsmaplayer.h:64
qgsfeature.h
qgsrendercontext.h
QgsFeatureList
QList< QgsFeature > QgsFeatureList
Definition:
qgsfeature.h:571
QgsPointXY
A class to represent a 2D point.
Definition:
qgspointxy.h:43
qgsmapsettings.h
QgsQuickMapSettings
The QgsQuickMapSettings class encapsulates QgsMapSettings class to offer settings of configuration of...
Definition:
qgsquickmapsettings.h:46
qgsquickfeaturelayerpair.h
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:50
QgsQuickFeatureLayerPairs
QList< QgsQuickFeatureLayerPair > QgsQuickFeatureLayerPairs
Definition:
qgsquickfeaturelayerpair.h:101
QgsQuickIdentifyKit::IdentifyMode
IdentifyMode
IdentifyMode enums used to define identify tool behavior on identifiable layers.
Definition:
qgsquickidentifykit.h:81
QgsQuickFeatureLayerPair
Pair of QgsFeature and QgsVectorLayer.
Definition:
qgsquickfeaturelayerpair.h:40
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:362
qgspoint.h
Generated on Sat Feb 23 2019 03:59:22 for QGIS API Documentation by
1.8.13