Você está na página 1de 70

Curso de Interface Grfica de Usurio em ambiente

Universidade Federal de Alagoas Curso de Engenharia Civil Programa de Educao Tutorial PET Programa de Ps-Graduao em Engenharia Civil Setembro de 2011.

APRESENTAO

CURSO 1 - 2008
Engenheiro Civil pela Universidade Federal de Alagoas e mestre em Engenharia de Estruturas, tendo atuado durante a graduao principalmente nas seguintes reas: geometria solar, prticos 3d, dinmica das estruturas, mtodo dos elementos finitos, inteligncia artificial e conforto ambiental, e durante o mestrado nas reas de Confiabilidade Estrutural e Otimizao. Atualmente doutorando em Engenharia de Estruturas da Escola de Engenharia de So Carlos - USP, continuando sua pesquisa na rea de Confiabilidade Estrutural e Otimizao, e trabalhando tambm com processos estocsticos, mecnica da corroso e da fadiga.
3

CURSO I1 - 2011
Interface Grfica

Motivao
Controle de objetos Funes Posicionamento e dimensionamento de objetos Interfaces grficas de usurio no Matlab
4

INTERFACE GRFICA

INTERFACE GRFICA
Mecanismo de interao homem-computador

INTERFACE GRFICA
Histrico
Engenheiros Vannevar Bush e Douglas Engelbart acreditavam que, com informaes dispostas em uma tela, o usurio poderia se organizar de maneira grfica e pular de uma informao para outra, sempre que necessrio.

INTERFACE GRFICA
Histrico

Hiperligaes de texto (1960)

Sketchpad (1963)

Widgets (1970)

GUI (atual)

Graphical Environment Manager (1980)

INTERFACE GRFICA
Histrico

1980

1979

INTERFACE GRFICA
Histrico

1992

1987

10

INTERFACE GRFICA
Histrico

2011

11

INTERFACE GRFICA
GUI

Graphical User Interface

Interface Grfica do Usurio

12

INTERFACE GRFICA
GUI
Um ambiente idealizado para facilitar e tornar prtica a utilizao da ferramenta computacional; Interao feita atravs de um mouse ou um teclado, com os quais o usurio capaz de selecionar smbolos e manipul-los.
13

INTERFACE GRFICA
Existe uma infinidade de funcionalidades disponveis nas bibliotecas das mais diversas linguagens computacionais.

14

MOTIVAO

15

ETAPAS DA IMPLEMENTAO
Modelagem geomtrica ou pr-processamento
fase onde reproduzida geometria do domnio do problema

Gerao de malha
responsvel pela discretizao do domnio do problema

Analise numrica
responsvel pela soluo das equaes que regem o problema de Engenharia

Visualizao ou ps-processamento
resultados obtidos da anlise so mostrados explicitamente em forma de grficos e tabelas
16

ETAPAS DA IMPLEMENTAO
1- Modelagem geomtrica ou pr-processamento
fase onde reproduzida geometria do domnio do problema

2- Visualizao ou ps-processamento
resultados obtidos da anlise so mostrados explicitamente em forma de grficos e tabelas

17

ETAPAS DA IMPLEMENTAO

18

PROGRAMA COMPUTACIONAL

19

PROGRAMA COMPUTACIONAL

20

ENTRADA DE DADOS

21

DADOS DE SADA

22

ENTRADA E SADA DE DADOS

23

INTERFACE MATLAB DA UFAL?

N O
Dept. of Civil Engineering Johns Hopkins Univerist
24

APLICAO E EXEMPLOS
PGST SIEM

25

CONTROLE DE OBJETOS

26

Grficos de controle

Funes grficas de baixo nvel que controlam as caractersticas de objetos grficos do MATLAB; Sistema grfico do MATLAB:
O que so os handles?

27

Hierarquia:

A hierarquia baseada na interdependncia dos objetos;

28

Os quatro tipos gerais de objeto:


UImenus

UIcontrols

Axes

UIcontextmenus

29

Controle de objetos:
devolvido automaticamente por qualquer comando que crie um objeto grfico: >>Hndl=figure CONTROLES:
OBJETO
Raiz Figura Demais objetos.

CONTROLE
0 Nmero inteiro positivo. N arbitrrio com vrgula flutuante.

30

Convenes:
Tipo de varivel Armazenar controles Comuns Globais Conveno Primeira letra maiscula. letras todas minsculas. LETRAS MAISCULAS APENAS.

