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

 Respuesta aceptada

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

5 comentarios

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

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 13 de Mayo de 2011

4 votos

See the function: isappdata

3 comentarios

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

Iniciar sesión para comentar.

Categorías

Preguntada:

el 13 de Mayo de 2011

Editada:

el 19 de En. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by