Sat, 08 Oct 2022 16:02:25 +0200
Version 0.2.27
#ifndef _EDITPRODUCT_H #define _EDITPRODUCT_H #include "MainWindow.h" #include <QDialog> #include <QStringList> #include <QJsonDocument> #include <QJsonObject> #include <QDoubleSpinBox> #include <QCheckBox> #include <QComboBox> #include <QRadioButton> #include <QLineEdit> #include <QDialogButtonBox> #include <QList> #include <QLabel> #include <QCalendarWidget> #include <QClipboard> #include <QTableWidget> #include "global.h" class Callout; struct StepResult { double svol; double irate; double ncells; double totcells; double growf; }; namespace Ui { class EditProduct; } class EditProduct : public QDialog { Q_OBJECT signals: void entry_changed(); public: explicit EditProduct(int id, QWidget *parent = 0); ~EditProduct(); public slots: void tooltip(QPointF point, bool state); private slots: void on_saveButton_clicked(); void on_quitButton_clicked(); void on_deleteButton_clicked(); void on_exportButton_clicked(); void on_printButton_clicked(); void is_changed(); void code_changed(QString); void name_changed(QString); void notes_changed(); void style_changed(int val); void colormethod_changed(int val); void ibumethod_changed(int val); void est_og_changed(double val); void efficiency_changed(double val); void boil_time_changed(int val); void batch_size_changed(double val); void brew_type_changed(int val); void locked_changed(bool val); void eq_changed(int val); void refreshFermentables(); void refreshHops(); void refreshMiscs(); void refreshYeasts(); void refreshMashs(); void refreshWaters(); void refreshAll(); void ferment_amount_changed(double val); void ferment_pct_changed(double val); void ferment_to100_changed(bool val); void ferment_select_changed(int val); void ferment_instock_changed(bool val); void ferment_added_changed(int val); void hop_amount_changed(double val); void hop_time_changed(int val); void hop_select_changed(int val); void hop_instock_changed(bool val); void hop_useat_changed(int val); void misc_amount_changed(double val); void misc_time_changed(int val); void misc_select_changed(int val); void misc_instock_changed(bool val); void misc_useat_changed(int val); void yeast_prod_date_clear(); void yeast_prod_date_today(); void yeast_prod_date_changed(QDate val); void yeast_method_changed(int val); void yeast_starter_sg_changed(double val); void yeast_starter_edit_clicked(); void yeast_pitchrate_button_clicked(); void yeast_amount_changed(double val); void yeast_select_changed(int val); void yeast_instock_changed(bool val); void yeast_useat_changed(int val); void addFermentRow_clicked(); void deleteFermentRow_clicked(); void editFermentRow_clicked(); void addHopRow_clicked(); void deleteHopRow_clicked(); void editHopRow_clicked(); void addMiscRow_clicked(); void deleteMiscRow_clicked(); void editMiscRow_clicked(); void addYeastRow_clicked(); void deleteYeastRow_clicked(); void editYeastRow_clicked(); void addMashRow_clicked(); void deleteMashRow_clicked(); void editMashRow_clicked(); void upMashRow_clicked(); void downMashRow_clicked(); void split_add_clicked(); void split_del_clicked(); void split_splitat_changed(int val); void split_table_changed(int nRow, int nCol); void w1_name_changed(int val); void w2_name_changed(int val); void w2_volume_changed(double val); void wb_cacl2_changed(double val); void wb_caso4_changed(double val); void wb_mgso4_changed(double val); void wb_nacl_changed(double val); void wb_mgcl2_changed(double val); void wb_nahco3_changed(double val); void wb_caco3_changed(double val); void sp_cacl2_changed(double val); void sp_caso4_changed(double val); void sp_mgso4_changed(double val); void sp_nacl_changed(double val); void sp_mgcl2_changed(double val); void mw_calc_acid_clicked(); void wt_target_changed(int val); void mw_ph_changed(double val); void mw_acid_changed(double val); void mw_type_changed(int val); void sp_volume_changed(double val); void sp_temp_changed(double val); void sp_group_changed(int val); void sp_type_changed(int val); void sp_ph_changed(double val); void sp_acid_changed(double val); void step_name_changed(QString val); void step_type_changed(int val); void step_temp_changed(double val); void end_temp_changed(double val); void step_time_changed(double val); void ramp_time_changed(double val); void infuse_changed(double val); void mash_select_changed(int val); void mash_name_changed(QString); void stepph_changed(double val); void stepsg_changed(double val); void stepbrix_changed(double val); void brew_date_clear(); void brew_date_today(); void brew_start_date_changed(QDate val); void brew_start_time_changed(QTime val); void brew_end_today(); void brew_end_date_changed(QDate val); void brew_end_time_changed(QTime val); void brew_date_ack(); void brew_mashph_changed(double val); void brew_mashsg_changed(double val); void brew_spargeph_changed(double val); void brew_preboilph_changed(double val); void brew_preboilsg_changed(double val); void brew_preboilvol_changed(double val); void brew_preboil_cm_changed(double val); void brew_preboil_button(); void brew_aboilph_changed(double val); void brew_aboilsg_changed(double val); void brew_aboilvol_changed(double val); void brew_aboil_cm_changed(double val); void brew_aboil_button(); void brew_cooling_method_changed(int val); void brew_cooling_to_changed(double val); void brew_cooling_time_changed(double val); void brew_whirlpool9_changed(double val); void brew_whirlpool7_changed(double val); void brew_whirlpool6_changed(double val); void brew_whirlpool2_changed(double val); void brew_aerwith_changed(int val); void brew_aerspeed_changed(double val); void brew_aertime_changed(double val); void brew_trubloss_changed(double val); void brew_topupwater_changed(double val); void brew_log_button(); void savePNG(); void brix_changed(double val); void primary_start_changed(double val); void primary_peak_changed(double val); void primary_end_changed(double val); void primary_sg_changed(double val); void primary_sg_button(); void primary_date_changed(QDate val); void primary_date_button(); void primary_date_ack(); void secondary_temp_changed(double val); void secondary_sg_changed(double val); void secondary_sg_button(); void secondary_date_changed(QDate val); void secondary_date_button(); void secondary_date_ack(); void tertiary_temp_changed(double val); void tertiary_sg_changed(double val); void tertiary_sg_button(); void ferm_log1_button(); void ferm_log2_button(); void pack_date_changed(QDate val); void pack_date_button(); void pack_date_ack(); void pack_volume_changed(double val); void pack_ph_changed(double val); void pack_infusion_vol_changed(double val); void pack_infusion_abv_changed(double val); void pack_infusion_txt_changed(QString val); void pack_abv_changed(double val); void bottle_volume_changed(double val); void bottle_co2_changed(double val); void bottle_sugar_changed(int val); void bottle_water_changed(double val); void bottle_temp_changed(double val); void kegs_volume_changed(double val); void kegs_co2_changed(double val); void kegs_sugar_changed(int val); void kegs_water_changed(double val); void kegs_forced_changed(bool val); void kegs_temp_changed(double val); void carb_log_button(); void taste_date_changed(QDate val); void taste_date_button(); void taste_date_ack(); void taste_rate_changed(double val); void taste_color_changed(QString val); void taste_transparency_changed(QString val); void taste_head_changed(QString val); void taste_aroma_changed(QString val); void taste_taste_changed(QString val); void taste_mouthfeel_changed(QString val); void taste_aftertaste_changed(QString val); void taste_notes_changed(); /* Modified progress bars */ void ferment_perc_mash_valueChanged(int value); void ferment_perc_sugars_valueChanged(int value); void ferment_perc_cara_valueChanged(int value); void ferment_lintner_valueChanged(int value); void hop_Flavour_valueChanged(int value); void hop_Aroma_valueChanged(int value); private: Ui::EditProduct *ui; QString bar_red = "QProgressBar::chunk {background: #FF0000;}"; QString bar_green = "QProgressBar::chunk {background: #008C00;}"; QString bar_20 = "QProgressBar::chunk {background: #004D00;}"; int recno; bool textIsChanged = false; double ret_fg; /* * Variables for popup ingredients editing. */ QComboBox *fselectEdit, *faddedEdit, *hselectEdit,*haddedEdit, *useatEdit, *mselectEdit, *yselectEdit, *splitatEdit; QLineEdit *fnameEdit, *fsupplierEdit, *hnameEdit, *horiginEdit, *mnameEdit, *ynameEdit, *ylaboratoryEdit, *yproduct_idEdit, *stepnameEdit; QDoubleSpinBox *famountEdit, *pctEdit, *fmaxEdit, *hamountEdit, *ibuEdit, *mamountEdit, *yamountEdit, *stepphEdit, *stepsgEdit; QDoubleSpinBox *steptempEdit, *endtempEdit, *steptimeEdit, *ramptimeEdit, *stepivolEdit, *stepitmpEdit, *brixEdit; QDoubleSpinBox *vol_leftEdit, *vol_availEdit; QSpinBox *htimeEdit, *mtimeEdit; QCheckBox *to100Edit, *finstockEdit, *hinstockEdit, *minstockEdit, *yinstockEdit; QLabel *htimeLabel, *mtimeLabel, *mamountLabel, *yamountLabel, *ivolLabel, *itmpLabel; QTableWidget *splitTable; QPushButton *split_addButton, *split_delButton; QChart *chart; QChartView *chartView; Callout *t_tooltip = 0; void to100Fermentables(int row); static bool ferment_sort_test(const Fermentables &D1, const Fermentables &D2); static bool hop_sort_test(const Hops &D1, const Hops &D2); static bool misc_sort_test(const Miscs &D1, const Miscs &D2); static bool yeast_sort_test(const Yeasts &D1, const Yeasts &D2); void WindowTitle(); void calcSupplies(); void showEquipment(); void initEquipment(); void setStage(); void brewing_salt_sub(QString salt, double val, int use); void set_brewing_salt(QString salt, double val, int use); void calcMiscs(); void calcFermentables(); void calcFermentablesFromOG(double og); void calcIBUs(); void calcStyle(); void calcBU(); void adjustHops(double factor); void adjustMiscs(double factor); double ZAlkalinity(double pHZ); double ZRA(double pHZ); double BufferCapacity(Fermentables F); double AcidRequired(double ZpH, Fermentables F); double ProtonDeficit(double pHZ); double MashpH(); void setButtons(bool locked); void calcWater(); void calcSparge(); double GetBUGU(); double GetOptSO4Clratio(); double getGrowthRate(int stype, double totcells, double egrams); StepResult calcStep(double svol, int stype, double start); void calcSteps(int stype, double start, double needed); void initYeast(); void calcViability(); void calcYeast(); void adjustYeasts(double factor); double infusionVol(double step_infused, double step_mashkg, double infuse_temp, double step_temp, double last_temp); double decoctionVol(double step_volume, double step_temp, double prev_temp); void calcMash(); void adjustWaters(double factor); void updateBrewday(); void calcEfficiencyBeforeBoil(); void calcEfficiencyAfterBoil(); void brew_volume_calc(double volume, double kettle_volume, double kettle_height, double est_volume, bool aboil); double get_fg(double gravity); double ResCO2(double T); double CarbCO2toS(double CO2, double T, double SFactor); double GetPressure(double CO2, double T1, double T2); double CarbCO2ToPressure(double CO2, double T); void calcPack(); void exportBeerXML(); void copyProduct(); void copyRecipe(); void toforumProduct(); void splitProduct(); void split_show(); void reduce_fermentable(int i); void reduce_hop(int i); void reduce_misc(int i); void reduce_yeast(int i); void inventory_reduce(); bool block_fermentable(int stage, int added); bool block_hop(int stage, int useat); bool block_misc(int stage, int use_use); bool block_yeast(int stage, int use); void check_waters(); }; #endif