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

 Réponse acceptée

Robert Cumming
Robert Cumming le 13 Mai 2011
using
getappdata
without specifying the variable name will return a structure with all data as fields in it.

5 commentaires

Steffan
Steffan le 13 Mai 2011
thank very much for the quick respons, I will try this solution before I accept the answer :)
Steffan
Steffan le 13 Mai 2011
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.
Robert Cumming
Robert Cumming le 13 Mai 2011
getappdata ( 0 )
will get all data in a struct at the root.
Use:
isfield ( rootdata, 'plotTypeData')
to check if it exists.
Steffan
Steffan le 16 Mai 2011
works like a charm, thanks :)
sina kosari
sina kosari le 19 Jan 2018
Modifié(e) : sina kosari le 19 Jan 2018
:) :) :) :) :) :) :) :) thanks :) :) :) :) :) :) :) :)

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 13 Mai 2011

4 votes

See the function: isappdata

3 commentaires

Steffan
Steffan le 16 Mai 2011
Too bad I can't accept two answers as isappdata also works perfectly :( but thanks
Arturo Moncada-Torres
Arturo Moncada-Torres le 16 Mai 2011
Give him a vote then ;) !
Steffan
Steffan le 16 Mai 2011
done ;)

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by