Continuously pressing GUI slider arrow causes hanging
1 view (last 30 days)
Show older comments
I've created a GUI with slider controls. When I make distinct individual clicks of the slider arrows, it works fine. When I hold the arrow buttons down continuously, however, the slider GUI freezes. I can continue to move the slider, but it has no effect on the rest of the GUI.
What appears to be happening is that by holding down the arrow, the slider callback gets launched many times repeatedly and faster than MATLAB can refresh the GUI graphics with the effect of the slider change. Ultimately, it chokes and cannot catch up.
Is there some way that the continuous-arrow-press condition is supposed to be processed? I notice that sliders have a ButtonDownFcn property, but I don't know what role it's supposed to play.
Or might there be some way to force the GUI to wait until all other graphics and uicontrol data in the figure are refreshed before re-executing the callback?
0 Comments
Accepted Answer
Sean de Wolski
on 4 Oct 2012
The ButtonDownFcn is disabled if the uicontrol is enabled. What is the BusyAction of the slider? If it is cancel that is self explanatory. Else I would suggest adding a drawnow in the callback to force a flush of the event queue.
4 Comments
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps 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!