MCPcopy Create free account
hub / github.com/KDE/labplot / cartesianPlotMousePressZoomSelectionMode

Method cartesianPlotMousePressZoomSelectionMode

src/backend/worksheet/Worksheet.cpp:858–882  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

856}
857
858void Worksheet::cartesianPlotMousePressZoomSelectionMode(QPointF logicPos) {
859 auto senderPlot = static_cast<CartesianPlot*>(QObject::sender());
860 auto mouseMode = senderPlot->mouseMode();
861 auto actionMode = cartesianPlotActionMode();
862 if (actionMode == CartesianPlotActionMode::ApplyActionToAll) {
863 const auto& plots = children<CartesianPlot>(AbstractAspect::ChildIndexFlag::Recursive | AbstractAspect::ChildIndexFlag::IncludeHidden);
864 for (auto* plot : plots)
865 plot->mousePressZoomSelectionMode(logicPos, -1);
866 } else if ((actionMode == CartesianPlotActionMode::ApplyActionToAllX && mouseMode != CartesianPlot::MouseMode::ZoomYSelection)
867 || (actionMode == CartesianPlotActionMode::ApplyActionToAllY && mouseMode != CartesianPlot::MouseMode::ZoomXSelection)) {
868 const auto& plots = children<CartesianPlot>(AbstractAspect::ChildIndexFlag::Recursive | AbstractAspect::ChildIndexFlag::IncludeHidden);
869 for (auto* plot : plots) {
870 if (plot != senderPlot) {
871 if (actionMode == CartesianPlotActionMode::ApplyActionToAllX)
872 plot->setMouseMode(CartesianPlot::MouseMode::ZoomXSelection);
873 else if (actionMode == CartesianPlotActionMode::ApplyActionToAllY)
874 plot->setMouseMode(CartesianPlot::MouseMode::ZoomYSelection);
875 }
876 plot->mousePressZoomSelectionMode(logicPos, -1);
877 }
878 } else {
879 int index = CartesianPlot::cSystemIndex(m_view->selectedElement());
880 senderPlot->mousePressZoomSelectionMode(logicPos, index);
881 }
882}
883
884void Worksheet::cartesianPlotMouseReleaseZoomSelectionMode() {
885 auto senderPlot = static_cast<CartesianPlot*>(QObject::sender());

Callers

nothing calls this directly

Calls 4

mouseModeMethod · 0.80
setMouseModeMethod · 0.80
selectedElementMethod · 0.80

Tested by

no test coverage detected