Você está na página 1de 34

Programao

Orientada
a
Eventos
PROGRAMAO
ORIENTADA A EVENTOS

Usurio dirige a execuo atravs do


acionamento dos componentes da interface.

A interface composta por


widgets, que geram diferentes
eventos.
COMPORTAMENTO DOS
PROGRAMAS
Procedural Eventos

Comandos Gatilho 2
.
. Gatilho 1 Gatilho 3
.
Comandos
Fim
Programa
EVENTOS
Aes do usurio ou do Progress que
ocorrem durante a execuo de uma
aplicao.

Tipos de Eventos:

- Eventos causados pelo usurio (acesso a


elementos da interface)
- Eventos relacionados ao banco de dados
Comandos de Construo de Blocos
Passos para Utilizar um Objeto

Passo Sintaxe
Definir o objeto e mostr-lo DEFINE...
Definir os triggers para o ON event OF object DO:
objeto ...
END.
Mostrar o objeto na frame DISPLAY...WITH FRAME...
Executar o bloco principal do WAIT-FOR event OF object
programa
WIDGETS
Existem 4 tipos bsicos :
- Window Widget: espao de trabalho da aplicao.
Criada quando a aplicao for iniciada.
- Frame Widget: recipiente para outros widgets.
- Data Widget: forma de representao dos dados.
So eles: fill-in, text, editor, combo-box, etc.
- Action Widget: forma de representar os
comandos. Botes e menus compem os widgets
de ao. Esses widgets permitem que o usurio
dirija a operao de sua aplicao.
WIDGETS
ATRIBUTOS
Apresentam/modificam as caractersticas dos
WIDGETS.
Ex.: ASSIGN wgh_retang1:bgcolor IN FRAME
f_dados = 8.
MTODOS
Retornam/adicionam informaes/dados dos
WIDGETS. OBS: Normalmente retorna um expresso
lgica.
Ex.: ASSIGN v_log_stat = v_cod_estab:load-
mouse-pointer(cross.cur) IN FRAME f_dados.
TRIGGERS
Bloco de cdigo executado sempre que um evento
ocorre.

ON event-list OF widget-list
trigger-block

Ex.: ON choose OF bt-cancela DO:


MESSAGE Cancelado pelo usurio
VIEW-AS ALERT-BOX INFORMATION.
QUIT.
END.
Objetos Grficos
Image
Window

Frame

Combo box Fill in

Selection List
Radio set

Rectangle Toggle box

Button
BOTES

DEF BUTTON bt-sair LABEL "Sair AUTO-ENDKEY.


DEF BUTTON bt-ok LABEL Ok AUTO-GO.

DEF BUTTON bt-atualizar LABEL "Atualizar".


DEF BUTTON bt-desfazer LABEL "Desfazer
IMAGE FILE im-undo.
BOTES

Atributos Mtodos Eventos


Label Load-mouse-pointer Entry
Sensitive Load-image Leave
Visible Load-image-down Choose
Tooltip Load-image-up
Load-image-insensitive
VIEW-AS
Use VIEW-AS para especificar os widgets de
representao dos dados.

Ex. DEFINE VARIABLE l-estudante AS logical


VIEW-AS TOGGLE-BOX LABEL
Estudante?.
FILL-IN
DEFINE VARIABLE c-name AS character
VIEW-AS FILL-IN LABEL Nome
FORMAT x(30).

Atributos Mtodos Eventos


Format Load-mouse-pointer Entry
Label Leave
Screen-value
Sensitive
Visible
Tooltip
TOGGLE-BOX
DEFINE VAR l-cobertura1 AS logical LABEL
Chocolate VIEW-AS TOGGLE-BOX.

DEFINE VAR l-cobertura2 AS logical LABEL


Morango VIEW-AS TOGGLE-BOX.
Ao mudar o valor
marcado o Progress
executa a trigger
value-changed
TOGGLE-BOX

Atributos Mtodos Eventos


Label Load-mouse-pointer Entry
Screen-value Leave
Sensitive Value-changed
Visible
Tooltip
Checked
RADIO-SET
DEF VAR i-num-bolas AS integer
LABEL "Quantas bolas de Sorvete?"
VIEW-AS RADIO-SET HORIZONTAL
RADIO-BUTTONS "1 Bola", 1 , "2 Bolas", 2.

Ao mudar o valor
marcado o Progress
executa a trigger
value-changed
RADIO-SET

