How can I deactive ButtonDownFcn temporarily?

4 visualizzazioni (ultimi 30 giorni)
I am using ginput to select a point within a plotted area. The function ginput allows the button to be pressed and the x,y values to be picked up, even when the button is pressed while outside the selected plot. I can easily restrict the code to accept only those points that are within the plot.
However, I have many action buttons outside the plot. While moving the cursor during selection of a point using ginput, if I click on any of those buttons inadvertantly, the button action is activated. I do not want that to happen. I could set a flag IgnoreButtonPressFlag just before I call ginout and then check this flag in each of the many ButtonDownFcn callbacks. That sounds inefficient. Is there a way to deactivate the ButtonDownFcn function only when I am in the midst of selecting a point with ginput and then activate it right after ginput?

Risposta accettata

Image Analyst
Image Analyst il 15 Ott 2020
See my functions, attached, that will let you disable all the controls on your figure.
The function DisableControls() lets you disable all controls on your GUIDE figure.
Then there is a function EnableControls() to re-enable all the controls that got disabled.
You call them like this:
% Disable controls.
WasEnabled = DisableControls(handles, 'Watch');
% Now code that the user interacts with where you don't want them to click anything else .....
% When done with all that.....
% Now, re-enable the disabled controls that we had disabled previously.
EnableControls(WasEnabled);

Più risposte (0)

Categorie

Scopri di più su Visual Exploration in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by