diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp index 2de983699..a2aeecba6 100644 --- a/apps/probability/calculation_controller.cpp +++ b/apps/probability/calculation_controller.cpp @@ -4,27 +4,36 @@ namespace Probability { CalculationController::ContentView::ContentView(Responder * parentResponder, Law * law) : - m_lawCurveView(LawCurveView(law)) + m_lawCurveView(LawCurveView(law)), + m_imageTableView(ImageTableView(parentResponder)) { } int CalculationController::ContentView::numberOfSubviews() const { - return 1; + return 2; } View * CalculationController::ContentView::subviewAtIndex(int index) { - assert(index == 0); - return &m_lawCurveView; + assert(index >= 0 && index < 2); + if (index == 0) { + return &m_lawCurveView; + } + return &m_imageTableView; } void CalculationController::ContentView::layoutSubviews() { - m_lawCurveView.setFrame(bounds()); + m_lawCurveView.setFrame(KDRect(0, ImageTableView::k_imageHeight, bounds().width(), bounds().height() - ImageTableView::k_imageHeight)); + m_imageTableView.setFrame(KDRect(0, 0, ImageTableView::k_imageWidth, 3*ImageTableView::k_imageHeight)); } LawCurveView * CalculationController::ContentView::lawCurveView() { return &m_lawCurveView; } +ImageTableView * CalculationController::ContentView::imageTableView() { + return &m_imageTableView; +} + CalculationController::CalculationController(Responder * parentResponder, Law * law) : ViewController(parentResponder), m_contentView(ContentView(this, law)), @@ -41,6 +50,17 @@ const char * CalculationController::title() const { } bool CalculationController::handleEvent(Ion::Events::Event event) { + if (event == Ion::Events::Left) { + //m_selectableTableView.deselectTable(); + m_contentView.imageTableView()->select(true); + app()->setFirstResponder(m_contentView.imageTableView()); + return true; + } + if (event == Ion::Events::Right) { + m_contentView.imageTableView()->select(false); + app()->setFirstResponder(this); + return true; + } return false; } diff --git a/apps/probability/calculation_controller.h b/apps/probability/calculation_controller.h index 38c55afd4..5ae3fb0f8 100644 --- a/apps/probability/calculation_controller.h +++ b/apps/probability/calculation_controller.h @@ -4,6 +4,7 @@ #include #include "law.h" #include "law_curve_view.h" +#include "image_table_view.h" namespace Probability { @@ -20,10 +21,12 @@ private: ContentView(Responder * parentResponder, Law * law); void layoutSubviews() override; LawCurveView * lawCurveView(); + ImageTableView * imageTableView(); private: int numberOfSubviews() const override; View * subviewAtIndex(int index) override; LawCurveView m_lawCurveView; + ImageTableView m_imageTableView; }; ContentView m_contentView; Law * m_law;