1% Erstellung einer Bedienoberflaeche mit Matlab
2
3% 1) guide starten
4% 2) Oberflaeche "zusammenklicken"
5% und bereits erste Einstellungen vornehmen
6% 3) generierte .m-File editieren
7
8% Komponenten des .m-Files
9 % Ausgabe eines Warn-Dialoges
10 warndlg('Message', 'Titel');
11
12
13 % Verwendung eines Timers
14 tmr1 = timer('TimerFcn', {@tmrFcn, params}, 'Period',
15 1, 'ExecutionMode', 'fixedDelay');
16 start(tmr1);
17
18 % Verarbeitung Pausieren [sec (0.1 -> 100ms)]
19 pause(1);
20
21 % generierte Funktions-Aufrufe
22 function tmrFcn(hObject, eventdata, params)
23 stop(tmr1);
24
25
26 function testGui_OpeningFcn(hObject, eventdata, handles, varargin)
27 % wird vor der Darstellung der GUI aufgerufen
28 % -> Anlegen von globalen Variablen, GUI initialisieren
29
30 global var1
31 global var2
32
33 var1 = 0;
34 var2 = 1;
35
36 function testGUI_CloseFcn(src,evnt)
37 % kann selbst erstellt werden um aufraeum-Arbeiten zu erledigen
38
39 % Erstellung/Einbindung:
40 set(handles.figure1,'CloseRequestFcn',@testGUI_CloseFcn);
41
42 function pushbutton_button1(hObject, eventdata, handles)
43 % Einsprung-Punkt bei Button-Betaetigung
44
45 % durch Angabe der verfuegbaren globalen Variablen,
46 % kann auf diese zugegriffen werden
47 global var1 var2
48
49 var1 = 2;
50
51 function edit_edit1_Callback(hObject, eventdata, handles)
52 % Einsprung-Punkt bei Veraenderung des Textfeldes
53 set(hObject, 'String', 'asdf');
54 string = get(hObject, 'String');
55
56 % globaler Zugriff auf GUI Elemente
57 set(handles.edit_edit1, 'String', 'asdf');
58 string = str2num(get(handles.edit_edit1, 'String'));
59
60 % Setzen von Attributen
61 markedObjectColor = [.6 .6 1.0];
62 unmarkedObjectColor = [1.0 1.0 1.0];
63 set(handles.edit_edit1, 'BackgroundColor', markedObjectColor);
64 drawnow();
65
66 % String als Funktions-Namen verwenden
67 fhandle = str2func(get(handles.edit_edit1,'String'));
68 result = fhandle(param1, param2);
69
70 function edit_edit1_CreateFcn(hObject, eventdata, handles)
71 % Einsprung-Punkt bei der Erstellung des Textfeldes
72
73 function popupmenu_popup1_Callback(hObject, eventdata, handles)
74 % Einsprung-Punkt beim Auswaehlen eines Eintrages im Popup-Menue
75
76 contents = get(hObject, 'String');
77 index = get(hObject, 'Value');
78 actContent = contents{index};
79
80 str1{1} = 'item1';
81 str1{2} = 'item2';
82 set(hObject, 'String', str1);
83
84 function slider_sl1_Callback(hObject, eventdata, handles)
85 % Slider wurde bewegt
86 global SldMax SldMin
87
88 % Slider Wert holen und umrechnen
89 actVal = round(get(hObject,'Value') * (SldMax - SldMin) + SldMin);
90
91 % Slider Position setzen
92 actVal = (value - SldMin) / (SldMax - SldMin);
93 set(handles.slider_sl1, 'Value', actVal);
94
95 function radiobutton_rb1_Callback(hObject, eventdata, handles)
96 % auf Radio-Button wurde geklickt
97
98 set(hObject,'Value',0);
99 set(hObject,'Value',1);