diff --git a/VERSION b/VERSION index 6eac4a65cde9135c747b7d858a570e928a1f7b5d..8975db9a0503618f74bdeddba1ddf1f24119fb9c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -292 \ No newline at end of file +293 \ No newline at end of file diff --git a/lib/+artoa/+controller/+edit/+offsets/buttonCopyFloatOffsets.m b/lib/+artoa/+controller/+edit/+offsets/buttonCopyFloatOffsets.m new file mode 100644 index 0000000000000000000000000000000000000000..d90225c757a961b5af86c04eb583e28a164363ac --- /dev/null +++ b/lib/+artoa/+controller/+edit/+offsets/buttonCopyFloatOffsets.m @@ -0,0 +1,47 @@ +function [] = buttonCopyFloatOffsets(~, ~) +%UNTITLED Summary of this function goes here +% Detailed explanation goes here + +global artoaWorkspace artoaGui; + +%% Save Applied state +artoa.controller.edit.offsets.saveAppliedState(); + +%% Get selected index +index = artoaGui.editOffsets.comboboxFloatOffsetToApplied.Value; + +%% Copy selected offset columns to Applied columns +appliedOffsetColumn = 'AppliedOffset'; +appliedDriftColumn = 'AppliedDrift'; +appliedSoundspeedColumn = 'AppliedSoundspeed'; + +switch artoaGui.editOffsets.comboboxFloatOffsetToApplied.String{index} + case 'Measured' + offsetColumn = 'OffsetStart'; + driftColumn = 'Drift'; + soundspeedColumn = 'MeasuredSoundspeed'; + case 'Empirical' + offsetColumn = 'EmpiricalOffset'; + driftColumn = 'EmpiricalDrift'; + soundspeedColumn = 'EmpiricalSoundspeed'; + case 'Optimum' + offsetColumn = 'OptimumTotalOffset'; + driftColumn = 'OptimumTotalDrift'; + soundspeedColumn = 'OptimumSoundspeed'; +end + +artoaWorkspace.editOffsets.offsets{1, appliedOffsetColumn} = ... + artoaWorkspace.editOffsets.offsets{1, offsetColumn}; +artoaWorkspace.editOffsets.offsets{1, appliedDriftColumn} = ... + artoaWorkspace.editOffsets.offsets{1, driftColumn}; +artoaWorkspace.editOffsets.offsets{1, appliedSoundspeedColumn} = ... + artoaWorkspace.editOffsets.offsets{1, soundspeedColumn}; + +%% Update GUI +artoa.controller.edit.offsets.updateGui(); + +%% Recalculate +artoa.controller.edit.recalculateToaGpsAndPlot(); + +end + diff --git a/lib/+artoa/+controller/+edit/+offsets/buttonCopyOffsets.m b/lib/+artoa/+controller/+edit/+offsets/buttonCopyOffsets.m index d6fa8b829c1e5f7cfd514f413dbb6ab6864864b0..86937753a9901f037f227e82b42474a59093020d 100644 --- a/lib/+artoa/+controller/+edit/+offsets/buttonCopyOffsets.m +++ b/lib/+artoa/+controller/+edit/+offsets/buttonCopyOffsets.m @@ -8,34 +8,47 @@ global artoaWorkspace artoaGui; artoa.controller.edit.offsets.saveAppliedState(); %% Get selected index -index = artoaGui.editOffsets.comboboxOffsetToApplied.Value; +index = artoaGui.editOffsets.comboboxSoundsourcesToApplied.Value; %% Copy selected offset columns to Applied columns appliedOffsetColumn = 'AppliedOffset'; appliedDriftColumn = 'AppliedDrift'; +appliedSoundspeedColumn = 'AppliedSoundspeed'; -switch artoaGui.editOffsets.comboboxOffsetToApplied.String{index} +switch artoaGui.editOffsets.comboboxSoundsourcesToApplied.String{index} case 'Measured' offsetIndicesToCopy = true(size(artoaWorkspace.editOffsets.offsets{:, appliedOffsetColumn})); driftIndicesToCopy = true(size(artoaWorkspace.editOffsets.offsets{:, appliedDriftColumn})); + soundspeedIndicesToCopy = true(size(artoaWorkspace.editOffsets.offsets{:, appliedSoundspeedColumn})); offsetColumn = 'OffsetStart'; driftColumn = 'Drift'; + soundspeedColumn = 'MeasuredSoundspeed'; case 'Empirical' offsetIndicesToCopy = true(size(artoaWorkspace.editOffsets.offsets{:, appliedOffsetColumn})); driftIndicesToCopy = true(size(artoaWorkspace.editOffsets.offsets{:, appliedDriftColumn})); + soundspeedIndicesToCopy = true(size(artoaWorkspace.editOffsets.offsets{:, appliedSoundspeedColumn})); offsetColumn = 'EmpiricalOffset'; driftColumn = 'EmpiricalDrift'; + soundspeedColumn = 'EmpiricalSoundspeed'; case 'Optimum' offsetIndicesToCopy = isnan(artoaWorkspace.editOffsets.offsets{:, appliedOffsetColumn}); driftIndicesToCopy = isnan(artoaWorkspace.editOffsets.offsets{:, appliedDriftColumn}); + soundspeedIndicesToCopy = isnan(artoaWorkspace.editOffsets.offsets{:, appliedSoundspeedColumn}); offsetColumn = 'OptimumTotalOffset'; driftColumn = 'OptimumTotalDrift'; + soundspeedColumn = 'OptimumSoundspeed'; end +offsetIndicesToCopy(1) = false; +driftIndicesToCopy(1) = false; +soundspeedIndicesToCopy(1) = false; + artoaWorkspace.editOffsets.offsets{offsetIndicesToCopy, appliedOffsetColumn} = ... artoaWorkspace.editOffsets.offsets{offsetIndicesToCopy, offsetColumn}; artoaWorkspace.editOffsets.offsets{driftIndicesToCopy, appliedDriftColumn} = ... artoaWorkspace.editOffsets.offsets{driftIndicesToCopy, driftColumn}; +artoaWorkspace.editOffsets.offsets{soundspeedIndicesToCopy, appliedSoundspeedColumn} = ... + artoaWorkspace.editOffsets.offsets{soundspeedIndicesToCopy, soundspeedColumn}; %% Update GUI artoa.controller.edit.offsets.updateGui(); diff --git a/lib/+artoa/+controller/+edit/+offsets/buttonCopySoundspeed.m b/lib/+artoa/+controller/+edit/+offsets/buttonCopySoundspeed.m deleted file mode 100644 index beb934fbce11c4711b20083ecd6bd0833e624535..0000000000000000000000000000000000000000 --- a/lib/+artoa/+controller/+edit/+offsets/buttonCopySoundspeed.m +++ /dev/null @@ -1,25 +0,0 @@ -function [] = buttonCopySoundspeed(~, ~) -%BUTTONCOPYSOUNDSPEED Summary of this function goes here -% Detailed explanation goes here - -global artoaGui artoaWorkspace; - -%% Get selected index -index = artoaGui.editOffsets.comboboxSoundvelocityToApplied.Value; - -%% Soundspeed - -artoaWorkspace.editOffsets.offsets{:, 'AppliedSoundspeed'} = ... - artoaWorkspace.editOffsets.offsets{ ... - :, ... - [artoaGui.editOffsets.comboboxSoundvelocityToApplied.String{index} 'Soundspeed'] ... - }; - -%% Update GUI -artoa.controller.edit.offsets.updateGui(); - -%% Recalculate -artoa.controller.edit.recalculateToaGpsAndPlot(); - -end - diff --git a/lib/+artoa/+controller/+main/open.m b/lib/+artoa/+controller/+main/open.m index f4153c616dd2376159dc941f7b2685feab929255..09f1672079916d2ab4c02e92e1f7a088a0627a4e 100644 --- a/lib/+artoa/+controller/+main/open.m +++ b/lib/+artoa/+controller/+main/open.m @@ -59,8 +59,8 @@ callbacks.tableSoundspeedEdit = @artoa.controller.edit.offsets.tableSoundspeedEd callbacks.buttonCalculateOffsets = @artoa.controller.edit.offsets.buttonCalculateOffsets; callbacks.checkboxUseOffsets = @artoa.controller.edit.offsets.checkboxUseOffsets; callbacks.inputSoundspeed = @artoa.controller.edit.offsets.inputSoundspeed; -callbacks.buttonCopyOffsets = @artoa.controller.edit.offsets.buttonCopyOffsets; -callbacks.buttonCopySoundvelocity = @artoa.controller.edit.offsets.buttonCopySoundspeed; +callbacks.buttonCopyFloatOffsets = @artoa.controller.edit.offsets.buttonCopyFloatOffsets; +callbacks.buttonCopySoundsourcesOffsets = @artoa.controller.edit.offsets.buttonCopyOffsets; callbacks.buttonUndoLastCopy = @artoa.controller.edit.offsets.buttonUndoLastCopy; callbacks.buttonAppliedToNan = @artoa.controller.edit.offsets.buttonAppliedToNan; diff --git a/lib/+artoa/+gui/main.m b/lib/+artoa/+gui/main.m index 72a9b92facecb7ab71b3fc16982d3f1692e69ec5..1f06976db9509d961f3323b432a6811f873b0f6e 100644 --- a/lib/+artoa/+gui/main.m +++ b/lib/+artoa/+gui/main.m @@ -47,8 +47,8 @@ availableCallbacks = { ... 'tableSoundsourceOffsetsEdit', ... 'buttonCalculateOffsets', ... 'checkboxUseOffsets', ... - 'buttonCopyOffsets', ... - 'buttonCopySoundvelocity', ... + 'buttonCopyFloatOffsets', ... + 'buttonCopySoundsourcesOffsets', ... 'buttonAppliedToNan', ... 'buttonUndoLastCopy' ... }; @@ -613,16 +613,16 @@ artoaGui.editOffsets.checkboxUseOffsets = uicontrol( ... 'CallBack', pCallbacks.checkboxUseOffsets ... ); -artoaGui.editOffsets.textOffsetToApplied = uicontrol( ... +artoaGui.editOffsets.textFloatOffsetToApplied = uicontrol( ... 'Parent', artoaGui.editOffsets.frameOptimumOffsets, ... - 'String', 'Copy', ... + 'String', 'Float', ... 'Style', 'text', ... 'FontSize', 8, ... 'Units', 'normalized', ... 'Position', [(1.5*left + 4*fullwidth/8) .725 fullwidth/8 .2] ... ); -artoaGui.editOffsets.comboboxOffsetToApplied = uicontrol( ... +artoaGui.editOffsets.comboboxFloatOffsetToApplied = uicontrol( ... 'Parent', artoaGui.editOffsets.frameOptimumOffsets, ... 'String', pOffsetsToCopy, ... 'Style', 'popupmenu', ... @@ -631,27 +631,27 @@ artoaGui.editOffsets.comboboxOffsetToApplied = uicontrol( ... 'Position', [(1.5*left + 5*fullwidth/8) .725 2*fullwidth/8 .2] ... ); -artoaGui.editOffsets.buttonCopyOffsets = uicontrol( ... +artoaGui.editOffsets.buttonCopyFloatOffsets = uicontrol( ... 'Parent', artoaGui.editOffsets.frameOptimumOffsets, ... 'String', 'to Applied', ... 'Style', 'PushButton', ... 'FontSize', 8, ... 'Units', 'normalized', ... 'Position', [(1.5*left + 7*fullwidth/8) .725 fullwidth/8 .2], ... - 'CallBack', pCallbacks.buttonCopyOffsets ... + 'CallBack', pCallbacks.buttonCopyFloatOffsets ... ); -artoaGui.editOffsets.textSoundvelocityToApplied = uicontrol( ... +artoaGui.editOffsets.textSoundsourcesToApplied = uicontrol( ... 'Parent', artoaGui.editOffsets.frameOptimumOffsets, ... - 'String', 'Soundvelocity', ... + 'String', 'Soundsources', ... 'Style', 'text', ... 'FontSize', 8, ... 'Units', 'normalized', ... 'Position', [(1.5*left + 4*fullwidth/8) .5 fullwidth/8 .2] ... ); -artoaGui.editOffsets.comboboxSoundvelocityToApplied = uicontrol( ... +artoaGui.editOffsets.comboboxSoundsourcesToApplied = uicontrol( ... 'Parent', artoaGui.editOffsets.frameOptimumOffsets, ... 'String', pSoundvelocityToCopy, ... 'Style', 'popupmenu', ... @@ -660,14 +660,14 @@ artoaGui.editOffsets.comboboxSoundvelocityToApplied = uicontrol( ... 'Position', [(1.5*left + 5*fullwidth/8) .5 2*fullwidth/8 .2] ... ); -artoaGui.editOffsets.buttonCopySoundvelocity = uicontrol( ... +artoaGui.editOffsets.buttonCopySoundsourcesOffsets = uicontrol( ... 'Parent', artoaGui.editOffsets.frameOptimumOffsets, ... 'String', 'to Applied', ... 'Style', 'PushButton', ... 'FontSize', 8, ... 'Units', 'normalized', ... 'Position', [(1.5*left + 7*fullwidth/8) .5 fullwidth/8 .2], ... - 'CallBack', pCallbacks.buttonCopySoundvelocity ... + 'CallBack', pCallbacks.buttonCopySoundsourcesOffsets ... ); artoaGui.editOffsets.buttonAppliedToNan = uicontrol( ...