#ifndef PROBABILITY_LAW_CONTROLLER_H #define PROBABILITY_LAW_CONTROLLER_H #include #include "cell.h" #include "law/law.h" #include "parameters_controller.h" namespace Probability { class LawController : public ViewController, public SimpleListViewDataSource { public: LawController(Responder * parentResponder); View * view() override; bool handleEvent(Ion::Events::Event event) override; void didBecomeFirstResponder() override; int numberOfRows() override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; KDCoordinate cellHeight() override; HighlightCell * reusableCell(int index) override; int reusableCellCount() override; private: class ContentView : public View { public: ContentView(SelectableTableView * selectableTableView); constexpr static KDCoordinate k_titleMargin = 8; private: int numberOfSubviews() const override; View * subviewAtIndex(int index) override; void layoutSubviews() override; PointerTextView m_titleView;; SelectableTableView * m_selectableTableView; }; void setLawAccordingToIndex(int index); constexpr static int k_totalNumberOfModels = 5; Cell m_cells[k_totalNumberOfModels]; SelectableTableView m_selectableTableView; ContentView m_contentView; const char ** m_messages; Law * m_law; ParametersController m_parametersController; }; } #endif