-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_uzywane_zmienne.cpp
93 lines (83 loc) · 2.61 KB
/
model_uzywane_zmienne.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "model_uzywane_zmienne.h"
model_uzywane_zmienne::model_uzywane_zmienne(QObject *parent) :
QAbstractTableModel(parent)
{
_map = NULL;
}
int model_uzywane_zmienne::rowCount(const QModelIndex& parent) const
{
if (_map)
return _map->count();
return 0;
}
int model_uzywane_zmienne::columnCount(const QModelIndex & parent) const
{
return 4;
}
QVariant model_uzywane_zmienne::data(const QModelIndex& index, int role) const
{
//DODAĆ KOMENTARZE!!!!!!!!!!!!!!!!!!!
if (!_map)
return QVariant();
if (index.row() < 0 ||
index.row() >= _map->count() ||
role != Qt::DisplayRole) {
return QVariant();
}
if (index.column() == 0)
return _map->keys().at(index.row());
if (index.column() == 1)
return _map->values().at(index.row()).numer_pinu;
if (index.column() == 2)
return typ_zmiennej_QString(_map->values().at(index.row()).typ_zmiennej);
if (index.column() == 3)
return rodzaj_pinu_QString(_map->values().at(index.row()).rodzaj_pinu);
return QVariant();
}
void model_uzywane_zmienne::dodaj_zmienna(QString nazwa, zmienna_w_arduino zmienna) {
beginInsertRows(QModelIndex(), rowCount(), rowCount());
_map->insert(nazwa, {zmienna.numer_pinu, zmienna.typ_zmiennej, zmienna.rodzaj_pinu});
endInsertRows();
}
void model_uzywane_zmienne::usun_zmienna(QString nazwa) {
beginResetModel();
beginRemoveRows(QModelIndex(), rowCount(), rowCount());
_map->remove(nazwa);
endRemoveRows();
endResetModel();
}
QVariant model_uzywane_zmienne::headerData(int section, Qt::Orientation orientation, int role) const {
if (role == Qt::DisplayRole && orientation == Qt::Horizontal) {
if (section == 0)
return QString("Nazwa zmiennej");
else if (section == 1)
return QString("Numer pinu");
else if (section == 2)
return QString("Typ zmiennej");
else if (section == 3)
return QString("Rodzaj pinu");
}
return QAbstractItemModel::headerData(section, orientation, role);
}
QString model_uzywane_zmienne::typ_zmiennej_QString(quint32 zmienna) const // "const" ??????????????????????????????
{
switch (zmienna) {
case NIE_DOTYCZY:
return "Nie dotyczy";
case DYSKRETNA:
return "Dyskretna";
default:
return "Analogowa";
}
}
QString model_uzywane_zmienne::rodzaj_pinu_QString(quint32 zmienna) const
{
switch (zmienna) {
case NIE_DOTYCZY:
return "Nie dotyczy";
case WEJSCIE:
return "Wejście";
default:
return "Wyjście";
}
}