F5: Grafiska användargränssnitt (kap. 9 10)

Relevanta dokument
Föreläsning 5: Grafiska användargränssnitt

Grafiska objekt och egenskapslistor Grafikfunktioner returnerar en objektreferens. >> obj_r = quiver([0 1],[0 0],[1 0],[1 1],'o') obj_r = 111.

F5: Grafiska användargränssnitt (kap. 9 10) Vad är ett (grafiskt) användargränssnitt? Ett exempel: Enkel räknare

F5: Grafiska användargränssnitt (kap. 9 10) Vad är ett (grafiskt) användargränssnitt? Ett exempel: Enkel räknare

Modeller och teknik Grundl program och gränssnitt. Matlab-tips

Examensarbete på grundnivå

Perceptuell Tonhöjd. Sammanfattning

Styrteknik 7.5 hp distans: E-1000 och E-Designer

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios Android

Bilaga 4, Skapa grafiskt användargränssnitt med guide

Ökad lokal nytta av förnyelsebar energiproduktion med hybridkraftverk

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Beijer Electronics AB 2000, MA00336A,


Support Manual HoistLocatel Electronic Locks

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Scratch Junior. makeandshape.com. by MIT. Gränssnitt Scratch Junior

2.1 Installation of driver using Internet Installation of driver from disk... 3

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Komma igång med Adobe Presenter ver.7

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

Exempelsamling Assemblerprogrammering

EDA095 JavaScript. Per Andersson. Maj 4, Lund University Per Andersson EDA095 JavaScript Maj 4, / 23

Grafisk produktion och tryckkvalitet TNM015


Windows Forms Winstrand Development

Föreläsning 8. Designmönster

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

Grafiska användargränssnitt i Java

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

BILAGA 5 Fi2Utrymmen Bilaga till CAD-kravspecifikation med förvaltningsinformation Version 1.0

Boiler with heatpump / Värmepumpsberedare

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

Användarbeskrivning för Anvisningstjänsten

Övning 1 - Abstrakta datatyper

Chapter 4: Writing Classes/ Att skriva egna klasser.

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Quick Start. English Svenska PRIMACY. Printing settings and winsign

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS


Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl.

Isometries of the plane

Skapa mallar i CAXA Draft, utgångspunkt från befintliga DWG-/DXF- eller DWT*-filer.

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Grafiska användargränssnitt i Java


Quick Start. English Svenska. Moca

1. FORMULÄR. A. Skapa formulär

Quick Start Guide Snabbguide

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

2.45GHz CF Card Reader User Manual. Version /09/15

Skillnader mellan Python och Java

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Retrieve a set of frequently asked questions about digital loans and their answers

Filsäkerhet i Windows NT (NTFS)

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 29 augusti 2015, kl 8 12

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Recitation 4. 2-D arrays. Exceptions

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16

Modern webbutveckling. av Robert Welin-Berger

Föreläsning 4 IS1300 Inbyggda system

Lappskrivningen som redovisning av Lab.2

Grafiska användargränssnitt i Java

Avancerad SSL-programmering I

Får endast utföras av behörig personal. May only be carried out by authorized electrician

Creo Customization. Lars Björs

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass?

Release notes for Permobil R-net PC-programmer ver Dealer access level

1. Unpack content of zip-file to temporary folder and double click Setup

Simulering med ModelSim En kort introduktion

Grafik i DrRacket AV TOMMY KARLSSON

1. Definiera klassvariabel. 2. Instansvariabel för klass. Selektera klass i Browsern och tryck på statics. Definiera protokollnamn, Protocol->Add...

Övning 1. Abstrakta datatyper. 1. Stacken. class Stack: """A representation of a last-in-first-out (LIFO) stack of objects."""

Exemple på Tentauppgifter Webbprogrammering

Funktioner forts. F3: Funktioner (kap. 5) Parametrar. findgear.m forts

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Mer till P-uppgiften: Dokumentation. Nyheter. Algoritm för sökning. Mer hjälp. DD1311 Programmeringsteknik med PBL

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

FIX LED-LYSRÖRSARMATUR MED AKRYLKÅPA IP44

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Vyer, Prepared Statements, Triggers

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

Manual/Förenklad handhavande User Manual. LPW-Serien.

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Nyheterna i AutoCAD Architecture 2014

LOG/iC2. Introduction

Webbregistrering pa kurs och termin

JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB

Rev No. Magnetic gripper 3

Transkript:

F5: Grafiska användargränssnitt (kap. 9 10) Vad är ett (grafiskt) användargränssnitt? Behöver man kunna programmera sådana? Ett exempel: Temperaturkonverterare Fahrenheit<->Celsius. Grafiska objekt och egenskapslistor Grafikfunktioner returnerar en objektreferens. >> or = plot([0 1],[0 0]) or = 111.001

>> get(or) DisplayName: '' Annotation: [1x1 hg.annotation] Color: [0 0 1] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 MarkerEdgeColor: 'auto' MarkerFaceColor: 'none' XData: [0 1] YData: [0 0] ZData: [1x0 double] BeingDeleted: 'off' ButtonDownFcn: [] Children: [0x1 double] Clipping: 'on' CreateFcn: [] DeleteFcn: [] BusyAction: 'queue' HandleVisibility: 'on' HitTest: 'on' Interruptible: 'on'

