Luiz Fernando Martha Departamento de Engenharia Civil PUC-Rio CIV2802 Sistemas Grficos para Engenharia (adaptado de Marcelo Gattass)
Golfo de Avaliao:
percepo; interpretao; avaliao.
Sistema
Norman, 1986
Signos (Semitica)
Modelo de Programao
Toolkit de Interface (Motif, SDK, ... )
Dispositivos
Programa GrficoInterativo
Usurio
Programao Convencional
Programao Convencional Os comandos so executados segundo uma ordem prestabelecida e seqencial.
inicio
captura dados
processa dados
fim
Tcnicas de Interao
Solicitao (Request) Amostragem (Sample) Eventos (Event)
eventos [Xlib, SDK] callbacks [Motif, IUP, Visual]
Modelo de Eventos
Processa Evento Tipo 1
Eventos
Sistema Grfico
Programa de Aplicao
Janela B Janela C
Janela A
Janela B
Janela A.1
Janela A.2
Janela A
Janela B
Janela A.1
Janela A.2
Tratador de eventos I
Tratador de eventos II
Modelo de Callbacks
Processa Evento Tipo 1
Eventos
Programa de Aplicao
IUP/LED void main (void) IUP/LED { IupOpen( ); IupLoad ("canvas.led"); IupSetFunction ("a_repaint", (Icallback)repaint); IupShow (IupGetHandle("main")); IupMainLoop( ); IupClose( ); }
canvas.led
main = dialog [TITLE=IUP Canvas] ( canvas (a_repaint) )
Visual Basic
ToolBook
O A R T S B A
Motif
IUP/lua
ESCOPO MAIOR
Modelo do IUP/LED
Aplicao = conjunto de dilogos Dilogos = hierarquia de elementos de interface Especificao de layout
Concreto X Abstrato
Elementos de Interface
Primitivos
Button, Canvas, Frame, Image, Item, Label, List, Submenu, Text, Toggle,Matrix,Multiline
Agrupamento
Dialog, Radio, Menu
Composio
Hbox, Vbox, Zbox
Preenchimento
Fill
Composio do layout
DIALOG HBOX
FILL
LABEL Teste
FILL
Centralizando elementos
DIALOG VBOX
FILL
HBOX
FILL
FILL
LABEL Teste
FILL
Texto Centralizado
Layout abstrato
the_menu = ... the_canvas = CANVAS[ BUTTON_CB = button_cb, MOTION_CB = motion_cb](repaint_cb) the_dialog = DIALOG[ MENU=the_menu ] ( VBOX( FILL(), HBOX( FILL(), the_canvas, FILL() Fill ), FILL() ) )
Fill
Vbox
Canvas
Fill HBox
Fill