#ifndef GRAPH_VALUES_CONTROLLER_H #define GRAPH_VALUES_CONTROLLER_H #include "../continuous_function_store.h" #include "../../shared/buffer_function_title_cell.h" #include "../../shared/hideable_even_odd_buffer_text_cell.h" #include "../../shared/values_controller.h" #include "../../shared/interval_parameter_controller.h" #include "../../shared/store_cell.h" #include "abscissa_title_cell.h" #include "interval_parameter_selector_controller.h" #include "derivative_parameter_controller.h" #include "function_parameter_controller.h" namespace Graph { class ValuesController : public Shared::ValuesController, public SelectableTableViewDelegate { public: ValuesController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, ButtonRowController * header); // TableViewDataSource KDCoordinate columnWidth(int i) override; KDCoordinate cumulatedWidthFromIndex(int i) override; int indexFromCumulatedWidth(KDCoordinate offsetX) override; void willDisplayCellAtLocation(HighlightCell * cell, int i, int j) override; int typeAtLocation(int i, int j) override; // SelectableTableViewDelegate void tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY, bool withinTemporarySelection = false) override; // ButtonRowDelegate Button * buttonAtIndex(int index, ButtonRowController::Position position) const override { return const_cast