Files
Upsilon/apps/graph/values/function_parameter_controller.h
2019-04-12 15:16:52 +02:00

37 lines
1.1 KiB
C++

#ifndef GRAPH_FUNCTION_PARAM_CONTROLLER_H
#define GRAPH_FUNCTION_PARAM_CONTROLLER_H
#include "../../shared/expiring_pointer.h"
#include "../../shared/cartesian_function.h"
#include "../../shared/values_function_parameter_controller.h"
namespace Graph {
class ValuesController;
class FunctionParameterController : public Shared::ValuesFunctionParameterController {
public:
FunctionParameterController(ValuesController * valuesController);
bool handleEvent(Ion::Events::Event event) override;
int numberOfRows() override;
HighlightCell * reusableCell(int index) override;
int reusableCellCount() override;
void willDisplayCellForIndex(HighlightCell * cell, int index) override;
void viewWillAppear() override;
private:
Shared::ExpiringPointer<Shared::CartesianFunction> function();
#if COPY_COLUMN
constexpr static int k_totalNumberOfCell = 2;
#else
constexpr static int k_totalNumberOfCell = 1;
#endif
MessageTableCellWithSwitch m_displayDerivativeColumn;
ValuesController * m_valuesController;
// Index of the column corresponding to the function in the values controller
int m_selectedFunctionColumn;
};
}
#endif