diff --git a/library/include/mobilisis/calculator_functions.h b/library/include/mobilisis/calculator_functions.h index c156f8d..2f72ca6 100644 --- a/library/include/mobilisis/calculator_functions.h +++ b/library/include/mobilisis/calculator_functions.h @@ -14,7 +14,7 @@ using namespace std; class Calculator { - mutable QList m_timeSteps; + mutable QVector> m_timeSteps; mutable QList m_priceSteps; protected: @@ -29,8 +29,17 @@ public: return c; } - void ResetTimeSteps() { m_timeSteps.clear(); } - QList timeSteps() const { return m_timeSteps; } + void ResetTimeSteps(int paymentOptionIndex) { + if (m_timeSteps.size() > 0) { + m_timeSteps[paymentOptionIndex].clear(); + } + } + QList timeSteps(int paymentOptionIndex=0) const { + if (m_timeSteps.size() > 0) { + return m_timeSteps[paymentOptionIndex]; + } + return QList(); + } void ResetPriceSteps() { m_priceSteps.clear(); } QList priceSteps() const { return m_priceSteps; } @@ -66,8 +75,8 @@ public: // helper function to find time steps for a tariff with PaymentMethod::Steps // (e.g. Schoenau/Koenigsee) // - QList GetTimeSteps(Configuration *cfg) const; - QList GetSteps(Configuration *cfg) const { return GetTimeSteps(cfg); } + QList GetTimeSteps(Configuration *cfg, int paymentOptionIndex=0) const; + QList GetSteps(Configuration *cfg, int paymentOptionIndex=0) const { return GetTimeSteps(cfg, paymentOptionIndex); } QList GetPriceSteps(Configuration *cfg) const;