Académique Documents
Professionnel Documents
Culture Documents
Tipos de interfaces do utilizador Programao event-driven GUIs no MATLAB Componentes / controlos da GUI Processo de Desenvolvimento
Instituto Superior Tcnico, Dep. de Engenharia Mecnica - ACCAII
Exemplos de interfaces
interface grfica
GNOME (Ubuntu ver. 9.04)
Elementos da GUI
Uma GUI usa uma combinao de tecnologias e dispositivos para fornecer uma plataforma que permite ao utilizador interagir com um dado sistema (software e/ou hardware. As componentes no sistema WIMP (Windows, Icons, Menus and Pointing device) que constitum uma GUI tipo inclum:
Sistema de janelas, cones e elementos grficos, Menus/grupos de funes, Dispositivo de ponteiro, como por exemplo o rato.
Computao e Programao 2009 / 2010
4
Programao event-driven
O fluxo da execuo do cdigo nas GUIs controlado por indicaes externas, i.e. eventos, que esta no pode controlar. Este modo de funcionamento resulta num tipo de programao denominado por programao orientada a eventos (event-driven programming) onde o desenvolvimento do programa condicionado por eventos, como por exemplo pressionar o boto do rato. A execuo do programa desenvolve-se de modo assncrono, sendo determinada por aces externas GUI.
Jos Borges - Miguel Pedro Silva
Programao event-driven
Os eventos incluem aces do utilizador, aces devidas a outros elementos de cdigo ou externas, i.e. geradas pelo SO, como por exemplo a criao de um ficheiro no sistema de ficheiros ou a ligao de hardware perifrico. O controlo do programa no depende de um fluxo de execuo programado no cdigo mas sim da sequncia de elementos de cdigo (callbacks) disparadas por reaco aos eventos. O controlo do fluxo da execuo do programa constitui a principal diferena entre programao orientada a eventos e programao de execuo sequencial.
Jos Borges - Miguel Pedro Silva
GUIs no MATLAB
Uma GUI no MATLAB uma aplicao grfica com uma ou mais janelas que contm componentes e controlos, i.e. componentes que disparam elementos de cdigo por reaco a eventos, e que permitem a interaco entre o utilizador e o programa. As GUIs no MATLAB permitem:
realizar operaes de computao, ler / escrever para ficheiros, comunicar com outras GUIs, apresentar dados em tabelas e grficos.
Computao e Programao 2009 / 2010
7
Um dispositivo de ponteiro, e.g. o rato, usado para controlar a posio dum cursor e apresentar informao organizada em janelas representada atravs e cones.
Jos Borges - Miguel Pedro Silva
O MATLAB fornece / gere a interao entre janelas de GUIs, a prpria aplicao e o SO. A ligao ao SO inclui os dispositivos de hardware, e.g. ponteiro e hardware grfico.
10
EVENTO
1
callback
2 3
11
figures, menus, toolbars, push buttons, radio buttons, list boxes, static text sliders axes etc
12
13
Toolbar
Componentes
rea de edio
Jos Borges - Miguel Pedro Silva
14
Desenvolvimento da GUI
O desenvolvimento de qualquer tipo de programa, inclusive as GUIs, pressupe sempre um entendimento do que se pretende para a aplicao final, o que inclu:
Caracterizar os utilizadores da GUI, Determinar as funcionalidades da GUI, Definir o modo de interaco entre os utilizadores e a GUI, Seleccionar as componentes necessrios para o correcto funcionamento da GUI.
Para tal necessria uma abordagem sistemtica na forma de um Processo de Desenvolvimento (PD)
Jos Borges - Miguel Pedro Silva
16
17
Ilustrao do PD
Fase I
18
Referncias
Captulo 13 de Essential MATLAB for Engineers and Scientists 3rd Edition, Brian Hahn e Dan Valentine (2007) Elsevier. Seco 13.4 de Matlab: A Practical Introduction to Programming and Problem Solving, Stormy Attaway (2009) Elsevier. Wikipdia:
http://en.wikipedia.org/wiki/Graphical_user_interface http://pt.wikipedia.org/wiki/Interface_grfica_do_utilizador
Mathworks:
Creating Graphical User Interfaces (buildgui.pdf)
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/buildgui.pdf
19
20
10