summaryrefslogtreecommitdiffstats
path: root/sigmod/CoinListItem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmod/CoinListItem.cpp')
-rw-r--r--sigmod/CoinListItem.cpp62
1 files changed, 25 insertions, 37 deletions
diff --git a/sigmod/CoinListItem.cpp b/sigmod/CoinListItem.cpp
index c015b6f9..642fb013 100644
--- a/sigmod/CoinListItem.cpp
+++ b/sigmod/CoinListItem.cpp
@@ -59,8 +59,8 @@ Sigmod::CoinListItem::CoinListItem(const QDomElement& xml, const CoinList* paren
void Sigmod::CoinListItem::validate()
{
TEST_BEGIN();
- TEST(setObject, object);
- TEST(setCost, cost);
+ TEST(object);
+ TEST(cost);
TEST_END();
}
@@ -81,41 +81,29 @@ QDomElement Sigmod::CoinListItem::save() const
return xml;
}
-void Sigmod::CoinListItem::setType(const Type type)
-{
- CHECK(type);
-}
-
-void Sigmod::CoinListItem::setObject(const int object)
-{
- if (((Item == m_type) && !sigmod()->itemById(object)) || ((Species == m_type) && !sigmod()->speciesById(object)))
- emit(error(bounds("object", object)));
- else
- CHECK(object);
-}
-
-void Sigmod::CoinListItem::setCost(const int cost)
-{
- if (cost <= 0)
- emit(error(bounds("cost", 1, INT_MAX, cost)));
- else
- CHECK(cost);
-}
-
-Sigmod::CoinListItem::Type Sigmod::CoinListItem::type() const
-{
- return m_type;
-}
-
-int Sigmod::CoinListItem::object() const
-{
- return m_object;
-}
-
-int Sigmod::CoinListItem::cost() const
-{
- return m_cost;
-}
+SETTER(CoinListItem, Type, Type, type)
+SETTER(CoinListItem, int, Object, object)
+SETTER(CoinListItem, int, Cost, cost)
+
+GETTER(CoinListItem, Sigmod::CoinListItem::Type, type)
+GETTER(CoinListItem, int, object)
+GETTER(CoinListItem, int, cost)
+
+CHECK_DEFAULT(CoinListItem, Type, type)
+CHECK_BEGIN(CoinListItem, int, object)
+ switch (m_type)
+ {
+ case Item:
+ IBOUNDS(object, sigmod(), type)
+ break;
+ case Species:
+ IBOUNDS(object, sigmod(), species)
+ break;
+ }
+CHECK_END()
+CHECK_BEGIN(CoinListItem, int, cost)
+ TBOUNDS(cost, 1, INT_MAX)
+CHECK_END()
Sigmod::CoinListItem& Sigmod::CoinListItem::operator=(const CoinListItem& rhs)
{