MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / VersionProxyModel

Class VersionProxyModel

launcher/VersionProxyModel.h:9–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7class VersionFilterModel;
8
9class VersionProxyModel: public QAbstractProxyModel
10{
11 Q_OBJECT
12public:
13
14 enum Column
15 {
16 Name,
17 ParentVersion,
18 Branch,
19 Type,
20 Architecture,
21 Path,
22 Time
23 };
24 typedef QHash<BaseVersionList::ModelRoles, std::shared_ptr<Filter>> FilterMap;
25
26public:
27 VersionProxyModel ( QObject* parent = 0 );
28 virtual ~VersionProxyModel() {};
29
30 virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override;
31 virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
32 virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override;
33 virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const override;
34 virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
35 virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
36 virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
37 virtual QModelIndex parent(const QModelIndex &child) const override;
38 virtual void setSourceModel(QAbstractItemModel *sourceModel) override;
39
40 const FilterMap &filters() const;
41 void setFilter(const BaseVersionList::ModelRoles column, Filter * filter);
42 void clearFilters();
43 QModelIndex getRecommended() const;
44 QModelIndex getVersion(const QString & version) const;
45 void setCurrentVersion(const QString &version);
46private slots:
47
48 void sourceDataChanged(const QModelIndex &source_top_left,const QModelIndex &source_bottom_right);
49
50 void sourceAboutToBeReset();
51 void sourceReset();
52
53 void sourceRowsAboutToBeInserted(const QModelIndex &parent, int first, int last);
54 void sourceRowsInserted(const QModelIndex &parent, int first, int last);
55
56 void sourceRowsAboutToBeRemoved(const QModelIndex &parent, int first, int last);
57 void sourceRowsRemoved(const QModelIndex &parent, int first, int last);
58
59private:
60 QList<Column> m_columns;
61 FilterMap m_filters;
62 BaseVersionList::RoleList roles;
63 VersionFilterModel * filterModel;
64 bool hasRecommended = false;
65 bool hasLatest = false;
66 QString m_currentVersion;

Callers

nothing calls this directly

Calls 1

QModelIndexClass · 0.85

Tested by

no test coverage detected