diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp index a2aeecba6..90b094854 100644 --- a/apps/probability/calculation_controller.cpp +++ b/apps/probability/calculation_controller.cpp @@ -5,7 +5,7 @@ namespace Probability { CalculationController::ContentView::ContentView(Responder * parentResponder, Law * law) : m_lawCurveView(LawCurveView(law)), - m_imageTableView(ImageTableView(parentResponder)) + m_imageTableView(ImageTableView(parentResponder, law)) { } diff --git a/apps/probability/image_table_view.cpp b/apps/probability/image_table_view.cpp index 7cc01e860..1b033e371 100644 --- a/apps/probability/image_table_view.cpp +++ b/apps/probability/image_table_view.cpp @@ -42,12 +42,12 @@ void ImageTableView::ImageCell::setImage(const Image * image, const Image * focu m_focusedIcon = focusedImage; } -ImageTableView::ImageTableView(Responder * parentResponder) : +ImageTableView::ImageTableView(Responder * parentResponder, Law * law) : View(), Responder(parentResponder), m_selectableTableView(SelectableTableView(this, this, 0, 0, 0, 0, nullptr, false, false)), - m_selectedCalcul(0), - m_isSelected(false) + m_isSelected(false), + m_law(law) { } @@ -63,7 +63,7 @@ void ImageTableView::didBecomeFirstResponder() { bool ImageTableView::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::OK) { - m_selectedCalcul = m_selectableTableView.selectedRow(); + m_law->setCalculationType((Law::CalculationType)m_selectableTableView.selectedRow()); select(false); m_selectableTableView.reloadData(); app()->setFirstResponder(parentResponder()); @@ -78,7 +78,7 @@ void ImageTableView::select(bool select) { m_isSelected = select; } else { m_isSelected = select; - m_selectableTableView.selectCellAtLocation(0, m_selectedCalcul); + m_selectableTableView.selectCellAtLocation(0, m_law->calculationType()); } } @@ -103,7 +103,7 @@ int ImageTableView::reusableCellCount() { void ImageTableView::willDisplayCellForIndex(TableViewCell * cell, int index) { ImageCell * myCell = (ImageCell *)cell; if (!m_isSelected) { - switch (m_selectedCalcul) { + switch (m_law->calculationType()) { case 0: myCell->setImage(ImageStore::Calcul1Icon, ImageStore::FocusedCalcul1Icon); break; diff --git a/apps/probability/image_table_view.h b/apps/probability/image_table_view.h index 394c8ea85..dfe66665a 100644 --- a/apps/probability/image_table_view.h +++ b/apps/probability/image_table_view.h @@ -2,12 +2,13 @@ #define PROBABILITY_IMAGE_TABLE_VIEW_H #include +#include "law.h" namespace Probability { class ImageTableView : public View, public Responder, public SimpleListViewDataSource { public: - ImageTableView(Responder * parentResponder); + ImageTableView(Responder * parentResponder, Law * law); bool handleEvent(Ion::Events::Event event) override; void didBecomeFirstResponder() override; void select(bool select); @@ -38,8 +39,8 @@ private: constexpr static int k_numberOfImages = 3; ImageCell m_imageCells[k_numberOfImages]; SelectableTableView m_selectableTableView; - int m_selectedCalcul; bool m_isSelected; + Law * m_law; }; }