popupmenu in GUI, string call backs.

3 views (last 30 days)
So in my gui I have 3 pop-up menus: media, sample, and model. The media has selctions: isotropic and anisotropic the sample has selections: semi-infinite, infinite, and bulk the model has selections:Pseudo-Eps1&2,Psi and Delta, Rss, Rpp, Tss, Tpp, andMueller Matrix
Each of the these selections has particular coding of course. My problem is I need to select these in any manner and then use a pushbutton "Load Data" to load a .dat file.
Questions: How to go about programming the gui that it calls back any combination of these selections. As much detail as possible would be greatly appreciated

Accepted Answer

Evan
Evan on 11 Jul 2013
Edited: Evan on 11 Jul 2013
Are you using GUIDE for this GUI? If so, you'll need to access the "value" property of each of your popupmenus from within your pushbutton callback. Based on those values, you can make settings from within a switch/case or if/elseif structure. Your basic form will be:
media_value = get(handles.media_popupmenu,'Value');
sample_value = get(handles.sample_popupmenu,'Value');
model_value = get(handles.model_popupmenu,'Value');
These will all return scalar values which represent the string you've selected in the menus based on its order in the entire list of string arguments.
In order to make you code more readable, you could perhaps also get the string values for each menu and then reference them based on the value. So after each of those get functions you'd do something like:
media_list = get(handles.media_popupmenu,'String');
selection = media_list{media_value};
And so on for the rest of you menus. Then selection would be the exact string that your user selected.
  2 Comments
James Hendren
James Hendren on 11 Jul 2013
I am using GUIDE as it is an extensive interface. I am unclear though. Does the 'Value" return the selection from a list or would the "string" return it?
Evan
Evan on 11 Jul 2013
Edited: Evan on 11 Jul 2013
Actually, neither does. Value returns the index of your selection. So if you have a popupmenu with the items Red, Green, and Blue, and your user selects Blue, 'Value' will return v=2. If you ask for string, you won't just get Blue, you'll get the entire list: list={'Red','Green','Blue'}. To get the choice that the user selected, you have to call selection=list{v}

Sign in to comment.

More Answers (1)

Robert Cumming
Robert Cumming on 11 Jul 2013
FYI: The string returns the items, and value is the item selected.
  2 Comments
sana saleeme
sana saleeme on 9 May 2016
as in above case he get the string from popup menu.how i can get the floating numbers from popup menu?please tell me Evan.

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!