guide and waitfor selectionchangefcn

7 visualizaciones (últimos 30 días)
Leor Greenberger
Leor Greenberger el 3 de Oct. de 2011
Hi. In my GUIDE gui, I have a "RUN" push button, whose callback function runs through a block of conditional statements to check that the entered inputs are valid. For some bad inputs, I generate an error message, but for others, just a warning. (this is done by updating the string of a listbox).
What I would like to do is make visible a panel that asks if the person wishes to ignore the warnings and proceed anyways. This panel has a button group with two push buttons labeled "yes" and "no"
Is there a way at the end of the "RUN" push button callback function to do something like the following:
if ~isempty(warning_msg)
set(handles.warning_panel,'Visible','on')
ignore_warning = warning_buttongroup_SelectionChangeFcn
end
This checks if there are any warning messages, if yes, it makes visible the panel with the question and push button. The 3rd statemenet, however, I don't believe will work. Is there a way I can make it wait until a selectionchange is detected?

Respuesta aceptada

Walter Roberson
Walter Roberson el 3 de Oct. de 2011
ignore_warning = false;
if ~isempty(warning_msg)
set(handles.warning_panel,'Visible','on')
waitfor(handles.warning_buttongroup, 'SelectedObject');
if ishandle(handles.warning_buttongroup) %ensure not deleted
whichobject = get(handles.warning_buttongroup, 'SelectedObject');
ignore_warning = strcmp(get(whichObject,'Tag'),'Yes'); %or the like
end
end
  2 comentarios
Leor Greenberger
Leor Greenberger el 3 de Oct. de 2011
This worked perfectly! I knew I had to use the waitfor function, but I wasn't sure how to make it work. I also knew about the selectedobject property, but didn't think about using the waitfor on that. Oh well. I also just spent an hour trying to figure out why it was still not working even the code looks correct. Problem: I was using push buttons instead of toggle buttons!
Walter Roberson
Walter Roberson el 4 de Oct. de 2011
uibuttongroups aren't supposed to work on push buttons... I'm surprised it didn't complain.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Historical Contests en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by