MATLAB: Input dialog box options

guiinputdlguicontrol

Hi,
I tried one of the examples from the inputdlg documentation http://www.mathworks.com/help/matlab/ref/inputdlg.html but it seems it is not working…
I am interested to make the dialog resize such that the text appears completely. The example from the documentations is like this:
prompt={'Enter the matrix size for x^2:',...
'Enter the colormap name:'};
name='Input for Peaks function';
numlines=1;
defaultanswer={'20','hsv'};
options.Resize='on';
options.WindowStyle='normal';
options.Interpreter='tex';
answer=inputdlg(prompt,name,numlines,defaultanswer,options);
My questions/problems are the following:
  1. Why the dialog is not rescaled, and the title is "Input fo…" instead of "Input for Peaks function"?
  2. What are the WindowStyle options supposed to do? The options are 'normal' or 'modal' but the documentation doesn't say what is the difference between these 2, and I also didn't notice any difference.
  3. How can I make the Enter key to press the active button of the dialog, i.e. instead of moving the mouse and click the button I want to just press Enter after I entered the values in the dialog. Is this possible?
Thanks,
Razvan

Best Answer

1) resize refers to whether the user can resize the window.
2) modal means that the user is not allowed to interact with any other figure GUI; normal means that the user is allowed to interact with other figure GUIs.
3) copy the code for inputdlg.m and edit it to do what you want. I would not advise doing what you propose, though, as it is common for users to press return in edit boxes to indicate that they have completed that one field, and you do not want the dialog to be considered to be completed if the user presses return in the first edit box before having proceeded to the next.
Have you considered tabbing to the OK box and then pressing return? That behavior is already built-in.