|
1 #ifndef _EDITPRODUCT_H |
|
2 #define _EDITPRODUCT_H |
|
3 |
|
4 #include <QDialog> |
|
5 #include <QStringList> |
|
6 #include <QJsonDocument> |
|
7 #include <QJsonObject> |
|
8 #include <QDoubleSpinBox> |
|
9 #include <QCheckBox> |
|
10 #include <QComboBox> |
|
11 #include <QLineEdit> |
|
12 #include <QDialogButtonBox> |
|
13 #include <QList> |
|
14 #include <QLabel> |
|
15 |
|
16 #include "global.h" |
|
17 |
|
18 namespace Ui { |
|
19 class EditProduct; |
|
20 } |
|
21 |
|
22 class EditProduct : public QDialog |
|
23 { |
|
24 Q_OBJECT |
|
25 |
|
26 signals: |
|
27 void entry_changed(); |
|
28 |
|
29 public: |
|
30 explicit EditProduct(int id, QWidget *parent = 0); |
|
31 ~EditProduct(); |
|
32 |
|
33 private slots: |
|
34 void on_saveButton_clicked(); |
|
35 void on_quitButton_clicked(); |
|
36 void on_deleteButton_clicked(); |
|
37 void on_exportButton_clicked(); |
|
38 void on_printButton_clicked(); |
|
39 void is_changed(); |
|
40 void name_changed(QString); |
|
41 void notes_changed(); |
|
42 void style_changed(int val); |
|
43 void colormethod_changed(int val); |
|
44 void ibumethod_changed(int val); |
|
45 void est_og_changed(double val); |
|
46 void efficiency_changed(double val); |
|
47 void boil_time_changed(int val); |
|
48 void batch_size_changed(double val); |
|
49 void brew_type_changed(int val); |
|
50 void locked_changed(bool val); |
|
51 void refreshFermentables(); |
|
52 void refreshHops(); |
|
53 void refreshMiscs(); |
|
54 void refreshYeasts(); |
|
55 void refreshMashs(); |
|
56 void refreshWaters(); |
|
57 void refreshAll(); |
|
58 void ferment_amount_changed(double val); |
|
59 void ferment_pct_changed(double val); |
|
60 void ferment_to100_changed(bool val); |
|
61 void ferment_select_changed(int val); |
|
62 void ferment_instock_changed(bool val); |
|
63 void ferment_added_changed(int val); |
|
64 void hop_amount_changed(double val); |
|
65 void hop_time_changed(int val); |
|
66 void hop_select_changed(int val); |
|
67 void hop_instock_changed(bool val); |
|
68 void hop_useat_changed(int val); |
|
69 void misc_amount_changed(double val); |
|
70 void misc_time_changed(int val); |
|
71 void misc_select_changed(int val); |
|
72 void misc_instock_changed(bool val); |
|
73 void misc_useat_changed(int val); |
|
74 void yeast_amount_changed(double val); |
|
75 void yeast_select_changed(int val); |
|
76 void yeast_instock_changed(bool val); |
|
77 void yeast_useat_changed(int val); |
|
78 void addFermentRow_clicked(); |
|
79 void deleteFermentRow_clicked(); |
|
80 void editFermentRow_clicked(); |
|
81 void addHopRow_clicked(); |
|
82 void deleteHopRow_clicked(); |
|
83 void editHopRow_clicked(); |
|
84 void addMiscRow_clicked(); |
|
85 void deleteMiscRow_clicked(); |
|
86 void editMiscRow_clicked(); |
|
87 void addYeastRow_clicked(); |
|
88 void deleteYeastRow_clicked(); |
|
89 void editYeastRow_clicked(); |
|
90 void addMashRow_clicked(); |
|
91 void deleteMashRow_clicked(); |
|
92 void editMashRow_clicked(); |
|
93 void upMashRow_clicked(); |
|
94 void downMashRow_clicked(); |
|
95 |
|
96 void w1_name_changed(int val); |
|
97 void w2_name_changed(int val); |
|
98 void w2_volume_changed(double val); |
|
99 void wb_cacl2_changed(double val); |
|
100 void wb_caso4_changed(double val); |
|
101 void wb_mgso4_changed(double val); |
|
102 void wb_nacl_changed(double val); |
|
103 void wb_mgcl2_changed(double val); |
|
104 void wb_nahco3_changed(double val); |
|
105 void wb_caco3_changed(double val); |
|
106 void mw_calc_acid_clicked(); |
|
107 void wt_target_changed(int val); |
|
108 void mw_ph_changed(double val); |
|
109 void mw_acid_changed(double val); |
|
110 void mw_type_changed(int val); |
|
111 void sp_source_changed(int val); |
|
112 void sp_type_changed(int val); |
|
113 void sp_ph_changed(double val); |
|
114 void step_name_changed(QString val); |
|
115 void step_type_changed(int val); |
|
116 void step_temp_changed(double val); |
|
117 void end_temp_changed(double val); |
|
118 void step_time_changed(double val); |
|
119 void ramp_time_changed(double val); |
|
120 void infuse_changed(double val); |
|
121 void mash_select_changed(int val); |
|
122 void mash_name_changed(QString); |
|
123 |
|
124 /* Modified progress bars */ |
|
125 void ferment_perc_mash_valueChanged(int value); |
|
126 void ferment_perc_sugars_valueChanged(int value); |
|
127 void ferment_perc_cara_valueChanged(int value); |
|
128 void ferment_lintner_valueChanged(int value); |
|
129 void hop_Flavour_valueChanged(int value); |
|
130 void hop_Aroma_valueChanged(int value); |
|
131 |
|
132 private: |
|
133 Ui::EditProduct *ui; |
|
134 QString bar_red = "QProgressBar::chunk {background: #FF0000;}"; |
|
135 QString bar_orange = "QProgressBar::chunk {background: #EB7331;}"; |
|
136 QString bar_green = "QProgressBar::chunk {background: #008C00;}"; |
|
137 QString bar_20 = "QProgressBar::chunk {background: #004D00;}"; |
|
138 QString bar_40 = "QProgressBar::chunk {background: #008C00;}"; |
|
139 QString bar_60 = "QProgressBar::chunk {background: #00BF00;}"; |
|
140 QString bar_80 = "QProgressBar::chunk {background: #00FF00;}"; |
|
141 QString bar_100 = "QProgressBar::chunk {background: #80FF80;}"; |
|
142 int recno; |
|
143 bool textIsChanged = false; |
|
144 /* |
|
145 * Variables for popup ingredients editing. |
|
146 */ |
|
147 QComboBox *fselectEdit, *faddedEdit, *hselectEdit,*haddedEdit, *useatEdit, *mselectEdit, *yselectEdit; |
|
148 QLineEdit *fnameEdit, *fsupplierEdit, *hnameEdit, *horiginEdit, *mnameEdit, *ynameEdit, *ylaboratoryEdit, *yproduct_idEdit, *stepnameEdit; |
|
149 QDoubleSpinBox *famountEdit, *pctEdit, *fmaxEdit, *hamountEdit, *ibuEdit, *mamountEdit, *yamountEdit; |
|
150 QDoubleSpinBox *steptempEdit, *endtempEdit, *steptimeEdit, *ramptimeEdit, *stepivolEdit, *stepitmpEdit; |
|
151 QSpinBox *htimeEdit, *mtimeEdit; |
|
152 QCheckBox *to100Edit, *finstockEdit, *hinstockEdit, *minstockEdit, *yinstockEdit; |
|
153 QLabel *htimeLabel, *mtimeLabel, *mamountLabel, *yamountLabel, *ivolLabel, *itmpLabel; |
|
154 |
|
155 void to100Fermentables(int row); |
|
156 static bool ferment_sort_test(const Fermentables &D1, const Fermentables &D2); |
|
157 static bool hop_sort_test(const Hops &D1, const Hops &D2); |
|
158 static bool misc_sort_test(const Miscs &D1, const Miscs &D2); |
|
159 static bool yeast_sort_test(const Yeasts &D1, const Yeasts &D2); |
|
160 void WindowTitle(); |
|
161 void setLocked(bool val); |
|
162 void brewing_salt_sub(QString salt, double val); |
|
163 void set_brewing_salt(QString salt, double val); |
|
164 void calcFermentables(); |
|
165 void calcFermentablesFromOG(double og); |
|
166 void calcIBUs(); |
|
167 void adjustHops(double factor); |
|
168 void adjustMiscs(double factor); |
|
169 double ZAlkalinity(double pHZ); |
|
170 double ZRA(double pHZ); |
|
171 double BufferCapacity(Fermentables F); |
|
172 double AcidRequired(double ZpH, Fermentables F); |
|
173 double ProtonDeficit(double pHZ); |
|
174 double MashpH(); |
|
175 void calcWater(); |
|
176 void calcSparge(); |
|
177 double GetBUGU(); |
|
178 double GetOptSO4Clratio(); |
|
179 void calcYeast(); |
|
180 void adjustYeasts(double factor); |
|
181 double infusionVol(double step_infused, double step_mashkg, double infuse_temp, double step_temp, double last_temp); |
|
182 double decoctionVol(double step_volume, double step_temp, double prev_temp); |
|
183 void calcMash(); |
|
184 void adjustWaters(double factor); |
|
185 }; |
|
186 |
|
187 #endif |