Files
Upsilon/apps/statistics/histogram_controller.cpp
Émilie Feral 14b54c1358 [apps/statistics] Create the structure of the stat apps
Change-Id: Iad59fcb3a7343d60621d28225fd4e5ab824fec49
2016-12-19 17:00:43 +01:00

68 lines
1.6 KiB
C++

#include "histogram_controller.h"
namespace Statistics {
HistogramController::HistogramController(Responder * parentResponder, HeaderViewController * headerViewController) :
ViewController(parentResponder),
HeaderViewDelegate(headerViewController),
m_view(SolidColorView(KDColorGreen)),
m_settingButton(Button(this, "Reglages de l'histogramme",Invocation([](void * context, void * sender) {}, this))),
m_selectedBin(0)
{
}
const char * HistogramController::title() const {
return "Histogramme";
}
View * HistogramController::view() {
return &m_view;
}
bool HistogramController::handleEvent(Ion::Events::Event event) {
if (event == Ion::Events::Down) {
if (m_selectedBin == -1) {
headerViewController()->setSelectedButton(-1);
m_selectedBin = 0;
return true;
}
return false;
}
if (event == Ion::Events::Up) {
if (m_selectedBin == -1) {
headerViewController()->setSelectedButton(-1);
app()->setFirstResponder(tabController());
return true;
}
m_selectedBin = -1;
headerViewController()->setSelectedButton(0);
return true;
}
return false;
}
int HistogramController::numberOfButtons() const {
return 1;
}
Button * HistogramController::buttonAtIndex(int index) {
return &m_settingButton;
}
bool HistogramController::isEmpty() {
return false;
}
const char * HistogramController::emptyMessage() {
return "Aucune donnée à tracer";
}
Responder * HistogramController::defaultController() {
return tabController();
}
Responder * HistogramController::tabController() const {
return (parentResponder()->parentResponder()->parentResponder()->parentResponder());
}
}