From 0d4aa493317f3796984d4d0253144cfd80de9882 Mon Sep 17 00:00:00 2001 From: Lewin Probst <info@emirror.de> Date: Sat, 17 Aug 2019 11:24:48 +0200 Subject: [PATCH] Added generic function to clear the selection in an edit window. --- .../applyStatusToAllPointsExceptDeleted.m | 7 ++++--- .../+pressure/applyStatusToSelectedPoints.m | 6 ++---- .../applyStatusToAllPointsExceptDeleted.m | 6 +++--- .../applyStatusToSelectedPoints.m | 6 ++---- .../applyStatusToSelectedPoints.m | 9 +++------ lib/+artoa/+controller/+edit/clearSelection.m | 20 +++++++++++++++++++ 6 files changed, 34 insertions(+), 20 deletions(-) create mode 100644 lib/+artoa/+controller/+edit/clearSelection.m diff --git a/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m b/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m index 5708a0c..c200a4b 100644 --- a/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m +++ b/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m @@ -6,7 +6,7 @@ function [] = applyStatusToAllPointsExceptDeleted(pStatus) % pStatusCode (int) The status code that will be applied to the % selected data. -global artoaWorkspace; +global artoaWorkspace artoaGui; %% Set selection artoaWorkspace.editPressure.selectedPoints = (artoaWorkspace.statusPressure ~= 2); @@ -17,8 +17,9 @@ artoaWorkspace.statusPressure(artoaWorkspace.editPressure.selectedPoints) = pSta %% Update gui artoa.controller.edit.updateAvailablePlots(); -%% Remove the selected points from workspace -artoaWorkspace.editPressure = rmfield(artoaWorkspace.editPressure, 'selectedPoints'); +[artoaGui.editPressure, artoaWorkspace.editPressure] = ... + artoa.controller.edit.clearSelection(artoaGui.editPressure, artoaWorkspace.editPressure); + end diff --git a/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m b/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m index 7949351..ef5986d 100644 --- a/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m +++ b/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m @@ -25,11 +25,9 @@ artoaWorkspace.statusPressure(artoaWorkspace.editPressure.selectedPoints) = pSta %% Update gui artoa.controller.edit.updateAvailablePlots(); -delete(artoaGui.editPressure.selectedPolygon); -artoaGui.editPressure = rmfield(artoaGui.editPressure, 'selectedPolygon'); -%% Remove the polygon field from workspace -artoaWorkspace.editPressure = rmfield(artoaWorkspace.editPressure, 'selectedPoints'); +[artoaGui.editPressure, artoaWorkspace.editPressure] = ... + artoa.controller.edit.clearSelection(artoaGui.editPressure, artoaWorkspace.editPressure); end diff --git a/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m b/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m index ddf702f..557a995 100644 --- a/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m +++ b/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m @@ -6,7 +6,7 @@ function [] = applyStatusToAllPointsExceptDeleted(pStatus) % pStatusCode (int) The status code that will be applied to the % selected data. -global artoaWorkspace; +global artoaWorkspace artoaGui; %% Set selection artoaWorkspace.editTemperature.selectedPoints = (artoaWorkspace.statusTemperature ~= 2); @@ -17,8 +17,8 @@ artoaWorkspace.statusTemperature(artoaWorkspace.editTemperature.selectedPoints) %% Update gui artoa.controller.edit.updateAvailablePlots(); -%% Remove the selected points from workspace -artoaWorkspace.editTemperature = rmfield(artoaWorkspace.editTemperature, 'selectedPoints'); +[artoaGui.editTemperature, artoaWorkspace.editTemperature] = ... + artoa.controller.edit.clearSelection(artoaGui.editTemperature, artoaWorkspace.editTemperature); end diff --git a/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m b/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m index ce21de6..e549ebe 100644 --- a/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m +++ b/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m @@ -25,11 +25,9 @@ artoaWorkspace.statusTemperature(artoaWorkspace.editTemperature.selectedPoints) %% Update gui artoa.controller.edit.updateAvailablePlots(); -delete(artoaGui.editTemperature.selectedPolygon); -artoaGui.editTemperature = rmfield(artoaGui.editTemperature, 'selectedPolygon'); -%% Remove the polygon field from workspace -artoaWorkspace.editTemperature = rmfield(artoaWorkspace.editTemperature, 'selectedPoints'); +[artoaGui.editTemperature, artoaWorkspace.editTemperature] = ... + artoa.controller.edit.clearSelection(artoaGui.editTemperature, artoaWorkspace.editTemperature); end diff --git a/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m b/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m index 5d8a560..b1c6d44 100644 --- a/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m +++ b/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m @@ -24,12 +24,9 @@ end artoaWorkspace.toaData.status(artoaWorkspace.editTimeOfArrival.selectedPoints) = pStatusCode; %% Update gui -artoa.controller.edit.timeOfArrival.plot(); -delete(artoaGui.editTimeOfArrival.selectedPolygon); -artoaGui.editTimeOfArrival = rmfield(artoaGui.editTimeOfArrival, 'selectedPolygon'); - -%% Remove the polygon field from workspace -artoaWorkspace.editTimeOfArrival = rmfield(artoaWorkspace.editTimeOfArrival, 'selectedPoints'); +artoa.controller.edit.updateAvailablePlots(); +[artoaGui.editTimeOfArrival, artoaWorkspace.editTimeOfArrival] = ... + artoa.controller.edit.clearSelection(artoaGui.editTimeOfArrival, artoaWorkspace.editTimeOfArrival); end diff --git a/lib/+artoa/+controller/+edit/clearSelection.m b/lib/+artoa/+controller/+edit/clearSelection.m new file mode 100644 index 0000000..721e7ea --- /dev/null +++ b/lib/+artoa/+controller/+edit/clearSelection.m @@ -0,0 +1,20 @@ +function [guiHandle, workspaceStruct] = clearSelection(pGuiHandle, pWorkspaceStruct) +%CLEARSELECTION If the fields in the given parameters are available, they will be deleted. +% + +guiHandle = pGuiHandle; +workspaceStruct = pWorkspaceStruct; + +%% Remove polygon from gui +if isfield(guiHandle, 'selectedPolygon') + delete(guiHandle.selectedPolygon); + guiHandle = rmfield(guiHandle, 'selectedPolygon'); +end + +%% Remove the polygon field from workspace +if (isfield(workspaceStruct, 'selectedPoints')) + workspaceStruct = rmfield(workspaceStruct, 'selectedPoints'); +end + +end + -- GitLab