[apps/statistics] Clean HistogramController

This commit is contained in:
Léa Saviot
2018-05-21 17:54:04 +02:00
parent 94cee8981f
commit 2cf34c4cef
2 changed files with 41 additions and 46 deletions

View File

@@ -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);

View File

@@ -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;