warning dialog

I want to use the data below for the logic
Data =
'' ''
'' ''
'' ''
'' ''
if %Data
warndlg('warningstring')
else
end

 Accepted Answer

Image Analyst
Image Analyst on 18 Jun 2011

0 votes

Look up isempty(). And you probably want to wrap your warndlg inside a uiwait(). If it's like msgbox(), it will continue with your code, blasting right past that warning message unless you put it inside a uiwait().

9 Comments

pink
pink on 18 Jun 2011
yes I've tried it but in case of error
??? Error while evaluating uipushtool ClickedCallback
??? Undefined function or method 'eq' for input arguments of type 'cell'.
data=get(handles.uitable1,'data')
if isempty(data)
warndlg('warningstring')
return
else
end
Paulo Silva
Paulo Silva on 18 Jun 2011
try this all(all(cellfun(@isempty,c))) instead of isempty, it will detect if all the elements of the cell are empty (like this '' and this []), it isn't perfect but should work for your example.
pink
pink on 18 Jun 2011
hi paul
if uitable1 contain numbers in case of error
data=get(handles.uitable1,'data')
if all(all(cellfun(@isempty,data)))
warndlg('warningstring')
return
else
end
??? Error using ==> cellfun
Input #2 expected to be a cell array, was double instead.
Paulo Silva
Paulo Silva on 18 Jun 2011
try using arrayfun instead of cellfun, if data can be cell and array you must detect what data is before looking inside it (use the class and strcmp functions)
pink
pink on 19 Jun 2011
Can give examples of the use of class and strcrmp
Walter Roberson
Walter Roberson on 19 Jun 2011
if ~iscell(data) || all(cellfun(@isempty,data(:))
wardlg('warningstring')
return
end
pink
pink on 19 Jun 2011
hi walter
after I use if ~iscell(data) || all(cellfun(@isempty,data(:))),
all data read is empty, I would like if uitable1 filled figures (not empty) then the variable 'data' is used in further calculations
Walter Roberson
Walter Roberson on 19 Jun 2011
I will need to do some testing to see when it is possible for the data to not be a cell array when it is retrieved. Unfortunately that is not something I can test from home with my current configuration.
I do not think you should be testing for the emptiness of the cells in the cell-clicked callback: if the user is editing a series of the cells, they are not going to want the calculations to take place until they are finished editing.
If you have the data and it _is_ a cell array and you want to ensure that there is something in each of the cells, then
any(cellfun(@isempty,data(:)))
will be true if there are any empty cells.
pink
pink on 19 Jun 2011
thanks walter..

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!