QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
z
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
e
f
g
h
k
l
m
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Functions
3
a
b
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
v
Files
File List
File Members
All
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
n
o
p
q
r
s
t
u
w
Typedefs
3
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
c
l
s
t
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
w
x
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
src
gui
locator
qgslocatorwidget.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgslocatorwidget.h
3
------------------
4
begin : May 2017
5
copyright : (C) 2017 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSLOCATORWIDGET_H
19
#define QGSLOCATORWIDGET_H
20
21
#include "qgis_gui.h"
22
#include "
qgslocatorfilter.h
"
23
#include "
qgsfloatingwidget.h
"
24
#include "
qgsfilterlineedit.h
"
25
26
#include <QWidget>
27
#include <QTreeView>
28
#include <QFocusEvent>
29
#include <QHeaderView>
30
#include <QTimer>
31
32
class
QgsLocator
;
33
class
QgsLocatorResultsView;
34
class
QgsMapCanvas
;
35
class
QgsLocatorModelBridge
;
36
class
QgsLocatorLineEdit;
37
46
class
GUI_EXPORT
QgsLocatorWidget
:
public
QWidget
47
{
48
Q_OBJECT
49
50
public
:
51
55
QgsLocatorWidget
( QWidget *parent
SIP_TRANSFERTHIS
=
nullptr
);
56
60
QgsLocator
*locator();
61
67
void
setMapCanvas(
QgsMapCanvas
*canvas );
68
69
public
slots:
70
74
void
search(
const
QString &
string
);
75
80
void
invalidateResults();
81
82
signals:
83
87
void
configTriggered();
88
89
protected
:
90
bool
eventFilter( QObject *obj, QEvent *event )
override
;
91
92
private
slots:
93
void
performSearch();
94
void
showList();
95
void
triggerSearchAndShowList();
96
void
configMenuAboutToShow();
97
void
scheduleDelayedPopup();
98
void
resultAdded();
99
void
showContextMenu(
const
QPoint &point );
100
101
private
:
102
QgsLocatorModelBridge
*mModelBridge =
nullptr
;
103
QgsLocatorLineEdit *mLineEdit =
nullptr
;
104
QgsFloatingWidget
*mResultsContainer =
nullptr
;
105
QgsLocatorResultsView *mResultsView =
nullptr
;
106
QgsMapCanvas
*mMapCanvas =
nullptr
;
107
QList<QMetaObject::Connection> mCanvasConnections;
108
QMenu *mMenu =
nullptr
;
109
110
QTimer mFocusTimer;
111
QTimer mPopupTimer;
112
bool
mHasSelectedResult =
false
;
113
114
void
acceptCurrentEntry();
115
116
};
117
118
#ifndef SIP_RUN
119
121
122
class
QgsLocatorFilterFilter :
public
QgsLocatorFilter
123
{
124
Q_OBJECT
125
126
public
:
127
128
QgsLocatorFilterFilter(
QgsLocatorWidget
*widget, QObject *parent =
nullptr
);
129
130
QgsLocatorFilterFilter *
clone
() const override
SIP_FACTORY
;
131
QgsLocatorFilter
::Flags flags() const override;
132
133
QString name()
const override
{
return
QStringLiteral(
"filters"
);}
134
QString
displayName
()
const override
{
return
QString(); }
135
Priority
priority
()
const override
{
return
static_cast<
QgsLocatorFilter::Priority
>
( -1 ); }
136
void
fetchResults
(
const
QString &
string
,
const
QgsLocatorContext
&context,
QgsFeedback
*feedback )
override
;
137
void
triggerResult
(
const
QgsLocatorResult
&result )
override
;
138
139
private
:
140
QgsLocatorWidget
*mLocator =
nullptr
;
141
};
142
149
class
GUI_EXPORT QgsLocatorResultsView :
public
QTreeView
150
{
151
Q_OBJECT
152
153
public
:
154
158
QgsLocatorResultsView( QWidget *parent =
nullptr
);
159
163
void
recalculateSize();
164
168
void
selectNextResult();
169
173
void
selectPreviousResult();
174
175
};
176
177
184
class
QgsLocatorLineEdit :
public
QgsFilterLineEdit
185
{
186
Q_OBJECT
187
public
:
188
explicit
QgsLocatorLineEdit(
QgsLocatorWidget
*locator, QWidget *parent =
nullptr
);
189
191
bool
performCompletion();
192
193
protected
:
194
void
paintEvent( QPaintEvent *event )
override
;
195
196
private
:
197
QgsLocatorWidget
*mLocatorWidget =
nullptr
;
198
QString mCompletionText =
nullptr
;
199
};
200
202
203
#endif
204
205
206
#endif // QGSLOCATORWIDGET_H
207
208
QgsLocatorFilter
Abstract base class for filters which collect locator results.
Definition:
qgslocatorfilter.h:152
QgsLocator
Handles the management of QgsLocatorFilter objects and async collection of search results from them.
Definition:
qgslocator.h:58
QgsLocatorFilter::clone
virtual QgsLocatorFilter * clone() const =0
Creates a clone of the filter.
QgsLocatorFilter::priority
virtual Priority priority() const
Returns the priority for the filter, which controls how results are ordered in the locator.
Definition:
qgslocatorfilter.h:215
QgsMapCanvas
Map canvas is a class for displaying all GIS data types on a canvas.
Definition:
qgsmapcanvas.h:89
qgsfilterlineedit.h
QgsFilterLineEdit
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Definition:
qgsfilterlineedit.h:39
QgsLocatorWidget
A special locator widget which allows searching for matching results from a QgsLocator and presenting...
Definition:
qgslocatorwidget.h:46
QgsLocatorResult
Encapsulates properties of an individual matching result found by a QgsLocatorFilter.
Definition:
qgslocatorfilter.h:38
SIP_FACTORY
#define SIP_FACTORY
Definition:
qgis_sip.h:76
qgsfloatingwidget.h
QgsLocatorContext
Encapsulates the properties relating to the context of a locator search.
Definition:
qgslocatorcontext.h:32
QgsLocatorModelBridge
The QgsLocatorModelBridge class provides the core functionality to be used in a locator widget.
Definition:
qgslocatormodelbridge.h:41
QgsFeedback
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition:
qgsfeedback.h:44
QgsLocatorFilter::displayName
virtual QString displayName() const =0
Returns a translated, user-friendly name for the filter.
QgsFloatingWidget
A QWidget subclass for creating widgets which float outside of the normal Qt layout system....
Definition:
qgsfloatingwidget.h:33
QgsLocatorFilter::Priority
Priority
Filter priority. Controls the order of results in the locator.
Definition:
qgslocatorfilter.h:159
QgsLocatorFilter::fetchResults
virtual void fetchResults(const QString &string, const QgsLocatorContext &context, QgsFeedback *feedback)=0
Retrieves the filter results for a specified search string.
QgsLocatorFilter::triggerResult
virtual void triggerResult(const QgsLocatorResult &result)=0
Triggers a filter result from this filter.
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition:
qgis_sip.h:53
qgslocatorfilter.h
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17