From 714e5f12d96bc62d16933f6f602ed1a6f5d9baa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Mon, 23 Dec 2019 17:30:24 +0100 Subject: [PATCH] [calculation] WIP: display IntegerListController when clicking on a burger view of an integer input --- apps/calculation/history_controller.cpp | 15 ++++++++++----- apps/calculation/history_controller.h | 2 ++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/calculation/history_controller.cpp b/apps/calculation/history_controller.cpp index 3c4d40ef3..27bf09321 100644 --- a/apps/calculation/history_controller.cpp +++ b/apps/calculation/history_controller.cpp @@ -70,16 +70,21 @@ bool HistoryController::handleEvent(Ion::Events::Event event) { ScrollableExactApproximateExpressionsView::SubviewPosition outputSubviewPosition = selectedCell->outputView()->selectedSubviewPosition(); if (outputSubviewPosition == ScrollableExactApproximateExpressionsView::SubviewPosition::Left) { Expression::AdditionalInformationType additionalInfoType = selectedCell->additionalInformationType(); + ViewController * vc = nullptr; /* TODO - * Controller * c = additionalInformationType ? graphController : listController? - * m_controller->setType(additionalInformationType) - * m_controller->setCalculation()...*/ + * Faire un parent commun à tous les controllers qui sait faire setExpression */ if (additionalInfoType == Expression::AdditionalInformationType::Complex) { m_complexController.setExpression(calculation->input()); - Container::activeApp()->displayModalViewController(&m_complexController, 0.f, 0.f, Metric::CommonTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); + vc = &m_complexController; } else if (additionalInfoType == Expression::AdditionalInformationType::Trigonometry) { m_trigonometryController.setExpression(calculation->input()); - Container::activeApp()->displayModalViewController(&m_trigonometryController, 0.f, 0.f, Metric::CommonTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); + vc = &m_trigonometryController; + } else if (additionalInfoType == Expression::AdditionalInformationType::Integer) { + m_integerController.setExpression(calculation->input()); + vc = &m_integerController; + } + if (vc) { + Container::activeApp()->displayModalViewController(vc, 0.f, 0.f, Metric::CommonTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); } } else { m_selectableTableView.deselectTable(); diff --git a/apps/calculation/history_controller.h b/apps/calculation/history_controller.h index 2c8bd630d..83d15c844 100644 --- a/apps/calculation/history_controller.h +++ b/apps/calculation/history_controller.h @@ -6,6 +6,7 @@ #include "calculation_store.h" #include "selectable_table_view.h" #include "additional_outputs/complex_list_controller.h" +#include "additional_outputs/integer_list_controller.h" #include "additional_outputs/trigonometry_list_controller.h" namespace Calculation { @@ -39,6 +40,7 @@ private: HistoryViewCell m_calculationHistory[k_maxNumberOfDisplayedRows]; CalculationStore * m_calculationStore; ComplexListController m_complexController; + IntegerListController m_integerController; TrigonometryListController m_trigonometryController; };