18#ifndef QGSLOCATORWIDGET_H
19#define QGSLOCATORWIDGET_H
33class QgsLocatorResultsView;
36class QgsLocatorLineEdit;
72 void setPlaceholderText(
const QString &text );
86 void search(
const QString &
string );
92 void invalidateResults();
102 bool eventFilter( QObject *obj, QEvent *event )
override;
105 void performSearch();
107 void triggerSearchAndShowList();
108 void configMenuAboutToShow();
109 void scheduleDelayedPopup();
111 void showContextMenu(
const QPoint &point );
115 QgsLocatorLineEdit *mLineEdit =
nullptr;
117 QgsLocatorResultsView *mResultsView =
nullptr;
119 QList<QMetaObject::Connection> mCanvasConnections;
120 QMenu *mMenu =
nullptr;
124 bool mHasSelectedResult =
false;
126 void acceptCurrentEntry();
140 QgsLocatorFilterFilter(
QgsLocatorWidget *widget, QObject *parent =
nullptr );
145 QString name()
const override {
return QStringLiteral(
"filters" );}
146 QString
displayName()
const override {
return QString(); }
160class GUI_EXPORT QgsLocatorResultsView :
public QTreeView
169 QgsLocatorResultsView( QWidget *parent =
nullptr );
174 void recalculateSize();
179 void selectNextResult();
184 void selectPreviousResult();
199 explicit QgsLocatorLineEdit(
QgsLocatorWidget *locator, QWidget *parent =
nullptr );
202 bool performCompletion();
205 void paintEvent( QPaintEvent *event )
override;
209 QString mCompletionText =
nullptr;
Base class for feedback objects to be used for cancellation of something running in a worker thread.
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Encapsulates the properties relating to the context of a locator search.
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.
The QgsLocatorModelBridge class provides the core functionality to be used in a locator widget.
Encapsulates properties of an individual matching result found by a QgsLocatorFilter.
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.