-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlistviewmodel.cpp
38 lines (32 loc) · 956 Bytes
/
listviewmodel.cpp
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
#include "listviewmodel.h"
#include <QVariant>
#include <cstdio>
ListViewModel::ListViewModel(const std::vector<PatternDTO*>& aPatterns, QObject *parent) :
QAbstractListModel(parent)
{
m_patterns = aPatterns;
}
int ListViewModel::rowCount(const QModelIndex &parent) const{
return m_patterns.size();
}
QVariant ListViewModel::data(const QModelIndex &index, int role) const{
//validity of index
if (!index.isValid())
return QVariant();
if(index.row() >= m_patterns.size())
return QVariant();
if(role == Qt::DisplayRole){
char buffer[1000];
sprintf(buffer, "%s", (m_patterns.at(index.row()))->getName().c_str());
return QVariant(buffer);
}
else
return QVariant();
}
PatternDTO* ListViewModel::getSelectedModelObject(int aIndex){
if(aIndex < m_patterns.size())
return m_patterns[aIndex];
}
int ListViewModel::getVectorSize(){
return m_patterns.size();
}