How to use uicontrol and callback for a user-defined input flow?
7 views (last 30 days)
Show older comments
I have being dealing with the following problem: in a GUI, user enters a number N. That creates two sets of N popupmenus. popup1 controls popup2: Let's say popup1 has options '1', '2' and '3'. If option '1' in popup1 is selected, popup2 menu should be 'A', 'B' and 'C', if '2' is selected in popup1, popup2 should be 'M', 'N' and 'P' and if option '3' is selected in popup1, popup2 should be 'X', 'Y' and 'Z'.
I have tried to use uicontrol and callback, and it creates the popups. The problem is that I don't know how to access the variables inside the popups. Does anyone know how to do this?
0 Comments
Accepted Answer
Orion
on 22 Nov 2014
In the callback of popup1, you just want to modify the string in popup2.
I guess you need something like :
function popup1_callback(hObject,eventdata,handles)
Value1 = get(handles.popup1,'Value');
if Value1==1
List = {'A';'B';'C'};
elseif Value1==2
List = {'M';'N';'P'};
else
List = {'X';'Y';'Z'};
end
set(handles.popup2,'String',List);
9 Comments
Orion
on 23 Nov 2014
I copy/pasted a wrong line in the previous/previous code.
I pasted
function popup1_callback(hObject, eventdata)
handles = guihandles(gcf);
instead of
function popup1_callback(hObject, eventdata)
handles = guidata(gcf);
this works
More Answers (1)
Image Analyst
on 23 Nov 2014
Or use this framework where you can just plug your code into the callbacks for various sliders, listboxes, etc. http://www.mathworks.com/matlabcentral/fileexchange/24224
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!