31

Examinando/Modificando propriedades

Propriedades:
Nomes em caixa mista; Duas formas de alter-las:
Durante a criao do objeto; Aps a criao do objeto.

Durante a criao do objeto:


Incluir pares de Nomes de Propriedades + Valor;

>> plot( x , y , 'Marker ', '+' , 'MarkerSize' , 20);


32

FUNES SET E GET

33

Aps a criao do objeto:

34

GET
>> valor = get( Handle, PropertyName) >> valor = get( Handle)

SET
>>set(Handle, PropertyName1,valor1,...)

35

EXEMPLO:
Plotando duas retas:

>>Hndl=plot([1,2,3], [3,4,5], 'Marker', '+', 'MarkerSize', 10);

Modificando uma propriedade:


>>set(Hndl,'Marker','*')

EDITOR DE PROPRIEDADES:

>>propedit(Handle); >>propedit;

36

Listando valores de propriedades

Outra funcionalidade de SET:

>> set(Handle, PropertyName) >> set(Handle)

37

OUTRAS FUNES

38

Localizando objetos
Nome da funo
gcf gca

Ao
Retorna o controle da figura atual. Retorna o controle dos eixos atuais da figura atual. Retorna o controle do objeto atual. Localiza um objeto

gco findobj

39

Mas e o que seria atual? Caso no haja o que procuram, gcf e gca do um jeito! GCO (dois casos):
% Objeto atual na figura atual >> Handles_objeto = gco; % Objeto atual na figura especificada >> Handles_objeto = gco(Handles_figura);

40

FINDOBJ Funo de(continuao) busca a partir das propriedades; FINDOBJ


A busca geral: se d dos mais velhos para os mais Sintaxe novos. >>Hndls = findobj(PropertyName1, valor1,...)

Exemplo:
>> H_figures = findobj( Type, figure);

41

POSICIONAMENTO E DIMENSIONAMENTO DE OBJETOS


42

Posicionamento e dimensionamento de objetos

Propriedade Position;
Units
Pixels Polegadas Centmetros

Coordenadas normalizadas
Pontos Caracteres

43

(1,1)

(0,0)
Podemos utilizar o comando set sem especificar valores para...
44

Propriedades Default
Criao de um objeto
Heranas de baixo pra cima na rvore hierrquica

Para se modificar propriedades de todos os objetos a serem criados:

>>set( handle, Default+Nome_do_objeto+Nome_da_Propriedade,valor)

45

EXEMPLOS:
azuis em

Fundos de todos os novos eixos todas as figuras:


>>set(0, DefaultAxesColor, b) >>set(gca, DefaultLineStyle, :)

Estilo de linha tracejado nos eixos atuais:

46

INTERFACES GRFICAS DE USURIO no Matlab


47

Objetivos de uma interface grfica de usurio


tornar o cdigo computacional mais fcil de ser utilizado; organizar as funcionalidades deste cdigo de forma intuitiva; disponibilizar ferramentas que agilizem a utilizao do cdigo.

48

GUI = Objetos Grficos + Reposta a eventos


Onde: Objetos grficos = rguas, caixas de texto, Caixas de listagem, botes, menus...
Exemplo:

49

Trs elementos principais de uma interface grfica


Figuras Componentes grficos
Controles grficos
Elementos estticos Menus Eixos

Chamadas de retorno

50

Principais tipos de chamadas de retorno


Tipo de Callback
Callback

Evento ao qual responde

Responde ao comando primrio do componente. Por exemplo, quando o usurio clica sobre um boto. CreateFcn executada quando da criao do componente, mas antes que o mesmo se torne visvel. DeleteFcn executada logo que o componente destrudo. KeyPressFcn executada quando o usurio pressiona uma tecla do teclado cujo componente desta
51

Passos para criao de uma GUI


(Utilizando o Ambiente de Desenvolvimento de GUIs)

Como iniciar o GUIDE? Apresentando o Ambiente de Desenvolvimento.

FIG

52

Exemplo 1

ESBOO:

53

GUIDE -> Inspetor de propriedades

1.Abra o GUIDE do MATLAB digitando guide na janela de comandos e pressionando a tecla enter, escolha a opo Blank GUI;

