blob: 95634afc3c1a2cb7cd220eb05bc90f926793ab3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include "roleitemmodel.h"
/* Example usage:
Enumerate the role ID's somewhere
---------------------------------
struct RedditEntry {
enum RedditRoles {
UrlRole = Qt::UserRole + 1,
DescRole,
...
};
...
}
Instantiate the class
---------------------
QHash<int, QByteArray> roleNames;
roleNames[RedditEntry::UrlRole] = "url";
roleNames[RedditEntry::ScoreRole] = "score";
m_linksmodel = new RoleItemModel(roleNames);
Populate with data:
-------------------
QStandardItem* it = new QStandardItem();
it->setData(e.desc, RedditEntry::DescRole);
it->setData(e.score, RedditEntry::ScoreRole);
m_linksmodel->appendRow(it);
Expose to QML:
-------------
QDeclarativeContext *ctx = ...
ctx->setContextProperty("mdlLinks", m_linksmodel);
*/
//RoleItemModel::RoleItemModel(const QHash<int, QByteArray> &roleNames)
// : m_roleNames(roleNames) {
//}
QHash<int, QByteArray> RoleItemModel::roleNames() const {
return m_roleNames;
}
void RoleItemModel::setRoleNames(const QHash<int, QByteArray> &roleNames) {
m_roleNames = roleNames;
}
|