Apps: Add a parameters controller

Change-Id: I93ab1c4f7050a3c490a64aed5462437910ef981d
This commit is contained in:
Romain Goyet
2016-08-19 16:44:13 +02:00
parent 2905975b43
commit 4dea239ab8
6 changed files with 56 additions and 4 deletions

View File

@@ -2,4 +2,5 @@ app_objs += $(addprefix apps/probability/,\
app.o\
law/law_cell.o\
law/law_controller.o\
parameters/parameters_controller.o\
)

View File

@@ -3,11 +3,17 @@
Probability::App::App() :
::App(),
m_lawController(LawController(nullptr)),
m_parametersController(ParametersController(nullptr)),
m_stackViewController(this)
{
m_stackViewController.push(&m_lawController);
}
void Probability::App::setLaw(Law l) {
//m_parametersController.setLaw(thePickedLaw);
m_stackViewController.push(&m_parametersController);
}
ViewController * Probability::App::rootViewController() {
return &m_stackViewController;
}

View File

@@ -3,18 +3,23 @@
#include <escher.h>
#include "law/law_controller.h"
#include "parameters/parameters_controller.h"
namespace Probability {
class App : public ::App {
public:
enum class Law {
Normal,
Student
};
App();
void setLaw(Law l);
protected:
ViewController * rootViewController() override;
private:
LawController m_lawController;
//ListController m_listController;
//GraphController m_graphController;
ParametersController m_parametersController;
StackViewController m_stackViewController;
};

View File

@@ -1,5 +1,6 @@
#include "law_controller.h"
#include <assert.h>
#include "../app.h"
static const char * sMessages[] = {
"Loi Normale",
@@ -49,8 +50,7 @@ bool Probability::LawController::handleEvent(ion_event_t event) {
setActiveCell(m_activeCell-1);
return true;
case ENTER:
m_manualScrolling += 10;
m_tableView.setContentOffset({0, m_manualScrolling});
((Probability::App *)app())->setLaw(App::Law::Normal);
return true;
default:
return false;

View File

@@ -0,0 +1,19 @@
#include "parameters_controller.h"
Probability::ParametersController::ParametersController(Responder * parentResponder) :
ViewController(parentResponder),
m_view(SolidColorView(KDColor(0xF3619B)))
{
}
View * Probability::ParametersController::view() {
return &m_view;
}
const char * Probability::ParametersController::title() const {
return "Parameters";
}
bool Probability::ParametersController::handleEvent(ion_event_t event) {
return false;
}

View File

@@ -0,0 +1,21 @@
#ifndef PROBABILITY_PARAMETERS_CONTROLLER_H
#define PROBABILITY_PARAMETERS_CONTROLLER_H
#include <escher.h>
namespace Probability {
class ParametersController : public ViewController {
public:
ParametersController(Responder * parentResponder);
View * view() override;
const char * title() const override;
bool handleEvent(ion_event_t event) override;
private:
SolidColorView m_view;
};
}
#endif