Files
imdd_silas/Functions/Lab_helper/waitUntilClick.m
2025-12-18 09:56:52 +01:00

51 lines
1.2 KiB
Matlab

function waitUntilClick(options)
% use like this to stop any computation and wait for user to press ENTER or
% Continue button. I used this in the lab to wait until smth settled or I
% set a device to a certain operating point...
% USAGE:
% waitUntilClick;
% OPTIONAL: provide input text that is prompted :-)
% usrcmd = sprintf('Laser to %d dBm',p);
% waitUntilClick('Text',usrcmd);
arguments
options.Text string = "Click ""Continue"" to proceed"
end
% Create the UI figure
fig = uifigure('Name', 'Pause Execution', ...
'Position', [100 100 300 150], ...
'KeyPressFcn', @(src,event) keyHandler(event));
% Create a label with custom text
uilabel(fig, ...
'Position', [30 70 240 60], ...
'Text', options.Text, ...
'FontSize', 14, ...
'HorizontalAlignment', 'center', ...
'WordWrap','on');
% Create the "Continue" button
uibutton(fig, 'push', ...
'Text', 'Continue', ...
'Position', [100 20 100 40], ...
'ButtonPushedFcn', @(src, event) closeWindow());
function closeWindow()
delete(fig);
end
function keyHandler(event)
if strcmp(event.Key,'return') || strcmp(event.Key,'enter')
closeWindow();
end
end
% Wait until the figure is closed
waitfor(fig);
end