Conteúdo
Índice 🔎︎

# Filtros e formulários HTML

Em documentos HTML, pode utilizar todos os elementos de controlo e eventos de formulário. Até à data, ocorreram diversos eventos (eventos de foco, por exemplo) que não foram alterados. Os mesmos continuarão a ser importados e exportados como ONFOCUS, ONBLUR, etc, para JavaScript e como SDONFOCUS, SDONBLUR, etc, para o LibreOffice Basic.

Os nomes genéricos que consistem na interface de escuta e nome de método do evento são usados para todos os outros eventos. Um evento registado como XListener::method é exportado como

SDEvent-XListener-method = "/* event-code */"

Tenha em atenção que os componentes XListener e method desta opção diferenciam maiúsculas e minúsculas.

O processamento de eventos de controlos é executado através da API do LibreOffice. Se atribuir um evento a um controlo, o objeto regista-se internamente como um "Recetor" de um evento específico. Para tal, o objeto tem que utilizar uma interface específica como, por exemplo, a Interface XFocusListener, para que possa reagir a eventos de foco. Quando o evento ocorre, o controlo invoca um método especial da interface recetora quando o controlo recebe o foco. Em seguida, o objeto registado invoca o código JavaScript ou LibreOffice Basic, o qual foi atribuído ao evento.

O filtro HTML utiliza, precisamente, estas interfaces de receção e nomes de métodos para que possa importar e exportar eventos tal como desejado. Pode até registar um evento de foco.

em vez do registo

Deste modo, os eventos podem ser registados conforme pretendido, incluindo os eventos não disponibilizados nas caixas de lista. Para definir a linguagem de script de eventos, pode escrever a seguinte linha no cabeçalho do documento:

Como CONTENT, pode utilizar, por exemplo "text/x-StarBasic" para o LibreOffice Basic ou "text/JavaScript" para JavaScript. Se não indicar qualquer entrada, é assumido JavaScript.

Durante a exportação, a linguagem script será definida com base no primeiro módulo localizado em gestão de macros. No caso de eventos, apenas pode utilizar um idioma por documento.