[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).
This commit is contained in:
Émilie Feral
2019-09-02 11:48:43 +02:00
parent 77304040ad
commit 6de497c2ed
18 changed files with 71 additions and 45 deletions

View File

@@ -10,6 +10,7 @@ namespace Shared {
/* This controller edits float parameter of any model (given through
* parameterAtIndex and setParameterAtIndex). */
template<typename T>
class FloatParameterController : public ViewController, public ListViewDataSource, public SelectableTableViewDataSource, public ParameterTextFieldDelegate {
public:
FloatParameterController(Responder * parentResponder);
@@ -31,7 +32,7 @@ public:
protected:
int activeCell();
StackViewController * stackController();
virtual double parameterAtIndex(int index) = 0;
virtual T parameterAtIndex(int index) = 0;
SelectableTableView m_selectableTableView;
ButtonWithSeparator m_okButton;
private:
@@ -39,7 +40,7 @@ private:
virtual void buttonAction();
virtual int reusableParameterCellCount(int type) = 0;
virtual HighlightCell * reusableParameterCell(int index, int type) = 0;
virtual bool setParameterAtIndex(int parameterIndex, double f) = 0;
virtual bool setParameterAtIndex(int parameterIndex, T f) = 0;
};
}