-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtstatustable.cpp
120 lines (69 loc) · 3.43 KB
/
tstatustable.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include "tstatustable.h"
TStatusTable::TStatusTable(QObject *parent) : QObject(parent)
{
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::ImportFromParams(const int& Index, const bool& LockState, const int& MaxCap, const QString& SchemeName)
{
setLockFlag(Index,LockState);
setMaxCap(Index,MaxCap);
setSchemeByIDX(Index,LocalizeDrink(SchemeName));
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::setMaxCap(const int& idx,const int& capacity) {
Glass[idx].MaxCap=capacity;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int TStatusTable::LocalizeDrink(const QString& SchemeName) {
for (int i=0; i < m_DrinkList_ptr->count();i++)
{
if (m_DrinkList_ptr->at(i)==SchemeName) return i;
}
return 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::setSchemeByIDX(const int& idx, const int& comboidx) {
Glass[idx].DrinkScheme=m_DrinkList_ptr->at(comboidx);
pushSchemesUpdate();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::setActiveState(const int& idx) {
if (Glass[idx].Checked) { Glass[idx].Checked=false; }
else
Glass[idx].Checked=true;
pushStatesUpdate();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::setActiveStateALL(const bool& newstate) {
for (auto &oneGlass : Glass)
{
oneGlass.Checked=newstate;
};
pushStatesUpdate();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::setLockFlag(const int& idx, const bool& newlockflag) {
Glass[idx].Locked=newlockflag;
pushImagesUpdate();
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TStatusTable::setLockForActive(const bool& newlockflag) {
for (auto &oneGlass : Glass)
{
if (oneGlass.Checked) oneGlass.Locked=newlockflag;
};
pushImagesUpdate();
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool TStatusTable::getLockFlag(const int& idx) {
return Glass[idx].Locked;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool TStatusTable::getLemonToThrow(const int& idx) {
return m_MixerViews_ptr->at(LocalizeDrink(Glass[idx].DrinkScheme)).isLemon;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool TStatusTable::getActiveState(const int& idx) {
return Glass[idx].Checked;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////