From 2cf34c4cef55d16a2d68e1bb0c99c2c033ed28ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Mon, 21 May 2018 17:54:04 +0200 Subject: [PATCH] [apps/statistics] Clean HistogramController --- apps/statistics/histogram_controller.cpp | 71 ++++++++++-------------- apps/statistics/histogram_controller.h | 16 ++++-- 2 files changed, 41 insertions(+), 46 deletions(-) diff --git a/apps/statistics/histogram_controller.cpp b/apps/statistics/histogram_controller.cpp index e79eb597a..7e9adb367 100644 --- a/apps/statistics/histogram_controller.cpp +++ b/apps/statistics/histogram_controller.cpp @@ -29,21 +29,41 @@ HistogramController::HistogramController(Responder * parentResponder, ButtonRowC { } -const char * HistogramController::title() { - return I18n::translate(I18n::Message::HistogramTab); -} - -View * HistogramController::view() { - return &m_view; -} - StackViewController * HistogramController::stackController() { StackViewController * stack = (StackViewController *)(parentResponder()->parentResponder()->parentResponder()); return stack; } -HistogramParameterController * HistogramController::histogramParameterController() { - return &m_histogramParameterController; +int HistogramController::numberOfButtons(ButtonRowController::Position) const { + return isEmpty() ? 0 : 1; +} +Button * HistogramController::buttonAtIndex(int index, ButtonRowController::Position) const { + return (Button *)&m_settingButton; +} + +bool HistogramController::isEmpty() const { + return m_store->isEmpty(); +} + +I18n::Message HistogramController::emptyMessage() { + return I18n::Message::NoDataToPlot; +} + +Responder * HistogramController::defaultController() { + return tabController(); +} + +const char * HistogramController::title() { + return I18n::translate(I18n::Message::HistogramTab); +} + +void HistogramController::viewWillAppear() { + if (!m_view.isMainViewSelected()) { + m_view.selectMainView(true); + header()->setSelectedButton(-1); + } + reloadBannerView(); + m_view.reload(); } bool HistogramController::handleEvent(Ion::Events::Event event) { @@ -104,37 +124,6 @@ void HistogramController::didBecomeFirstResponder() { } } -int HistogramController::numberOfButtons(ButtonRowController::Position) const { - if (isEmpty()) { - return 0; - } - return 1; -} -Button * HistogramController::buttonAtIndex(int index, ButtonRowController::Position) const { - return (Button *)&m_settingButton; -} - -bool HistogramController::isEmpty() const { - return m_store->isEmpty(); -} - -I18n::Message HistogramController::emptyMessage() { - return I18n::Message::NoDataToPlot; -} - -Responder * HistogramController::defaultController() { - return tabController(); -} - -void HistogramController::viewWillAppear() { - if (!m_view.isMainViewSelected()) { - m_view.selectMainView(true); - header()->setSelectedButton(-1); - } - reloadBannerView(); - m_view.reload(); -} - void HistogramController::willExitResponderChain(Responder * nextFirstResponder) { if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) { m_view.selectMainView(false); diff --git a/apps/statistics/histogram_controller.h b/apps/statistics/histogram_controller.h index 84d13a447..afa38d07d 100644 --- a/apps/statistics/histogram_controller.h +++ b/apps/statistics/histogram_controller.h @@ -14,20 +14,26 @@ class HistogramController : public ViewController, public ButtonRowDelegate, pub public: HistogramController(Responder * parentResponder, ButtonRowController * header, Store * store, uint32_t * m_storeVersion, uint32_t * m_barVersion, uint32_t * m_rangeVersion, int * m_selectedBarIndex); - const char * title() override; - View * view() override; StackViewController * stackController(); - HistogramParameterController * histogramParameterController(); - bool handleEvent(Ion::Events::Event event) override; - void didBecomeFirstResponder() override; + HistogramParameterController * histogramParameterController() { return &m_histogramParameterController; } + // ButtonRowDelegate int numberOfButtons(ButtonRowController::Position) const override; Button * buttonAtIndex(int index, ButtonRowController::Position position) const override; + // AlternateEmptyViewDelegate bool isEmpty() const override; I18n::Message emptyMessage() override; Responder * defaultController() override; + + // ViewController + const char * title() override; + View * view() override { return &m_view; } void viewWillAppear() override; + + // Responder + bool handleEvent(Ion::Events::Event event) override; + void didBecomeFirstResponder() override; void willExitResponderChain(Responder * nextFirstResponder) override; private: constexpr static int k_maxNumberOfBarsPerWindow = 100;