[apps/graph/values] Use selectable table view in derivatie parameter

controller

Change-Id: Idafdf76d00e610b17bf26e9ac9442be245be6ffb
This commit is contained in:
Émilie Feral
2016-10-25 15:52:05 +02:00
parent 1d4b7b9ba5
commit b9eb9eb432
2 changed files with 6 additions and 29 deletions

View File

@@ -8,9 +8,8 @@ DerivativeParameterController::DerivativeParameterController(Responder * parentR
m_pageTitle("Colonne f'(x)"),
m_hideColumn(ListViewCell((char*)"Masquer la colonne de la derivee")),
m_copyColumn(ListViewCell((char*)"Copier la colonne dans une liste")),
m_tableView(TableView(this,Metric::TopMargin, Metric::RightMargin,
m_selectableTableView(SelectableTableView(this, this, Metric::TopMargin, Metric::RightMargin,
Metric::BottomMargin, Metric::LeftMargin)),
m_activeCell(0),
m_function(nullptr)
{
}
@@ -20,7 +19,7 @@ const char * DerivativeParameterController::title() const {
}
View * DerivativeParameterController::view() {
return &m_tableView;
return &m_selectableTableView;
}
void DerivativeParameterController::setFunction(Function * function) {
@@ -34,31 +33,12 @@ void DerivativeParameterController::setFunction(Function * function) {
}
void DerivativeParameterController::didBecomeFirstResponder() {
m_tableView.reloadData();
setActiveCell(m_activeCell);
}
void DerivativeParameterController::setActiveCell(int index) {
if (index < 0 || index >= k_totalNumberOfCell) {
return;
}
ListViewCell * previousCell = (ListViewCell *)(m_tableView.cellAtLocation(0, m_activeCell));
previousCell->setHighlighted(false);
m_activeCell = index;
m_tableView.scrollToCell(0, index);
ListViewCell * cell = (ListViewCell *)(m_tableView.cellAtLocation(0, index));
cell->setHighlighted(true);
m_selectableTableView.setSelectedCellAtLocation(0, 0);
app()->setFirstResponder(&m_selectableTableView);
}
bool DerivativeParameterController::handleEvent(Ion::Events::Event event) {
switch (event) {
case Ion::Events::Event::DOWN_ARROW:
setActiveCell(m_activeCell+1);
return true;
case Ion::Events::Event::UP_ARROW:
setActiveCell(m_activeCell-1);
return true;
case Ion::Events::Event::ENTER:
return handleEnter();
default:
@@ -67,7 +47,7 @@ bool DerivativeParameterController::handleEvent(Ion::Events::Event event) {
}
bool DerivativeParameterController::handleEnter() {
switch (m_activeCell) {
switch (m_selectableTableView.selectedRow()) {
case 0:
{
m_function->setDisplayDerivative(false);