QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgshistorywidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgshistorywidget.h
3 ------------------
4 Date : April 2023
5 Copyright : (C) 2023 Nyall Dawson
6 Email : nyall dot dawson at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSHISTORYWIDGET_H
17#define QGSHISTORYWIDGET_H
18
19#include "ui_qgshistorywidgetbase.h"
20
21#include "qgis.h"
22#include "qgis_gui.h"
24#include "qgspanelwidget.h"
25
26#include <QSortFilterProxyModel>
27
30class QgsMessageBar;
31
32#ifndef SIP_RUN
33
35class GUI_EXPORT QgsHistoryEntryProxyModel : public QSortFilterProxyModel
36{
37 Q_OBJECT
38 public:
39 QgsHistoryEntryProxyModel( QObject *parent = nullptr );
40
41 void setFilter( const QString &filter );
42 bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const override;
43
44 private:
45 QString mFilter;
46};
48#endif
49
55class GUI_EXPORT QgsHistoryWidget : public QgsPanelWidget, private Ui::QgsHistoryWidgetBase
56{
57 Q_OBJECT
58
59 public:
70 QgsHistoryWidget( const QString &providerId = QString(), Qgis::HistoryProviderBackends backends = Qgis::HistoryProviderBackend::LocalProfile, QgsHistoryProviderRegistry *registry = nullptr, const QgsHistoryWidgetContext &context = QgsHistoryWidgetContext(), QWidget *parent = nullptr );
71
72 private slots:
73
74 void currentItemChanged( const QModelIndex &selected, const QModelIndex &previous );
75 void nodeDoubleClicked( const QModelIndex &index );
76 void showNodeContextMenu( const QPoint &pos );
77 void urlClicked( const QUrl &url );
78
79 private:
80 QgsHistoryEntryModel *mModel = nullptr;
81 QgsHistoryEntryProxyModel *mProxyModel = nullptr;
83};
84
85#endif // QGSHISTORYWIDGET_H
@ LocalProfile
Local profile.
Definition qgis.h:3504
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3508
An item model representing history entries in a hierarchical tree structure.
A registry for objects which track user history (i.e.
Contains settings which reflect the context in which a history widget is shown, e....
QgsHistoryWidget(const QString &providerId=QString(), Qgis::HistoryProviderBackends backends=Qgis::HistoryProviderBackend::LocalProfile, QgsHistoryProviderRegistry *registry=nullptr, const QgsHistoryWidgetContext &context=QgsHistoryWidgetContext(), QWidget *parent=nullptr)
Constructor for QgsHistoryWidget, with the specified parent widget.
A bar for displaying non-blocking messages to the user.
QgsPanelWidget(QWidget *parent=nullptr)
Base class for any widget that can be shown as an inline panel.