Inhaltsverzeichnis

Daten innerhalb der GUI speichern und verwalten

<note important>Diese Datenmodell ist nach wie vor im Laufe der weiteren Entwicklung Änderungen unterworfen, auch wenn es sich mittlerweile eher um Ergänzungen denn um grundlegende Umgestaltungen handelt.</note>

Idee: „application data“ von Matlab für diesen Zweck verwenden

Routinen:

Wird normalerweise mit der obersten „figure“ verknüpft, bei „nested functions“ zumindest innerhalb der GUI von allen Funktionen zugreifbar.

Codeschnipsel

Setzen der (noch leeren) appdata-Strukturen in der OpeningFcn:

% Set application data
data = struct();
configuration = struct();
setappdata(handles.figure1,'data',data);
setappdata(handles.figure1,'configuration',configuration);

Abfragen der appdata aus dem Matlab-Workspace:

h = trEPR;
appdata = getappdata(h);
appdata.data
appdata.configuration

Hinweis: In der applicationdata-Struktur ist noch eine Reihe anderer (Matlab-interner) Dinge gespeichert.

Struktur

Datenstruktur (data)

Rückgabe der generalisierten Lesefunktion, mit Erweiterungen für das Handling u.a. der Bearbeitungshistorie innerhalb der GUI

Für eine Beschreibung der Felder siehe die Dokumentation des Toolbox-Datenformates.

1)
Dieselben Parameter können noch einmal unter „control“ auftauchen, der Unterschied besteht darin, daß in „configure“ die Konfigurations- und damit Defaulteinstellungen abgelegt sind (wie sie evtl. einmal aus einer Konfigdatei geladen werden), in „control“ allerdings die gerade real verwendeten Werte.
2)
Wenn hier etwas steht, dann sollte die GUI vor dem Beenden nachfragen, ob der Nutzer die Modifikationen speichern möchte. Es wäre sogar möglich, hier auf Wunsch direkt anzuzeigen, was mit den Spektren alles gemacht wurde.