You are here

Matlab - GUI

% Erstellung einer Bedienoberflaeche mit Matlab
 
% 1) guide starten
% 2) Oberflaeche "zusammenklicken"
%    und bereits erste Einstellungen vornehmen
% 3) generierte .m-File editieren
 
% Komponenten des .m-Files
    % Ausgabe eines Warn-Dialoges
        warndlg('Message', 'Titel');
 
 
    % Verwendung eines Timers
        tmr1 = timer('TimerFcn', {@tmrFcn, params}, 'Period',
                     1, 'ExecutionMode', 'fixedDelay');
        start(tmr1);
 
    % Verarbeitung Pausieren [sec (0.1 -> 100ms)]
        pause(1);
 
    % generierte Funktions-Aufrufe
        function tmrFcn(hObject, eventdata, params)
            stop(tmr1);
 
 
        function testGui_OpeningFcn(hObject, eventdata, handles, varargin)
            % wird vor der Darstellung der GUI aufgerufen
            % -> Anlegen von globalen Variablen, GUI initialisieren
 
            global var1
            global var2
 
            var1 = 0;
            var2 = 1;
 
        function testGUI_CloseFcn(src,evnt)
            % kann selbst erstellt werden um aufraeum-Arbeiten zu erledigen
 
            % Erstellung/Einbindung:
            set(handles.figure1,'CloseRequestFcn',@testGUI_CloseFcn);
 
        function pushbutton_button1(hObject, eventdata, handles)
            % Einsprung-Punkt bei Button-Betaetigung
 
            % durch Angabe der verfuegbaren globalen Variablen,
            % kann auf diese zugegriffen werden
            global var1 var2
 
            var1 = 2;
 
        function edit_edit1_Callback(hObject, eventdata, handles)
            % Einsprung-Punkt bei Veraenderung des Textfeldes
            set(hObject, 'String', 'asdf');
            string = get(hObject, 'String');
 
            % globaler Zugriff auf GUI Elemente
            set(handles.edit_edit1, 'String', 'asdf');
            string = str2num(get(handles.edit_edit1, 'String'));
 
            % Setzen von Attributen
            markedObjectColor = [.6 .6 1.0];
            unmarkedObjectColor = [1.0 1.0 1.0];
            set(handles.edit_edit1, 'BackgroundColor', markedObjectColor);
            drawnow();
 
            % String als Funktions-Namen verwenden
            fhandle = str2func(get(handles.edit_edit1,'String'));
            result = fhandle(param1, param2);
 
        function edit_edit1_CreateFcn(hObject, eventdata, handles)
            % Einsprung-Punkt bei der Erstellung des Textfeldes
 
        function popupmenu_popup1_Callback(hObject, eventdata, handles)
            % Einsprung-Punkt beim Auswaehlen eines Eintrages im Popup-Menue
 
            contents = get(hObject, 'String');
            index = get(hObject, 'Value');
            actContent = contents{index};
 
            str1{1} = 'item1';
            str1{2} = 'item2';
            set(hObject, 'String', str1);
 
        function slider_sl1_Callback(hObject, eventdata, handles)
            % Slider wurde bewegt
            global SldMax SldMin
 
            % Slider Wert holen und umrechnen
            actVal = round(get(hObject,'Value') * (SldMax - SldMin) + SldMin);
 
            % Slider Position setzen
            actVal = (value - SldMin) / (SldMax - SldMin);
            set(handles.slider_sl1, 'Value', actVal);
 
        function radiobutton_rb1_Callback(hObject, eventdata, handles)
            % auf Radio-Button wurde geklickt
 
            set(hObject,'Value',0);
            set(hObject,'Value',1);