checking if struct exists, GUI related

Hello
at the moment I am working with a data structure, this structure is stored in appdata in a certain way.
in my mainGui I create a base cell array called plotTypeData, this is stored as
plotTypeData = cell(1,6);
setappdata(gcf, 'plotTypeData', plotTypeData);
setappdata(0, 'hMainGui', gcf);
in the mainGui openingfcn.
Now to why I need to check if the a structure exists: I have 6 other GUIs which are able to call the plotTypeData cell and alter it, when a secondary GUI have altered the contents of plotTypeData, it will store or update it as follows
setappdata(0, 'plotTypeData', plotTypeData);
The real problem occur, as one might have guessed, when a secondary GUI needs to get the data from plotTypeData. Because if a secondary GUI have not stored the plotTypeData in the root directory it is necessary to retrieve it from the mainGui handle, hMainGui. So what I am trying to figure out, is a way to check whether the plotTypeData struct exists in the root directory or not, and act accordingly. It needs to be mentioned that within plotTypeData cell are stored, making plotTypeData become a 1x1 struct.
in the root directory. This is done to ensure that plotTypeData is reachable by all GUIs.
any suggestions?
best regards
Steffan

 Accepted Answer

using
getappdata
without specifying the variable name will return a structure with all data as fields in it.

5 Comments

thank very much for the quick respons, I will try this solution before I accept the answer :)
I still lack the opportnunity to check whether a certain struct/cell exists or not, within the code of course.
I am trying to act correct in the case that the plotTypeData does not exist in the root directory, and in the case that it does exist in the root directory.
getappdata ( 0 )
will get all data in a struct at the root.
Use:
isfield ( rootdata, 'plotTypeData')
to check if it exists.
works like a charm, thanks :)
:) :) :) :) :) :) :) :) thanks :) :) :) :) :) :) :) :)

Sign in to comment.

More Answers (1)

Jan
Jan on 13 May 2011
See the function: isappdata

3 Comments

Too bad I can't accept two answers as isappdata also works perfectly :( but thanks
Give him a vote then ;) !

Sign in to comment.

Categories

Asked:

on 13 May 2011

Edited:

on 19 Jan 2018

Community Treasure Hunt

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

Start Hunting!