From dd0be4471cdb3f44f84f1ec65cabeaa662ae4f30 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Mon, 2 Sep 2019 16:32:05 +0200 Subject: [PATCH] [apps/*/values_controller] Move m_setIntervalButton to derived classes --- apps/graph/values/values_controller.cpp | 8 +++++++- apps/graph/values/values_controller.h | 4 ++++ apps/sequence/values/values_controller.cpp | 8 +++++++- apps/sequence/values/values_controller.h | 4 ++++ apps/shared/values_controller.cpp | 12 +----------- apps/shared/values_controller.h | 4 +--- 6 files changed, 24 insertions(+), 16 deletions(-) diff --git a/apps/graph/values/values_controller.cpp b/apps/graph/values/values_controller.cpp index c9c4f6484..9c1c98b84 100644 --- a/apps/graph/values/values_controller.cpp +++ b/apps/graph/values/values_controller.cpp @@ -14,7 +14,13 @@ ValuesController::ValuesController(Responder * parentResponder, InputEventHandle m_floatCells{}, m_functionParameterController(this), m_intervalParameterController(this, inputEventHandlerDelegate, m_interval), - m_derivativeParameterController(this) + m_derivativeParameterController(this), + m_setIntervalButton(this, I18n::Message::IntervalSet, Invocation([](void * context, void * sender) { + ValuesController * valuesController = (ValuesController *) context; + StackViewController * stack = ((StackViewController *)valuesController->stackController()); + stack->push(valuesController->intervalParameterController()); + return true; + }, this), k_font) { for (int i = 0; i < k_maxNumberOfFunctions; i++) { m_functionTitleCells[i].setOrientation(FunctionTitleCell::Orientation::HorizontalIndicator); diff --git a/apps/graph/values/values_controller.h b/apps/graph/values/values_controller.h index ebea49a09..6b592d7ef 100644 --- a/apps/graph/values/values_controller.h +++ b/apps/graph/values/values_controller.h @@ -13,6 +13,9 @@ namespace Graph { class ValuesController : public Shared::ValuesController { public: ValuesController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, Shared::Interval * interval, ButtonRowController * header); + Button * buttonAtIndex(int index, ButtonRowController::Position position) const override { + return const_cast