From 095f2a28916f078f56cd6aebe4b7564289956ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Tue, 6 Dec 2016 11:06:49 +0100 Subject: [PATCH] [apps/probability] Create a class calculation controller Change-Id: I87f5a712d213ae3f4dd5553b64e2b641bd0601ba --- apps/probability/Makefile | 1 + apps/probability/calculation_controller.cpp | 46 +++++++++++++++++++++ apps/probability/calculation_controller.h | 33 +++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 apps/probability/calculation_controller.cpp create mode 100644 apps/probability/calculation_controller.h diff --git a/apps/probability/Makefile b/apps/probability/Makefile index ca0544659..627295384 100644 --- a/apps/probability/Makefile +++ b/apps/probability/Makefile @@ -1,5 +1,6 @@ app_objs += $(addprefix apps/probability/,\ app.o\ + calculation_controller.o\ cell.o\ evaluate_context.o\ law.o\ diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp new file mode 100644 index 000000000..525e2c6b0 --- /dev/null +++ b/apps/probability/calculation_controller.cpp @@ -0,0 +1,46 @@ +#include "calculation_controller.h" +#include + +namespace Probability { + +CalculationController::ContentView::ContentView(Responder * parentResponder, Law * law) : + m_lawCurveView(LawCurveView(law)) +{ +} + +int CalculationController::ContentView::numberOfSubviews() const { + return 1; +} + +View * CalculationController::ContentView::subviewAtIndex(int index) { + assert(index == 0); + return &m_lawCurveView; +} + +void CalculationController::ContentView::layoutSubviews() { + m_lawCurveView.setFrame(bounds()); +} + +CalculationController::CalculationController(Responder * parentResponder, Law * law) : + ViewController(parentResponder), + m_contentView(ContentView(this, law)), + m_law(law) +{ +} + +View * CalculationController::view() { + return &m_contentView; +} + +const char * CalculationController::title() const { + return "Calculer les probabilites"; +} + +bool CalculationController::handleEvent(Ion::Events::Event event) { + return false; +} + +void CalculationController::didBecomeFirstResponder() { +} + +} diff --git a/apps/probability/calculation_controller.h b/apps/probability/calculation_controller.h new file mode 100644 index 000000000..a3ff82de1 --- /dev/null +++ b/apps/probability/calculation_controller.h @@ -0,0 +1,33 @@ +#ifndef PROBABILITY_CALCULATION_CONTROLLER_H +#define PROBABILITY_CALCULATION_CONTROLLER_H + +#include +#include "law.h" +#include "law_curve_view.h" + +namespace Probability { + +class CalculationController : public ViewController { +public: + CalculationController(Responder * parentResponder, Law * law); + View * view() override; + const char * title() const override; + bool handleEvent(Ion::Events::Event event) override; + void didBecomeFirstResponder() override; +private: + class ContentView : public View { + public: + ContentView(Responder * parentResponder, Law * law); + void layoutSubviews() override; + private: + int numberOfSubviews() const override; + View * subviewAtIndex(int index) override; + LawCurveView m_lawCurveView; + }; + ContentView m_contentView; + Law * m_law; +}; + +} + +#endif