diff --git a/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m b/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m index 5708a0ce93d361b0e78eb732f514d5e2f11819bf..c200a4bd33b1b4c76b0f6c9cba4bd95419c59915 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 7949351b9d5c3b97ce35edb7609e6f51d89d1e16..ef5986df633a8b2a2e26a59e9eb2b5b2e2c9db02 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 ddf702fb0f1698e9f734b412eb893fa27a713cb1..557a995ea3236e3fb4f79ae03be6b4efe7878462 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 ce21de6f0f1cfce355071241a684b80cd8863e49..e549ebe6f70bd669f0e215b3738413eca910eb8d 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 5d8a560dfb6156c499c6339e9937a2536a56cfb9..b1c6d443c857d434c2e35addd6c12c1e3cd0f520 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 0000000000000000000000000000000000000000..721e7ea322a6f0eeac46d2080e6575e7309a498c --- /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 +