2.D dois cliques na rea de desenho, abrir o inspetor de propriedades. No inspetor de propriedades modifique a propriedade Position, coloque height (altura) igual a 10 e width (largura) igual a 50, modifique a propriedade Tag para janela1 (esta propriedade o nome pelo qual o componente conhecido internamente ao programa) e a propriedade Name para LIGA/DESLIGA ( o que aparece na barra de ttulo do programa). Insira um toggle Button utilizando o respectivo boto dentre os componentes de GUI, e atravs do inspetor de propriedades modifique a propriedade Tag para botao1. Mude a propriedade String para Ligado, e a propriedade Position para [13 2 20 2.5], a seguir mude a propriedade Units para normalized. 54

Salvar projeto = janela1; Procurar botao1_Callback:

function botao1_Callback(hObject, eventdata, handles) x=get(handles.botao1,'Value'); if x==1 set(handles.botao1,'String','Desligado'); else set(handles.botao1,'String','Ligado'); end

O cabealho ser explicado mais adiante; A estrutura handles;

55

O arquivo M gerado pelo GUIDE

56

Estrutura de uma callback e dados de aplicao

Estrutura de uma callback:

function varargout = = TagDoComponente_Callback(hObject, eventdata, handles, varargin)

A estrutura handles permite ainda que sejam armazenados dados nela mesma:
Vantagem sobre variveis GLOBAIS e persistentes.

handles.NomeDaVariavel = valor; guidata(fig, handles)


57

FINDOBJ - RESTRITO

Forma mais amena de utiliz-la:

Hndl = findobj( ControleDoPai, Propriedade, Valor)

58

Objetos usuais de uma interface grfica


Campos de texto (Static Text); Botes (Push buttons); Chaves (Toogle buttons); Painis (Panels); Grupos de botes (Button Groups) Caixas de verificao (Check Boxes); Rguas (Sliders); Marcadores (Radio Buttons); Caixas de texto (Edit Text); Caixas de listagem (List Boxes); Menus dinmicos (Pop-up Menus); Eixos coordenados (Axes).
59

Caixas de dilogo

A ODIVEL janela de ERRO.


60

Caixa de dilogo
dialog errordlg helpdlg

Descrio
Caixa de dilogo genrica. Caixa de dilogo de erro. Caixa de dilogo de ajuda.

Cdigo genrico
dialog('Name, 'CaixaDeDilogo') errordlg('DescrioDoErro', 'TtuloDaJanela') helpdlg('TextoDeAjuda', 'TtuloDaJanela') prompt={'Digite a 1entrada:','Digite a 2entrada:'}; name='TtuloDaJanela'; numlines=1; defaultanswer={'Entrada 1','Entrada 2'}; resp=inputdlg(prompt,name,numlines,defaultanswe r) DiretorioInicial='C:\'; diretorio=uigetdir(DiretorioInicial,'TtuloDaJanela '); Extensoes={'*.mat','ArqMATLAB (*.mat)';... '*.txt','ArqTEXTO (*.txt)'}; [Nome,Local,Extensao]=uigetfile(Extensoes,'Ttulo ') X=0.5; %X varia entre 0 e 1; 61 waitbar(X,'Mensagem','Name','TituloDaJanela');

inputdlg

Caixa de dilogo de entrada.

uigetdir

Caixa para retornar nome de diretrio.

uigetfile

Caixa para retornar nome de arquivo para leitura.

waitbar

Barra de progresso.

EXEMPLO FINAL

62

63

64

65

66

67

Principais propriedades manipuladas neste exemplo:


Propriedade Explicao
Conjunto de caracteres que identifica o objeto Tag internamente ao programa. BackgroundColor Cor de fundo do objeto grfico. Conjunto de caracteres que so mostrados ao usurio caso o mesmo posicione o mouse sobre o TooltipString objeto por um determinado tempo. Quando est propriedade est ativada (on), a figura DockControls pode ser acoplada ao Desktop do MATLAB. Geralmente um conjunto de quatro parmetros que definem o posicionamento do objeto na tela, sua Position altura e largura.
68

Desenvolvimento do Exemplo final:


Nas aulas prticas durante o curso; Nos tutoriais em vdeo presentes no CD do curso.

69

Curso de Interface Grfica de Usurio em ambiente

OBRIGADO!
Universidade Federal de Alagoas Curso de Engenharia Civil Programa de Educao Tutorial PET Programa de Ps-Graduao em Engenharia Civil Setembro de 2011.

70

Você também pode gostar