Update the GUI handles structure from inside a callback function

This seems like such a basic problem that there must be an easy solution to it, but I'm new to Matlab and can't figure it out...
I have a GUIDE gui with an axes and draggable points, and whenever a point is moved I need a callback function to make changes to something in the handles structure. I can add a callback function using addNewPositionCallback(), but then the callback function can't see and make changes to outside variables. Therefore, I can't make changes to handles from inside the callback function.
I thought of passing the handles structure to the callback and returning the updated structure as an output... but the callback function apparently can't have any outputs!
Do I make the handles structure global? I don't think that's a good idea though.
Thanks for any help!

Answers (1)

After you make your changes to handles you have to update it with GUIDATA;
function my_Callback(hObject, eventdata, handles)
handles.somethingnew = 5;
% Store the value
guidata(hObject,handles);

1 Comment

That's what I would do, but it looks like the callback function can only take one input, the current position of the point. Am I reading this right? http://www.mathworks.com/help/toolbox/images/ref/imroi.html#addnewposcbk

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Asked:

JM
on 12 Jul 2012

Community Treasure Hunt

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

Start Hunting!