Files
Upsilon/apps/probability/parameters_controller.h
Émilie Feral 4086a5e74a [apps/probability] Make parameters controller inherit from float
parameter controller

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

52 lines
1.7 KiB
C++

#ifndef PROBABILITY_PARAMETERS_CONTROLLER_H
#define PROBABILITY_PARAMETERS_CONTROLLER_H
#include <escher.h>
#include "../float_parameter_controller.h"
#include "law.h"
namespace Probability {
class ParametersController : public FloatParameterController {
public:
ParametersController(Responder * parentResponder, Law * law);
ExpressionTextFieldDelegate * textFieldDelegate() override;
View * view() override;
const char * title() const override;
bool handleEvent(Ion::Events::Event event) override;
void didBecomeFirstResponder() override;
int numberOfRows() override;
void willDisplayCellForIndex(TableViewCell * cell, int index) override;
TableViewCell * reusableCell(int index) override;
int reusableCellCount() override;
private:
float parameterAtIndex(int index) override;
void setParameterAtIndex(int parameterIndex, float f) override;
class ContentView : public View {
public:
ContentView(Responder * parentResponder, SelectableTableView * selectableTableView);
Button * button();
PointerTextView * parameterDefinitionAtIndex(int index);
void drawRect(KDContext * ctx, KDRect rect) const override;
void layoutSubviews() override;
private:
constexpr static KDCoordinate k_buttonHeight = 40;
constexpr static KDCoordinate k_textHeight = 30;
int numberOfSubviews() const override;
View * subviewAtIndex(int index) override;
Button m_nextButton;
PointerTextView m_firstParameterDefinition;
PointerTextView m_secondParameterDefinition;
SelectableTableView * m_selectableTableView;
};
EditableTextMenuListCell m_menuListCell[2];
ContentView m_contentView;
Law * m_law;
bool m_buttonSelected;
};
}
#endif