No products are associated with this question.
uiwait(FIG_handle) blocks execution until either UIRESUME is called or the figure FIG is destroyed (closed). uiwait with no input arguments is the same as uiwait(gcf). In this example, a figure is created along with a pushbutton. After the figure is created, uiwait is called until you push the button. When you push the button, the callback calls uiresume.
f = figure('pos',[30 800 250 150]); h = uicontrol('Position', [20 20 200 40], 'String', 'Continue', ... 'Callback', 'uiresume(gcbf);close(gcbf)'); disp('This will print immediately'); uiwait(gcf); disp('This will print after you click Continue');
uiwait() will pause execution of your program until you do something, such as close or interact with some dialog box. For example if you do
msgbox('This will not stop. It will keep running code.');
Then it will pop up a message box and continue on with the subsequent code. It won't wait for the user to click the OK button. But if you wrap it in a uiwait(), it will wait for the user to click OK:
uiwait(warndlg('You have an anomalous situation here. Click OK to continue')); uiwait(msgbox('I will wait for you to click OK.'));
%uiwait blocks the execution of the program until a current figure is closed
t=0:0.1:2*pi;y=sin(t); plot(t,y) uiwait(gcf)% %at this point the program will wait you close the curent figure and the continue y=cos(t); plot(t,y)
% for more details look at matlab help http://www.mathworks.com/help/techdoc/ref/uiwait.html