Files
Upsilon/apps/shared/go_to_parameter_controller.cpp
Émilie Feral 6de497c2ed [apps/shared] Templatize FloatParameterController to handle float/double
parameters.

Fix bug: when entering "e^234" as a parameter of a model keeping floats,
the FloatParameterController would accept the number (because e^234 is
defined in double) and store an undefined value in the model (because
e^234 is undefined in float).
2019-09-02 16:55:39 +02:00

42 lines
1.1 KiB
C++

#include "go_to_parameter_controller.h"
#include <assert.h>
namespace Shared {
GoToParameterController::GoToParameterController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, InteractiveCurveViewRange * graphRange, CurveViewCursor * cursor, I18n::Message symbol) :
FloatParameterController<double>(parentResponder),
m_cursor(cursor),
m_graphRange(graphRange),
m_abscisseCell(&m_selectableTableView, inputEventHandlerDelegate, this, symbol)
{
}
int GoToParameterController::numberOfRows() {
return 2;
}
HighlightCell * GoToParameterController::reusableParameterCell(int index, int type) {
assert(index == 0);
return &m_abscisseCell;
}
int GoToParameterController::reusableParameterCellCount(int type) {
return 1;
}
bool GoToParameterController::handleEvent(Ion::Events::Event event) {
if (event == Ion::Events::Left) {
stackController()->pop();
return true;
}
return false;
}
void GoToParameterController::buttonAction() {
StackViewController * stack = (StackViewController *)parentResponder();
stack->pop();
stack->pop();
}
}