Use the same pushbutton in a GUI as Start and Pause button for an animated loop
5 views (last 30 days)
Show older comments
I'm creating a GUI that starts an animation with a pushbutton. I want to:
- start the animation at the first button press - pause the animation at the second button press - resume the animation at the third button press
and so on...
I refresh my plot in the animation is by doing:
for ii:length(X)
set('XData',...,'YData',...)
end
I know how to do this with 2 separate buttons:
function start_button_callback
if get(hObject,'value')
for ii:length(X)
if get(hObject,'value') %checks if changed by pause button
set('XData',...,'YData',...)
....
else
break;
end
end
end
function pause_button_callback
if get(hObject,'Value')
set(handles.start_button,'Value',0);
end
What I want is to use a single pushbutton to start&pause&resume, but I can't get to interrupt the for loop when pushing the start button the second time, even when using a 'handles.counter'. The value of the counter isn't updated at every push button if the loop isn't finished. Any ideas?
2 Comments
Dishant Arora
on 25 Jul 2013
Using toggle button instead of a push button would be better in this case.
Accepted Answer
More Answers (1)
Jan
on 25 Jul 2013
Did you insert a drawnow to give Matlab the chance to process events?
Did you set the 'Interruptible' property of the button to 'off'?
0 Comments
See Also
Categories
Find more on Animation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!