Mercurial > hg > octave-lyh
diff scripts/java/msgbox.m @ 15709:9fee0b741de6
Update Java dialog scrips to latest octave-forge status
* dlgtest.m: strip away all code for reinstalling Java package
* cell2mlstr.m: new function
* helpdlg.m, errordlg.m, inputdlg.m, listdlg.m, questdlg.m, warndlg.m, msgbox.m:
Allow cellstr arrays as first argument (ML compatibilility)
author | Philip Nienhuis <prnienhuis@users.sf.net> |
---|---|
date | Sat, 01 Dec 2012 18:10:55 +0100 |
parents | acf0addfc610 |
children | da26f72408a7 |
line wrap: on
line diff
--- a/scripts/java/msgbox.m +++ b/scripts/java/msgbox.m @@ -17,7 +17,11 @@ ## @deftypefn {Function file} {@var{P} =} msgbox (@var{MESSAGE} [,@var{TITLE} [,@var{ICON}]]) ## ## Displays the @var{MESSAGE} using a message dialog. -## The @var{TITLE} is an optional string, which can be used to decorate the dialog caption. +## +## @var{message} can have multiple lines separated by newline characters +## ("\n"), or it can be a cellstr array (one element for each line). +## The optional @var{TITLE} (character string) can be used to decorate the +## dialog caption. ## The @var{ICON} can be used optionally to select a dialog icon. ## It can be one of @code{'error'}, @code{'help'} or @code{'warn'}. ## The return value is always 1. @@ -25,30 +29,42 @@ ## @end deftypefn ## @seealso{helpdlg, questdlg, warndlg} -function ret = msgbox(message,varargin) +function ret = msgbox (message, varargin) + + if (! ischar (message)) + if (iscell (message)) + message = cell2mlstr (message); + else + error ("msgbox: character string or cellstr array expected for message"); + endif + endif switch length (varargin) - case 0 - title = ""; - dlg = 'emptydlg'; - case 1 - title = varargin{1}; - dlg = 'emptydlg'; - otherwise - % two or more arguments - title = varargin{1}; - icon = varargin{2}; - if strcmp(icon,'error') == 1 - dlg = 'errordlg'; - elseif strcmp(icon,'help') == 1 - dlg = 'helpdlg'; - elseif strcmp(icon,'warn') == 1 - dlg = 'warndlg'; - else + case 0 + title = ""; + dlg = 'emptydlg'; + case 1 + title = varargin{1}; dlg = 'emptydlg'; - end + otherwise + % two or more arguments + title = varargin{1}; + icon = varargin{2}; + if strcmp (icon,'error') == 1 + dlg = 'errordlg'; + elseif strcmp (icon,'help') == 1 + dlg = 'helpdlg'; + elseif strcmp (icon,'warn') == 1 + dlg = 'warndlg'; + else + dlg = 'emptydlg'; + end endswitch + if (! ischar (title)) + error ("msgbox: character string expected for title"); + endif + ret = java_invoke ('org.octave.JDialogBox', dlg, message, title ); endfunction