From 0133a3829a217e52d009d399bd76395dfa6c9774 Mon Sep 17 00:00:00 2001 From: Lewin Probst <info@emirror.de> Date: Mon, 6 Jul 2020 18:01:45 +0200 Subject: [PATCH] The two comboboxes for copying are now set to float and soundsources. --- VERSION | 2 +- .../+edit/+offsets/buttonCopyFloatOffsets.m | 47 +++++++++++++++++++ .../+edit/+offsets/buttonCopyOffsets.m | 17 ++++++- .../+edit/+offsets/buttonCopySoundspeed.m | 25 ---------- lib/+artoa/+controller/+main/open.m | 4 +- lib/+artoa/+gui/main.m | 24 +++++----- 6 files changed, 77 insertions(+), 42 deletions(-) create mode 100644 lib/+artoa/+controller/+edit/+offsets/buttonCopyFloatOffsets.m delete mode 100644 lib/+artoa/+controller/+edit/+offsets/buttonCopySoundspeed.m diff --git a/VERSION b/VERSION index 6eac4a6..8975db9 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 0000000..d90225c --- /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 d6fa8b8..8693775 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 beb934f..0000000 --- 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 f4153c6..09f1672 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 72a9b92..1f06976 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( ... -- GitLab