diff --git a/apps/regression/graph_controller.h b/apps/regression/graph_controller.h index 49bc1076e..48a162873 100644 --- a/apps/regression/graph_controller.h +++ b/apps/regression/graph_controller.h @@ -44,6 +44,7 @@ private: void initCursorParameters() override; uint32_t modelVersion() override; uint32_t rangeVersion() override; + int selectedCurveIndex() const override { return *m_selectedSeriesIndex; } bool closestCurveIndexIsSuitable(int newIndex, int currentIndex) const override; double yValue(int curveIndex, double x, Poincare::Context * context) const override; bool suitableYValue(double y) const override; diff --git a/apps/shared/function_graph_controller.h b/apps/shared/function_graph_controller.h index bf43ca2df..ac7114ff2 100644 --- a/apps/shared/function_graph_controller.h +++ b/apps/shared/function_graph_controller.h @@ -40,6 +40,7 @@ private: CurveView * curveView() override; uint32_t modelVersion() override; uint32_t rangeVersion() override; + int selectedCurveIndex() const override { return *m_indexFunctionSelectedByCursor; } bool closestCurveIndexIsSuitable(int newIndex, int currentIndex) const override; double yValue(int curveIndex, double x, Poincare::Context * context) const override; int numberOfCurves() const override; diff --git a/apps/shared/interactive_curve_view_controller.h b/apps/shared/interactive_curve_view_controller.h index 6ff234718..08a2e34ad 100644 --- a/apps/shared/interactive_curve_view_controller.h +++ b/apps/shared/interactive_curve_view_controller.h @@ -40,8 +40,9 @@ protected: // Closest vertical curve helper int closestCurveIndexVertically(bool goingUp, int currentSelectedCurve, Poincare::Context * context) const; - virtual bool closestCurveIndexIsSuitable(int newIndex, int currentIndex) const { assert(false); return false; } - virtual double yValue(int curveIndex, double x, Poincare::Context * context) const { assert(false); return 0; } + virtual bool closestCurveIndexIsSuitable(int newIndex, int currentIndex) const = 0; + virtual int selectedCurveIndex() const = 0; + virtual double yValue(int curveIndex, double x, Poincare::Context * context) const = 0; virtual bool suitableYValue(double y) const { return true; } virtual int numberOfCurves() const = 0;