1 /***************************************************************************
2 hop.cpp
3 -------------------
4 A hop class
5 -------------------
6 Copyright 1999-2008, David Johnson
7 Please see the header file for copyright and license information
8 ***************************************************************************/
9
10 #include <QStringList>
11 #include "resource.h"
12 #include "hop.h"
13
14 const QByteArray Hop::PELLET_STRING = QT_TRANSLATE_NOOP("Hop", "Pellet");
15 const QByteArray Hop::PLUG_STRING = QT_TRANSLATE_NOOP("Hop", "Plug");
16 const QByteArray Hop::WHOLE_STRING = QT_TRANSLATE_NOOP("Hop", "Whole");
17
18 //////////////////////////////////////////////////////////////////////////////
19 // Hop()
20 // -----
21 // constructor
22
Hop()23 Hop::Hop()
24 : name_(QObject::tr("Generic")), weight_(), type_(PELLET_STRING),
25 alpha_(10.0), time_(0)
26 { ; }
27
Hop(const QString & name,const Weight & weight,const QString & typ,const double & alpha,const unsigned & time)28 Hop::Hop(const QString &name, const Weight &weight, const QString &typ,
29 const double &alpha, const unsigned &time)
30 : name_(name), weight_(weight), type_(typ), alpha_(alpha), time_(time)
31
32 {
33 recalc();
34 }
35
~Hop()36 Hop::~Hop() { ; }
37
38 //////////////////////////////////////////////////////////////////////////////
39 // Hop(const Hop &)
40 // ----------------
41 // Copy constructor
42
Hop(const Hop & h)43 Hop::Hop(const Hop &h)
44 : name_(h.name_), weight_(h.weight_), type_(h.type_), alpha_(h.alpha_),
45 time_(h.time_), hbu_(h.hbu_)
46 { ; }
47
48 //////////////////////////////////////////////////////////////////////////////
49 // operator=()
50 // -----------
51 // Assignment operator
52
operator =(const Hop & h)53 Hop Hop::operator=(const Hop &h)
54 {
55 if (this != &h) {
56 name_ = h.name_;
57 weight_ = h.weight_;
58 type_ = h.type_;
59 alpha_ = h.alpha_;
60 time_ = h.time_;
61 hbu_ = h.hbu_;
62 }
63 return *this;
64 }
65
66 //////////////////////////////////////////////////////////////////////////////
67 // operator==()
68 // ------------
69 // Equivalence operator
70
operator ==(const Hop & h) const71 bool Hop::operator==(const Hop &h) const
72 {
73 return (name_ == h.name_)
74 && (weight_ == h.weight_)
75 && (type_ == h.type_)
76 && (alpha_ == h.alpha_)
77 && (time_ == h.time_);
78 }
79
80 //////////////////////////////////////////////////////////////////////////////
81 // typeStringList()
82 // ----------------
83 // Return string list of available hop types
84
typeStringList()85 QStringList Hop::typeStringList()
86 {
87 return (QStringList() << PELLET_STRING << PLUG_STRING << WHOLE_STRING);
88 }
89
90 //////////////////////////////////////////////////////////3/////////////////////
91 // recalc()
92 // --------
93 // Recalculate internal values
94
recalc()95 void Hop::recalc()
96 {
97 hbu_ = 0.75 * alpha_ * weight_.amount(Weight::ounce);
98 }
99