Pass extra parameter to UpdatePreviewWindowFcn (anonymous function required?)

2 views (last 30 days)
I have written some code to get a preview stream from a camera and display it in a figure after modifying it. In the figure I have the following statement:
setappdata(previewImage,'UpdatePreviewWindowFcn',@GUI_editPreview);
where GUI_editPreview is the function that changes the data before display. At the moment I do not pass any parameter to the function but I would like to add one. I have tried to use:
setappdata(previewImage,'UpdatePreviewWindowFcn',{@GUI_editPreview, myParameter});
But Matlab produces an error "UpdatePreviewWindowFcn must be configured to a function_handle." I suspect I have to use anonymous functions but I could not figure out a way to do it correctly. What would be the correct syntax, in this case?

Accepted Answer

PaoloB
PaoloB on 18 May 2015
I found a workaround:
instead of passing the parameter in the function, I save it as an appdata of the previewImage. I can then retrieve it when needed. So my code becomes:
setappdata(previewImage,'UpdatePreviewWindowFcn',@GUI_editPreview);
setappdata(previewImage,'HandleToMainFig',mainFig);
and in the GUI_editPreview I use
mainFig = getappdata(himage,'HandleToMainFig');

More Answers (0)

Community Treasure Hunt

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

Start Hunting!