Escolar Documentos
Profissional Documentos
Cultura Documentos
Não podemos alterá-la diretamente, sendo o código inserido somente nos métodos, via
SE80.
Métodos do controlador
Métodos do controlador
Hook Methods
wddoinit( ):
primeiro método a ser chamado no ciclo de vida do controlador;
chamado imediatamente após a inicialização;
somente executado uma única vez;
contém todo código referente a inicialização.
wddoexit( ):
último método a ser chamado no ciclo de vida do controlador;
somente executado uma única vez;
contempla códigos de limpeza.
Métodos do controlador
Hook Methods – Componente
wddobeforenavigation( )
Métodos do controlador
Hook Methods – Componente
wddopostprocessing( )
Métodos do controlador
wddoapplicationstatechange( ):
este método é chamado cada vez que o componente é suspenso ou retomado;
um componente é suspenso quando um plug de suspensão (suspend plugI) é
disparado;
isto pode ser utilizado para iniciarmos uma nova aplicação sem sair da aplicação
atual;
a aplicação suspensa é retomada automaticamente quando a nova aplicação é
encerrada;
neste momento o plug de retomada (resume plug) da janela é acionado.
Obs: Se um plug de suspensão é criado para uma janela, um plug de retomada deve ser
criado ( o WD não dá erro de ativação... )
Métodos do controlador
Hook Methods – Visões
wddobeforeaction( ):
Processado logo após o usuário ter disparado um evento (antes do handler).
Todas as visões de uma view assembly terão este método acionado.
Geralmente contém códigos de validação de entrada de dados.
wddobeforeaction( )
Métodos do controlador
wddoafteraction( ):
Processado após o action handler;
Todas as visões de uma view assembly terão este método acionado;
Podem ser usados para modularizar o código que trata a ação.
wddoafteraction( )
Métodos do controlador
wddomodifyview( ):
único método que permite o acesso à hierarquia dos elementos de UI.
Wddomodifyview()
Métodos do controlador
wddooncontextmenu( ):
Processado sempre que o usuário clica com o botão direito em um elemento de UI.
Podemos instanciar menus estáticos, definidos no CONTEXT_MENU, ou criar
dinamicamente um menu.
Permite a customização do menu padrão.
Métodos do controlador
Hook Methods – Janelas
Method Type = Supply: métodos que serão utilizados como supply functions para os nós
do contexto.
Métodos do controlador
Vale lembrar que não podemos chamar diretamente uma supply function,
somente o mecanismo de runtime do WD.
Para tornar um método público a outro componente, temos que marcar o flag
interface do mesmo.
Podemos observar no código acima que, apesar de não existir um atributo como
referência, existe um método getter para o controlador.
Atributos do controlador
Podemos definir, na aba atributos, atributos adicionais ao controlador.
Esta classe irá conter métodos e atributos que serão acessados por todos os
controladores do componente.
Define métodos que implementam lógicas não ligadas ao layout nem ao controle.
Podemos utilizá-la como um proxy para as classes “modelo” ou até mesmo como a
classe de modelo, para implementações simples.
Classes assistentes
Definida na SE24.
1. Para cada controlador (<ctrl>) uma interface local é gerada com o nome IF_<ctrl>.
2. Para cada nó (<node>) do contexto uma constante WDCTX_<node> é criada, contendo o
nome do nó em caixa alta.
Uma vez obtida a referência ao elemento do nó, existem duas maneiras para se obter
os valores dos atributos do mesmo:
Cada linha desta tabela interna contem uma referência para um elemento.
Acessando o contexto
Modificando os valores de um atributo
Uma vez obtida a referência para o atributos, podemos recuperar seu valor através
dos métodos getters discutidos anteriormente.
Além disto podemos alterar o valor dos mesmo, utilizando alguns métodos setters.
O método set_attribute() pode ser utilizado para alterar o valor de qualquer atributo
de um elemento.
Este processo é semelhante ao da adição de uma work area a uma tabela interna...
Elemento já existente
Acessando o contexto
Uma vez obtida a referência, o método create_element( ) é usado para criar o novo
elemento.
O parâmetro set_initial_elements:
Removendo elementos