Selected: 'off' SelectionHighlight: 'on' >> set(or,'linewidth',4) Tag: '' Type: 'line' UIContextMenu: [] UserData: [] Visible: 'on' Parent: 170.0012 XDataMode: 'manual' XDataSource: ' YDataSource: '' ZDataSource: '' Man kan med get(or, 'egenskapsnamn') resp. set(or, 'egenskapsnamn', värde) avläsa resp. ändra egenskaperna. Idén med återanropsfunktioner (callback)

Objekten kan vara beredda på vissa händelser (tryck på knapp, retur i textobjekt o.d.) och hålla reda på vilket återanrop som ska göras. Normalt anropas en funktion med namnet objektnamn_callback i gränssnittets m- fil. Gränssnittsbyggaren guide Gränssnitt kan byggas med enbart kommandon men det är smidigare att använda gränssnittsbyggaren guide.

Gränssnittskomponenter Skärmen är objektet root. Fönster som är objekt av typ figure och ligger på skärmen.

Koordinatsystem (ritområden) som är av typ axes och ligger i ett fönster. Fönstermenyer som är av typ uimenu och hör till ett fönster. Markörmenyer som är av typ uicontextmenu och hör till ett fönster. Gränssnittsobjekt av typ uicontrol Knappar är av typ pushbutton. Textrutor är av typ edit. Skyltar är av typ text. Radioknappar är av typ radiobutton. Kryssrutor är av typ checkbox. Vallistor är av typ listbox. Skjutreglage är av typ slider. Rutor är av typ frame. Många slags objekt finns i koordinatsystem.

Med egenskapseditorn justerar man objektens egenskaper. I egenskapen Position betyder (x, y) objektets läge i förhållande till omgivande objekt och (width, height) objektets storlek, allt angivet i måttenheten enligt egenskapen Units.

Programskelett Guide konstruerar ett programskelett där man bl.a. ska modifiera återropsfunktionerna. De anropas t.ex. som tempconv('avsluta_callback', gcbo, [], guidata(gcbo)) Skelettet i tempconv.m blir så här: function varargout = tempconv(varargin) % tempconv M-file for tempconv.fig % tempconv, by itself, creates a new tempconv or raises the existing % singleton*. % % H = tempconv returns the handle to a new tempconv or the handle to % the existing singleton*. % % tempconv ('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in tempconv.m with the given input % arguments. % % tempconv ('Property','Value',...) creates a new tempconv or raises the % existing singleton*. Starting from the left, property value pairs % are applied to the GUI before fc_openingfunction gets called. An

% unrecognized property name or invalid value makes property % application stop. All inputs are passed to fc_openingfcn via % varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help tempconv % Last Modified by GUIDE v2.5 07-Jan-2006 12:26:11 % Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @tempconv_openingfcn,... 'gui_outputfcn', @tempconv_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:});

else gui_mainfcn(gui_state, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before tempconv is made visible. function tempconv_openingfcn(hobject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to fc (see VARARGIN) % Choose default command line output for fc handles.output = hobject; % Update handles structure guidata(hobject, handles); % UIWAIT makes fc wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = tempconv_outputfcn(hobject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; Vi modifierar till: %------------------------------------------------- function ftemp_callback(hobject, eventdata, handles) % hobject handle to ftemp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of ftemp as text % str2double(get(hobject,'string')) returns contents of ftemp as a double str = get(handles.ftemp, 'String'); f = str2num(str); if isempty(f) error('formatfel'); return; end; c = (f-32)*5/9; set(handles.ctemp,'string',num2str(c,'%6.1f')); s = get(handles.logg, 'String'); si = size(s); n = 5;

if si(1)>=n set(handles.logg, 'String', s(2:end,:)); end set(handles.logg, 'String',... char(get(handles.logg, 'String'),... [num2str(f, '%6.1f') ' F = '... num2str(c, '%6.1f') ' C'])); % --- Executes during object creation, after setting all properties. function ftemp_createfcn(hobject, eventdata, handles) % hobject handle to ftemp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end

function ctemp_callback(hobject, eventdata, handles) % hobject handle to ctemp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of ctemp as text % str2double(get(hobject,'string')) returns contents of ctemp as a double str = get(handles.ctemp, 'String'); c = str2num(str); if isempty(c) error('formatfel'); return; end f = c*9/5+32; set(handles.ftemp,'string', num2str(f,'%6.1f')); s = get(handles.logg, 'String'); si = size(s); n = 5; if si(1)>=n set(handles.logg, 'String', s(2:end,:)); end set(handles.logg, 'String',...

char(get(handles.logg, 'String'),... [num2str(c, '%6.1f') ' C = '... num2str(f, '%6.1f') ' F'])); % --- Executes during object creation, after setting all properties. function ctemp_createfcn(hobject, eventdata, handles) % hobject handle to ctemp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end

% --- Executes on button press in avsluta. function avsluta_callback(hobject, eventdata, handles) % hobject handle to avsluta (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(gcbf); % get callback figure

Arbetsgång med guide Skissa gränssnittet. Skapa objekten med guide. Sätt egenskaperna med guide. Spara..m-fil och.fig-fil sparas. Testa ev. Skriv återanropsfunktionerna och andra programdelar. Testa.