18#ifndef QGSLOCATORWIDGET_H
19#define QGSLOCATORWIDGET_H
34class QgsLocatorResultsView;
37class QgsLocatorLineEdit;
93 void search(
const QString &
string );
109 bool eventFilter( QObject *obj, QEvent *event )
override;
112 void performSearch();
114 void triggerSearchAndShowList();
115 void configMenuAboutToShow();
116 void scheduleDelayedPopup();
118 void showContextMenu(
const QPoint &point );
119 void selectionChanged(
const QItemSelection &selected,
const QItemSelection &deselected );
123 QgsLocatorLineEdit *mLineEdit =
nullptr;
125 QgsLocatorResultsView *mResultsView =
nullptr;
127 QList<QMetaObject::Connection> mCanvasConnections;
128 QMenu *mMenu =
nullptr;
132 bool mHasSelectedResult =
false;
134 void acceptCurrentEntry();
146 QgsLocatorFilterFilter(
QgsLocatorWidget *widget, QObject *parent =
nullptr );
151 QString name()
const override {
return QStringLiteral(
"filters" ); }
152 QString
displayName()
const override {
return QString(); }
154 void fetchResults(
const QString &
string,
const QgsLocatorContext &context, QgsFeedback *feedback )
override;
155 void triggerResult(
const QgsLocatorResult &result )
override;
158 QgsLocatorWidget *mLocator =
nullptr;
166class GUI_EXPORT QgsLocatorResultsView :
public QTreeView
174 QgsLocatorResultsView( QWidget *parent =
nullptr );
179 void recalculateSize();
184 void selectNextResult();
189 void selectPreviousResult();
203 explicit QgsLocatorLineEdit( QgsLocatorWidget *locator, QWidget *parent =
nullptr );
206 bool performCompletion();
209 void paintEvent( QPaintEvent *event )
override;
212 QgsLocatorWidget *mLocatorWidget =
nullptr;
213 QString mCompletionText =
nullptr;
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Abstract base class for filters which collect locator results.
Priority
Filter priority. Controls the order of results in the locator.
virtual QString displayName() const =0
Returns a translated, user-friendly name for the filter.
virtual Priority priority() const
Returns the priority for the filter, which controls how results are ordered in the locator.
virtual void triggerResult(const QgsLocatorResult &result)=0
Triggers a filter result from this filter.
virtual QgsLocatorFilter * clone() const =0
Creates a clone of the filter.
virtual void fetchResults(const QString &string, const QgsLocatorContext &context, QgsFeedback *feedback)=0
Retrieves the filter results for a specified search string.
Provides the core functionality to be used in a locator widget.
Handles the management of QgsLocatorFilter objects and async collection of search results from them.
Map canvas is a class for displaying all GIS data types on a canvas.
An integer settings entry.
A tree node for the settings tree to help organizing and introspecting the tree.
static QgsSettingsTreeNode * sTreeGui