RV: Objetos e
Implementação
Prof. Dr. Annibal Hetem Jr.
Programação de RVs


Ainda não existem no mercado
ferramentas específicas para o
desenvolvimento de RVs.
As aplicações existentes usam códigos
desenvolvidos
especialmente para sua
implementação.
Widgets

A bibliografia e os projetistas de RV
convencionaram chamar de “widget” uma
entidade de software OO que encapsulam em
um único objeto
 Estados
 Funcionalidades
 Aparência
 Interface
Tipos de widgets




As widgets são associadas em “tipos”.
Cada instância de uma widget contém dados e
funcionalidades específicas de seu tipo.
Cada “tipo” é definido pela lista destas
especificidades e seu comportamento.
O tipo de uma widget é definido no momento
de seu instanciamento.
Biblioteca de Widgets


Permite que o desenvolvedor utilize aspectos
comuns às widgets e chame funções específicas
de uma instância de widget.
São o primeiro passo no sentido de uma
linguagem (ou uma meta-linguagem) padrão
para a RV.
Herança
funcional




Cada widget pode ser
construída a partir de
outras widgets.
Permite que mecanismos de interação sejam
prototipados.
Facilita a reprogramação de comportamentos
específicos.
A implementação parte da construção de
primitivas simples, e evolui para as mais
complexas.
Herança de recursos




Widgets de diferentes tipos podem compartilhar
o uso de recursos comuns.
Facilita o projeto de interfaces modulares.
Eventos gerados por widgets podem ser usados
como triggers de outras widgets.
O projeto de widgets assume um caráter
hierárquico.
Eventos


As ações e mudanças de estado das widgets são
disparadas (triggered) por eventos.
Eventos podem ser atômicos (simples)


Pegar, avançar, ligar...
Eventos podem ser compostos (complexos)

Jogar para cima, chutar, puxar uma alavanca.
Widgets x Eventos



As widgets respondem aos eventos através de
um mecanismo de call-back.
O call-back permite “uma ação disparar outras
Evento gerado
ações”.
pelo usuário
Call-back de
Exemplo:
primeira ordem
 Mudar um objeto de lugar pode fazer um
outro objeto cair ou deformar-se, que por sua
vez gera um ruído.
Call-back de
segunda ordem
Atributos e propriedades

Algumas propriedades são comuns a todas as
widgets:



Nome, cor, ícone, widget pai, etc.
Algumas propriedades são atribuídas por
herança.
A widget “raiz” (root) tem valores default e a
partir dela são geradas as outras instâncias.
Exemplo: widget escalar
 Permite
ao
usuário escolher
um valor escalar
entre um
mínimo e um
máximo.
Controle de cores

A combinação
de várias
widgets pode
compor
widgets mais
complexas.
Exemplos de widgets complexas





Vizualizar documento de texto (longo)
Busca na Internet/Intranet
Login
Calendário e relógio
Customização de ícone
Download

04 Widgets