diff --git a/apps/graph/graph/graph_controller.cpp b/apps/graph/graph/graph_controller.cpp index 049528708..b9f570db7 100644 --- a/apps/graph/graph/graph_controller.cpp +++ b/apps/graph/graph/graph_controller.cpp @@ -137,13 +137,11 @@ bool GraphController::handleEvent(Ion::Events::Event event) { } else { if (event == Ion::Events::Plus) { m_graphWindow.zoom(1.0f/3.0f); - m_graphWindow.initCursorPosition(); m_view.reload(); return true; } if (event == Ion::Events::Minus) { m_graphWindow.zoom(3.0f/4.0f); - m_graphWindow.initCursorPosition(); m_view.reload(); return true; } @@ -164,7 +162,6 @@ bool GraphController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Down) { return false; } - m_graphWindow.initCursorPosition(); m_view.selectMainView(false); headerViewController()->setSelectedButton(0); } diff --git a/apps/graph/graph/graph_window.cpp b/apps/graph/graph/graph_window.cpp index 3b02a0063..4d48dceb9 100644 --- a/apps/graph/graph/graph_window.cpp +++ b/apps/graph/graph/graph_window.cpp @@ -54,22 +54,26 @@ void GraphWindow::setXMin(float xMin) { m_xMin = xMin; computeYaxes(); m_xGridUnit = computeGridUnit(Axis::X, m_xMin, m_xMax); + initCursorPosition(); } void GraphWindow::setXMax(float xMax) { m_xMax = xMax; computeYaxes(); m_xGridUnit = computeGridUnit(Axis::X, m_xMin, m_xMax); + initCursorPosition(); } void GraphWindow::setYMin(float yMin) { m_yMin = yMin; m_yGridUnit = computeGridUnit(Axis::Y, m_yMin, m_yMax); + initCursorPosition(); } void GraphWindow::setYMax(float yMax) { m_yMax = yMax; m_yGridUnit = computeGridUnit(Axis::Y, m_yMin, m_yMax); + initCursorPosition(); } void GraphWindow::setYAuto(bool yAuto) { @@ -130,6 +134,7 @@ void GraphWindow::zoom(float ratio) { m_yMin = (yMax+yMin)/2.0f - ratio*fabsf(yMax-yMin); m_yMax = (yMax+yMin)/2.0f + ratio*fabsf(yMax-yMin); m_yGridUnit = computeGridUnit(Axis::Y, m_yMin, m_yMax); + initCursorPosition(); } void GraphWindow::translateWindow(Direction direction) { @@ -156,6 +161,7 @@ void GraphWindow::translateWindow(Direction direction) { m_xGridUnit = computeGridUnit(Axis::X, m_xMin, m_xMax); computeYaxes(); } + initCursorPosition(); } void GraphWindow::setTrigonometric() { @@ -166,6 +172,7 @@ void GraphWindow::setTrigonometric() { m_yMin = -1.6f; m_yMax = 1.6f; m_yGridUnit = computeGridUnit(Axis::Y, m_yMin, m_yMax); + initCursorPosition(); } void GraphWindow::roundAbscissa() { @@ -175,6 +182,7 @@ void GraphWindow::roundAbscissa() { m_xMax = roundf((xMin+xMax)/2) + 159.0f; m_xGridUnit = computeGridUnit(Axis::X, m_xMin, m_xMax); computeYaxes(); + initCursorPosition(); } void GraphWindow::normalize() { @@ -189,6 +197,7 @@ void GraphWindow::normalize() { m_yMin = (yMin+yMax)/2 - 3.1f; m_yMax = (yMin+yMax)/2 + 3.1f; m_yGridUnit = computeGridUnit(Axis::Y, m_yMin, m_yMax); + initCursorPosition(); } void GraphWindow::setDefault() { @@ -196,6 +205,7 @@ void GraphWindow::setDefault() { m_xMax = 10.0f; m_xGridUnit = computeGridUnit(Axis::X, m_xMin, m_xMax); setYAuto(true); + initCursorPosition(); } float GraphWindow::derivativeAtCursorPosition() { diff --git a/apps/graph/graph/initialisation_parameter_controller.cpp b/apps/graph/graph/initialisation_parameter_controller.cpp index ce4d2cef5..6539a52be 100644 --- a/apps/graph/graph/initialisation_parameter_controller.cpp +++ b/apps/graph/graph/initialisation_parameter_controller.cpp @@ -53,7 +53,6 @@ bool InitialisationParameterController::handleEvent(Ion::Events::Event event) { default: return false; } - m_graphWindow->initCursorPosition(); StackViewController * stack = (StackViewController *)parentResponder(); stack->pop(); return true; diff --git a/apps/graph/graph/window_parameter_controller.cpp b/apps/graph/graph/window_parameter_controller.cpp index 65537e454..ed2e0341e 100644 --- a/apps/graph/graph/window_parameter_controller.cpp +++ b/apps/graph/graph/window_parameter_controller.cpp @@ -65,7 +65,6 @@ void WindowParameterController::tableViewDidChangeSelection(SelectableTableView } bool WindowParameterController::handleEvent(Ion::Events::Event event) { - m_graphWindow->initCursorPosition(); if (activeCell() == 2) { if (event == Ion::Events::OK) { m_graphWindow->setYAuto(!m_graphWindow->yAuto()); diff --git a/apps/graph/graph/zoom_parameter_controller.cpp b/apps/graph/graph/zoom_parameter_controller.cpp index 68306a038..3a91f001e 100644 --- a/apps/graph/graph/zoom_parameter_controller.cpp +++ b/apps/graph/graph/zoom_parameter_controller.cpp @@ -26,37 +26,31 @@ View * ZoomParameterController::view() { bool ZoomParameterController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Plus) { m_graphWindow->zoom(1.0f/3.0f); - m_graphWindow->initCursorPosition(); m_contentView.graphView()->reload(); return true; } if (event == Ion::Events::Minus) { m_graphWindow->zoom(3.0f/4.0f); - m_graphWindow->initCursorPosition(); m_contentView.graphView()->reload(); return true; } if (event == Ion::Events::Up) { m_graphWindow->translateWindow(GraphWindow::Direction::Up); - m_graphWindow->initCursorPosition(); m_contentView.graphView()->reload(); return true; } if (event == Ion::Events::Down) { m_graphWindow->translateWindow(GraphWindow::Direction::Down); - m_graphWindow->initCursorPosition(); m_contentView.graphView()->reload(); return true; } if (event == Ion::Events::Left) { m_graphWindow->translateWindow(GraphWindow::Direction::Left); - m_graphWindow->initCursorPosition(); m_contentView.graphView()->reload(); return true; } if (event == Ion::Events::Right) { m_graphWindow->translateWindow(GraphWindow::Direction::Right); - m_graphWindow->initCursorPosition(); m_contentView.graphView()->reload(); return true; }