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 );
112 void selectionChanged(
const QItemSelection &selected,
const QItemSelection &deselected );
116 QgsLocatorLineEdit *mLineEdit =
nullptr;
118 QgsLocatorResultsView *mResultsView =
nullptr;
120 QList<QMetaObject::Connection> mCanvasConnections;
121 QMenu *mMenu =
nullptr;
125 bool mHasSelectedResult =
false;
127 void acceptCurrentEntry();
141 QgsLocatorFilterFilter(
QgsLocatorWidget *widget, QObject *parent =
nullptr );
146 QString name()
const override {
return QStringLiteral(
"filters" );}
147 QString
displayName()
const override {
return QString(); }
161class GUI_EXPORT QgsLocatorResultsView :
public QTreeView
170 QgsLocatorResultsView( QWidget *parent =
nullptr );
175 void recalculateSize();
180 void selectNextResult();
185 void selectPreviousResult();
200 explicit QgsLocatorLineEdit(
QgsLocatorWidget *locator, QWidget *parent =
nullptr );
203 bool performCompletion();
206 void paintEvent( QPaintEvent *event )
override;
210 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.