Files
Upsilon/apps/float_parameter_controller.h
Émilie Feral f95e49929b [apps] Move float parameter controller from apps/graph to apps/ to be
used in apps/robability

Change-Id: I00ab38bd35d2b3ad77d9aee3072422b9bd36fe01
2016-12-08 15:21:52 +01:00

30 lines
998 B
C++

#ifndef APPS_FLOAT_PARAMETER_CONTROLLER_H
#define APPS_FLOAT_PARAMETER_CONTROLLER_H
#include <escher.h>
#include "expression_text_field_delegate.h"
/* This controller edits float parameter of any model (given through
* parameterAtIndex and setParameterAtIndex). */
class FloatParameterController : public ViewController, public SimpleListViewDataSource {
public:
FloatParameterController(Responder * parentResponder);
int activeCell();
void editParameter(const char * initialText = nullptr);
virtual ExpressionTextFieldDelegate * textFieldDelegate() = 0;
View * view() override;
bool handleEvent(Ion::Events::Event event) override;
void didBecomeFirstResponder() override;
KDCoordinate cellHeight() override;
void willDisplayCellForIndex(TableViewCell * cell, int index) override;
protected:
SelectableTableView m_selectableTableView;
private:
virtual float parameterAtIndex(int index) = 0;
virtual void setParameterAtIndex(int parameterIndex, float f) = 0;
};
#endif