-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmixer.cpp
151 lines (131 loc) · 6.04 KB
/
mixer.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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include "mixer.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Mixer::AddDrinkFromParams(const QString& DrinkName,
const QString& AV_LQ1,
const int& LQ1_amo,
const QString& AV_LQ2,
const int& LQ2_amo,
const QString& AV_LQ3,
const int& LQ3_amo,
const QString& AV_LQ4,
const int& LQ4_amo,
bool Lemon) {
if (!isOnDrinkList(DrinkName)) {
TView TmpView(DrinkName, AV_LQ1, LQ1_amo, AV_LQ2, LQ2_amo, AV_LQ3, LQ3_amo, AV_LQ4, LQ4_amo, Lemon); // Put variables from in values in to this class object)
Views.insert(Views.end(), TmpView); // and then add to list of objects.
GetActualNames(); // get only names to NamesList
pushDrinkListUpdate(0);
itemIndexChanged();
};
// callNewViewUpdate();
}
void Mixer::saveChanges(const QString& DrinkName,
const int& nidx1,
const int& LQ1_amo,
const int& nidx2,
const int& LQ2_amo,
const int& nidx3,
const int& LQ3_amo,
const int& nidx4,
const int& LQ4_amo,
bool Lemon) {
if (ActualView != nullptr) {
ActualView->m_Name = DrinkName,
ActualView->m_LQ1_Code = IDListPtr->at(nidx1);
ActualView->m_LQ1_amount = LQ1_amo;
ActualView->m_LQ2_Code = IDListPtr->at(nidx2);
ActualView->m_LQ2_amount = LQ2_amo,
ActualView->m_LQ3_Code = IDListPtr->at(nidx3);
ActualView->m_LQ3_amount = LQ3_amo;
ActualView->m_LQ4_Code = IDListPtr->at(nidx4);
ActualView->m_LQ4_amount = LQ4_amo;
ActualView->isLemon = Lemon;
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QStringList Mixer::getIDList() {
if (IDListPtr)
return *IDListPtr;
return {"brak wkaznika listy slotpw"};
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QStringList Mixer::getDrinkList() {
return DrinkList;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QStringList* Mixer::GetActualNames() {
DrinkList.clear();
for (const TView& ViewM : Views) {
DrinkList.append(ViewM.m_Name);
};
m_Table_ptr->pushSchemesUpdate();
return &DrinkList;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Mixer::itemIndexChanged(const int& NewItemIndex) {
if (isNotEmpty()) {
m_ItemIndex = NewItemIndex;
ActualView = &Views[m_ItemIndex];
GetActualNames();
callNewViewUpdate();
};
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Mixer::deleteItem(const int& ItemIndex) // not tested!
{
if (ItemIndex != 0) {
ActualView = nullptr;
Views.erase(Views.begin() + ItemIndex);
itemIndexChanged(Views.size() - 1);
pushDrinkListUpdate(Views.size() - 1);
};
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Mixer::callNewViewUpdate() {
if (isNotEmpty()) {
StatusTxt.clear();
int
idx1 = LocalizeSlot(ActualView->m_LQ1_Code),
idx2 = LocalizeSlot(ActualView->m_LQ2_Code),
idx3 = LocalizeSlot(ActualView->m_LQ3_Code),
idx4 = LocalizeSlot(ActualView->m_LQ4_Code);
StatusTxt += " 1: ";
if (idx1 < 8)
StatusTxt += ActualView->m_LQ1_Code + " - OK, \n";
else
StatusTxt += ActualView->m_LQ1_Code + " - Nie znaleziono!, \n";
StatusTxt += " 2: ";
if (idx2 < 8)
StatusTxt += ActualView->m_LQ2_Code + " - OK, \n";
else
StatusTxt += ActualView->m_LQ2_Code + " - Nie znaleziono!, \n";
StatusTxt += " 3: ";
if (idx3 < 8)
StatusTxt += ActualView->m_LQ3_Code + " - OK, \n";
else
StatusTxt += ActualView->m_LQ3_Code + " - Nie znaleziono!, \n";
StatusTxt += " 4: ";
if (idx4 < 8)
StatusTxt += ActualView->m_LQ4_Code + " - OK \n";
else
StatusTxt += ActualView->m_LQ4_Code + " - Nie znaleziono! \n";
pushNewViewUpdate(idx1, ActualView->m_LQ1_amount, idx2, ActualView->m_LQ2_amount, idx3, ActualView->m_LQ3_amount, idx4, ActualView->m_LQ4_amount, ActualView->isLemon);
};
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int Mixer::LocalizeSlot(const QString& Code) {
for (int i = 0; i < IDListPtr->count(); i++) {
if (IDListPtr->at(i) == Code)
return i; // If found return itemIndex of Slot
}
return 8; // If not found return itemIndex of none slot
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int Mixer::isOnDrinkList(const QString& NameIn) {
for (auto Dname : DrinkList) {
if (Dname == NameIn)
return 1; //
}
return 0; // If not found return itemIndex of none slot
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////