Atributos Mtodos Eventos


Label Load-mouse-pointer Entry
Screen-value Add-last Leave
Sensitive Delete Value-changed
Visible Disable
Tooltip Enable
Horizontal Replace
List-items
SELECTION-LIST
DEF VAR c-coberturas AS character
LABEL "Cobertura"
VIEW-AS SELECTION-LIST MULTIPLE
LIST-ITEMS "Chantily ",
"Creme ",
"Mel ",
"Morango "
SCROLLBAR-VERTICAL
INNER-CHARS 12
INNER-LINES 4 SORT.
SELECTION-LIST

Atributos Mtodos Eventos


Label Load-mouse-pointer Entry
Screen-value Add-last Leave
Sensitive Add-first Value-changed
Visible Delete Default-action
Tooltip Entry
Multiple Replace
Num-items Lookup
List-items
EDITOR
DEF VAR c-editor AS char FORMAT "x(3000)"
LABEL "Editor de Textos"
VIEW-AS EDITOR INNER-LINES 10
INNER-CHARS 20
SCROLLBAR-VERTICAL
SCROLLBAR-HORIZONTAL.
EDITOR

Atributos Mtodos Eventos


Label Load-mouse-pointer Entry
Screen-value Read-file Leave
Sensitive Save-file
Visible
Tooltip
Num-lines
Read-only
Scrollbar-vertical
Scrollbar-horizontal
COMBO-BOX
DEF VAR c-coberturas AS character
LABEL "Cobertura" VIEW-AS COMBO-BOX
LIST-ITEMS "Chantily ",
"Creme ",
"Mel ,
Morango SIZE 15 BY 1.
COMBO-BOX

Atributos Mtodos Eventos


Format Load-mouse-pointer Entry
Label Add-first Leave
Screen-value Add-last Value-changed
Sensitive Delete
Visible Entry
Tooltip Lookup
List-items Replace
num-items
IMAGE

DEF IMAGE im-logo FILE datasul.bmp SIZE 10 BY 1.

Atributos Mtodos
Sensitive Load-mouse-pointer
Visible Load-image
Tooltip
RECTANGLE

DEF RECTANGLE rt-key SIZE 70 BY 5


EDGE-PIXELS 3
BGCOLOR 3 FGCOLOR 15.

Atributos Mtodos
Filled Load-mouse-pointer
Sensitive
Visible
Tooltip
BROWSE
DEF QUERY q-cust FOR customer SCROLLING.
DEF BROWSE b-cust QUERY q-cust DISPLAY
customer.cust-num customer.name
customer.city customer.country
WITH SEPARATORS 5 DOWN.
DEF FRAME f-dados b-cust WITH NO-LABELS.
OPEN QUERY q-cust FOR EACH customer.
UPDATE b-cust WITH FRAME f-dados.
BROWSE

Atributos Mtodos Eventos


Multiple Fetch-selected-row Entry
Sensitive Is-row-selected Leave
Visible Select-row Default-action
Separators Load-mouse-pointer Value-changed
Title
Num-selected-rows
Representao de
Campos
Tipo de dados
Widget Caracter Numerico Logico
Combo-Box x x x
Editor x
Fill-in x x x
Radio-set x x x
Selection-list x
Toggle-box x
Text x x x
PRINCIPAIS EVENTOS
CHOOSE (buttons, menus)
ENTRY
LEAVE
VALUE-CHANGED (toggle-box, radio-set,
selection-list, browse)
MANIPULANDO WIDGETS
ENABLE - ativa o widget na tela.
Ex.: ENABLE bt-inclui WITH FRAME f-cliente.

DISABLE - desativa o widget na tela.


Ex.: DISABLE bt-mod WITH FRAME f-cliente.

APPLY - Executa um gatilho de um widget.


Ex.: APPLY choose TO bt-mod IN FRAME f-cliente.

WAIT-FOR - Para a execuo. Fica esperando eventos


Ex.: WAIT-FOR choose OF bt-sai IN FRAME f-cliente.
ATRIBUTOS DOS WIDGETS
widget-name:attribute-name
Ex.: DISP c-name:label WITH FRAME f-a

widget-name:attribute-name IN FRAME
frame-name = value
Ex. ASSIGN c-name:help IN FRAME f-a =
Informe aqui o nome do cliente.
Exemplo de
um Programa
Orientado a
Eventos
DVIDAS ?

Você também pode gostar