[apps/shared] Move interval and associated controllers to shared to be

used in apps/sequence/values

Change-Id: I231ec25a009c819fb16dcad096e1522587071255
This commit is contained in:
Émilie Feral
2017-02-24 11:52:26 +01:00
parent d6093a2f18
commit c51d7cda01
10 changed files with 37 additions and 40 deletions

View File

@@ -8,11 +8,8 @@ app_objs += $(addprefix apps/graph/,\
graph/graph_controller.o\
graph/graph_view.o\
list/list_controller.o\
values/abscissa_parameter_controller.o\
values/derivative_parameter_controller.o\
values/function_parameter_controller.o\
values/interval.o\
values/interval_parameter_controller.o\
values/values_controller.o\
)

View File

@@ -20,7 +20,7 @@ ValuesController::ValuesController(Responder * parentResponder, CartesianFunctio
EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Small), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Small)},
m_functionStore(functionStore),
m_intervalParameterController(IntervalParameterController(this, &m_interval)),
m_abscissaParameterController(AbscissaParameterController(this, &m_intervalParameterController)),
m_abscissaParameterController(ValuesParameterController(this, &m_intervalParameterController)),
m_functionParameterController(FunctionParameterController(this)),
m_derivativeParameterController(DerivativeParameterController(this)),
m_setIntervalButton(Button(this, "Regler l'intervalle",Invocation([](void * context, void * sender) {

View File

@@ -5,11 +5,11 @@
#include "../cartesian_function_store.h"
#include "../function_title_cell.h"
#include "../../shared/editable_cell_table_view_controller.h"
#include "interval.h"
#include "abscissa_parameter_controller.h"
#include "../../shared/interval.h"
#include "../../shared/values_parameter_controller.h"
#include "derivative_parameter_controller.h"
#include "function_parameter_controller.h"
#include "interval_parameter_controller.h"
#include "../../shared/interval_parameter_controller.h"
namespace Graph {
@@ -17,7 +17,7 @@ class ValuesController : public Shared::EditableCellTableViewController, public
public:
ValuesController(Responder * parentResponder, CartesianFunctionStore * functionStore, HeaderViewController * header);
const char * title() const override;
Interval * interval();
Shared::Interval * interval();
bool handleEvent(Ion::Events::Event event) override;
void didBecomeFirstResponder() override;
ViewController * intervalParameterController();
@@ -66,9 +66,9 @@ private:
char m_draftTextBuffer[EditableTextCell::k_bufferLength];
EvenOddEditableTextCell m_abscissaCells[k_maxNumberOfAbscissaCells];
CartesianFunctionStore * m_functionStore;
Interval m_interval;
IntervalParameterController m_intervalParameterController;
AbscissaParameterController m_abscissaParameterController;
Shared::Interval m_interval;
Shared::IntervalParameterController m_intervalParameterController;
Shared::ValuesParameterController m_abscissaParameterController;
FunctionParameterController m_functionParameterController;
DerivativeParameterController m_derivativeParameterController;
Button m_setIntervalButton;

View File

@@ -18,6 +18,8 @@ app_objs += $(addprefix apps/shared/,\
initialisation_parameter_controller.o\
interactive_curve_view_controller.o\
interactive_curve_view_range.o\
interval.o\
interval_parameter_controller.o\
list_controller.o\
list_parameter_controller.o\
memoized_curve_view_range.o\
@@ -27,5 +29,6 @@ app_objs += $(addprefix apps/shared/,\
store_parameter_controller.o\
text_field_delegate.o\
text_field_delegate_app.o\
values_parameter_controller.o\
zoom_parameter_controller.o\
)

View File

@@ -1,7 +1,7 @@
#include "interval.h"
#include <assert.h>
namespace Graph {
namespace Shared {
Interval::Interval() :
m_start(0),

View File

@@ -1,7 +1,7 @@
#ifndef GRAPH_VALUES_INTERVAL_H
#define GRAPH_VALUES_INTERVAL_H
#ifndef SHARED_VALUES_INTERVAL_H
#define SHARED_VALUES_INTERVAL_H
namespace Graph {
namespace Shared {
class Interval {
public:

View File

@@ -1,10 +1,7 @@
#include "interval_parameter_controller.h"
#include "../app.h"
#include <assert.h>
using namespace Shared;
namespace Graph {
namespace Shared {
IntervalParameterController::IntervalParameterController(Responder * parentResponder, Interval * interval) :
FloatParameterController(parentResponder),
@@ -19,7 +16,7 @@ const char * IntervalParameterController::title() const {
return "Regler l'intervalle";
}
Graph::Interval * IntervalParameterController::interval() {
Interval * IntervalParameterController::interval() {
return m_interval;
}

View File

@@ -1,11 +1,11 @@
#ifndef GRAPH_INTERVAL_PARAM_CONTROLLER_H
#define GRAPH_INTERVAL_PARAM_CONTROLLER_H
#ifndef SHARED_INTERVAL_PARAM_CONTROLLER_H
#define SHARED_INTERVAL_PARAM_CONTROLLER_H
#include <escher.h>
#include "interval.h"
#include "../../shared/float_parameter_controller.h"
#include "float_parameter_controller.h"
namespace Graph {
namespace Shared {
class IntervalParameterController : public Shared::FloatParameterController {
public:

View File

@@ -1,9 +1,9 @@
#include "abscissa_parameter_controller.h"
#include "values_parameter_controller.h"
#include <assert.h>
namespace Graph {
namespace Shared {
AbscissaParameterController::AbscissaParameterController(Responder * parentResponder, IntervalParameterController * intervalParameterController) :
ValuesParameterController::ValuesParameterController(Responder * parentResponder, IntervalParameterController * intervalParameterController) :
ViewController(parentResponder),
m_deleteColumn(PointerTableCell((char*)"Effacer la colonne")),
m_copyColumn(PointerTableCellWithChevron((char*)"Copier la colonne dans une liste")),
@@ -14,20 +14,20 @@ AbscissaParameterController::AbscissaParameterController(Responder * parentRespo
{
}
const char * AbscissaParameterController::title() const {
const char * ValuesParameterController::title() const {
return "Colonne x";
}
View * AbscissaParameterController::view() {
View * ValuesParameterController::view() {
return &m_selectableTableView;
}
void AbscissaParameterController::didBecomeFirstResponder() {
void ValuesParameterController::didBecomeFirstResponder() {
m_selectableTableView.selectCellAtLocation(0, 0);
app()->setFirstResponder(&m_selectableTableView);
}
bool AbscissaParameterController::handleEvent(Ion::Events::Event event) {
bool ValuesParameterController::handleEvent(Ion::Events::Event event) {
if (event == Ion::Events::OK) {
switch (m_selectableTableView.selectedRow()) {
case 0:
@@ -56,22 +56,22 @@ bool AbscissaParameterController::handleEvent(Ion::Events::Event event) {
return false;
}
int AbscissaParameterController::numberOfRows() {
int ValuesParameterController::numberOfRows() {
return k_totalNumberOfCell;
};
HighlightCell * AbscissaParameterController::reusableCell(int index) {
HighlightCell * ValuesParameterController::reusableCell(int index) {
assert(index >= 0);
assert(index < k_totalNumberOfCell);
HighlightCell * cells[] = {&m_deleteColumn, &m_copyColumn, &m_setInterval};
return cells[index];
}
int AbscissaParameterController::reusableCellCount() {
int ValuesParameterController::reusableCellCount() {
return k_totalNumberOfCell;
}
KDCoordinate AbscissaParameterController::cellHeight() {
KDCoordinate ValuesParameterController::cellHeight() {
return Metric::ParameterCellHeight;
}

View File

@@ -1,13 +1,13 @@
#ifndef GRAPH_ABSCISSA_PARAM_CONTROLLER_H
#define GRAPH_ABSCISSA_PARAM_CONTROLLER_H
#ifndef SHARED_VALUES_PARAM_CONTROLLER_H
#define SHARED_VALUES_PARAM_CONTROLLER_H
#include <escher.h>
#include "interval_parameter_controller.h"
namespace Graph {
class AbscissaParameterController : public ViewController, public SimpleListViewDataSource {
namespace Shared {
class ValuesParameterController : public ViewController, public SimpleListViewDataSource {
public:
AbscissaParameterController(Responder * parentResponder, IntervalParameterController * intervalParameterController);
ValuesParameterController(Responder * parentResponder, IntervalParameterController * intervalParameterController);
View * view() override;
const char * title() const override;