SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
commandpalettemodel.h
Go to the documentation of this file.
1#ifndef COMMANDPALETTEMODEL_H
2#define COMMANDPALETTEMODEL_H
3
13#include <QAbstractListModel>
14#include <QList>
15#include <QString>
16
17class QAction;
18
19namespace openswmmvis::ui {
20
25int fuzzyScore(const QString &pattern, const QString &candidate);
26
27class CommandPaletteModel : public QAbstractListModel
28{
29 Q_OBJECT
30
31public:
32 enum Roles {
33 ShortcutRole = Qt::UserRole + 1,
36 };
37
38 explicit CommandPaletteModel(QObject *parent = nullptr);
39
41 void reload();
42
45 void setFilterPattern(const QString &pattern);
46
47 QAction *actionAt(const QModelIndex &index) const;
48
49 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
50 QVariant data(const QModelIndex &index, int role) const override;
51
52private:
53 struct Row {
54 QAction *action;
55 QString cleanText; // ampersand-stripped
56 QString category;
57 };
58
59 void rebuildVisible();
60
61 QList<Row> mAll;
62 QList<int> mVisible; // indexes into mAll, relevance-sorted
63 QString mPattern;
64};
65
66} // namespace openswmmvis::ui
67
68#endif // COMMANDPALETTEMODEL_H
Definition commandpalettemodel.h:28
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition commandpalettemodel.cpp:121
QAction * actionAt(const QModelIndex &index) const
Definition commandpalettemodel.cpp:114
void reload()
Definition commandpalettemodel.cpp:56
void setFilterPattern(const QString &pattern)
Definition commandpalettemodel.cpp:78
QVariant data(const QModelIndex &index, int role) const override
Definition commandpalettemodel.cpp:126
Roles
Definition commandpalettemodel.h:32
@ EnabledRole
Definition commandpalettemodel.h:35
@ ShortcutRole
Definition commandpalettemodel.h:33
@ CategoryRole
Definition commandpalettemodel.h:34
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition openswmmvislayer.h:43
int fuzzyScore(const QString &pattern, const QString &candidate)
Definition commandpalettemodel.cpp:13
QVector< int > parent
union-find
Definition pslgminsize.cpp:176