QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsabstractgeocoderlocatorfilter.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsabstractgeocoderlocatorfilter.h
3 ---------------
4 Date : August 2020
5 Copyright : (C) 2020 by Nyall Dawson
6 Email : nyall dot dawson at gmail dot com
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 QGSABSTRACTGEOCODERLOCATORFILTER_H
17#define QGSABSTRACTGEOCODERLOCATORFILTER_H
18
19#include "qgis_core.h"
20#include "qgslocatorfilter.h"
21
24
40{
41 Q_OBJECT
42
43 public:
44
64 QgsAbstractGeocoderLocatorFilter( const QString &name, const QString &displayName,
65 const QString &prefix,
68
69 QString name() const override;
70 QString displayName() const override;
71 QString prefix() const override;
72 void fetchResults( const QString &string, const QgsLocatorContext &context, QgsFeedback *feedback ) override;
73 void triggerResult( const QgsLocatorResult &result ) override;
74
79
83 const QgsRectangle boundingBox() { return mBoundingBox; }
84
90 QgsGeocoderResult locatorResultToGeocoderResult( const QgsLocatorResult &result ) const;
91
97 QgsLocatorResult geocoderResultToLocatorResult( const QgsGeocoderResult &result );
98
99 private:
100
104 virtual void handleGeocodeResult( const QgsGeocoderResult &result ) = 0;
105
106 QString mName;
107 QString mDisplayName;
108 QString mPrefix;
109 QgsGeocoderInterface *mGeocoder = nullptr;
110 QgsRectangle mBoundingBox;
111
112};
113
114#endif // QGSABSTRACTGEOCODERLOCATORFILTER_H
QgsAbstractGeocoderLocatorFilter(const QString &name, const QString &displayName, const QString &prefix, QgsGeocoderInterface *geocoder, const QgsRectangle &boundingBox=QgsRectangle())
Constructor for QgsAbstractGeocoderLocatorFilter.
QgsGeocoderInterface * geocoder() const
Returns the geocoder attached to the filter.
const QgsRectangle boundingBox()
Returns the WGS84 bounding box attached to the filter.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
Interface for geocoders.
Definition qgsgeocoder.h:37
Represents a matching result from a geocoder search.
Encapsulates the properties relating to the context of a locator search.
Abstract base class for filters which collect locator results.
virtual QString prefix() const
Returns the search prefix character(s) for this filter.
virtual QString displayName() const =0
Returns a translated, user-friendly name for the filter.
virtual QString name() const =0
Returns the unique name for the filter.
virtual void triggerResult(const QgsLocatorResult &result)=0
Triggers a filter result from this filter.
virtual void fetchResults(const QString &string, const QgsLocatorContext &context, QgsFeedback *feedback)=0
Retrieves the filter results for a specified search string.
Encapsulates properties of an individual matching result found by a QgsLocatorFilter.
A rectangle specified with double values.
#define SIP_ABSTRACT
Definition qgis_sip.h:221