18 #ifndef QGSLOCATORWIDGET_H
19 #define QGSLOCATORWIDGET_H
28 #include <QFocusEvent>
29 #include <QHeaderView>
33 class QgsLocatorResultsView;
36 class QgsLocatorLineEdit;
74 void search(
const QString &
string );
80 void invalidateResults();
90 bool eventFilter( QObject *obj, QEvent *event )
override;
95 void triggerSearchAndShowList();
96 void configMenuAboutToShow();
97 void scheduleDelayedPopup();
99 void showContextMenu(
const QPoint &point );
103 QgsLocatorLineEdit *mLineEdit =
nullptr;
105 QgsLocatorResultsView *mResultsView =
nullptr;
107 QList<QMetaObject::Connection> mCanvasConnections;
108 QMenu *mMenu =
nullptr;
112 bool mHasSelectedResult =
false;
114 void acceptCurrentEntry();
128 QgsLocatorFilterFilter(
QgsLocatorWidget *widget, QObject *parent =
nullptr );
133 QString name()
const override {
return QStringLiteral(
"filters" );}
134 QString
displayName()
const override {
return QString(); }
149 class GUI_EXPORT QgsLocatorResultsView :
public QTreeView
158 QgsLocatorResultsView( QWidget *parent =
nullptr );
163 void recalculateSize();
168 void selectNextResult();
173 void selectPreviousResult();
188 explicit QgsLocatorLineEdit(
QgsLocatorWidget *locator, QWidget *parent =
nullptr );
191 bool performCompletion();
194 void paintEvent( QPaintEvent *event )
override;
198 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.
virtual QgsLocatorFilter * clone() const =0
Creates a clone of the filter.
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 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.