HTML 필터 및 양식

모든 콘트롤 요소와 양식 이벤트를 HTML 문서에서 사용할 수 있습니다. 지금까지 변경되지 않은 수 많은 이벤트가 존재합니다(예: 초점 이벤트). 이러한 이벤트는 JavaScript의 경우 ONFOCUS, ONBLUR 등으로, LibreOffice Basic에서는 SDONFOCUS, SDONBLUR 등으로 가져오거나 내보냅니다.

다른 모든 이벤트를 위해서는 청취자 인터페이스 및 이벤트의 메소드 이름으로 구성된 이름이 사용됩니다: X청취자::메소드로서 등록된 이벤트는

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

XListener- 및 이 옵션의 메소드 구성 요소는 대/소문자를 구분합니다.

콘트롤의 이벤트는 LibreOffice API를 사용하여 처리합니다. 콘트롤에 이벤트를 할당하면 개체는 특정 콘트롤 이벤트에 대해 스스로를 "청취자"로 내부 등록합니다. 이를 위해 개체는 특정 인터페이스를 사용해야 하는데, 예를 들면 초점 이벤트에 응답하기 위해 XFocusListener 인터페이스를 사용해야 합니다. 이벤트가 발생하면 콘트롤은 초점을 받을 때에 해당되는 청취자 인터페이스의 특별한 메소드를 호출합니다. 그런 다음 내부적으로 등록된 개체는 해당 이벤트에 할당된 JavaScript 또는 LibreOffice Basic 코드를 호출합니다.

이제 HTML 필터는 이 청취자 인터페이스 및 메소드 이름을 정확하게 사용하면서 필요한 만큼 이벤트를 가져오고 내보낼 수 있습니다. 초점 이벤트를

<INPUT TYPE=text ONFOCUS="/* code */"

과 같이 등록할 수 있으며, 이는

<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* code */"

보다 나은 방법입니다. 따라서 이벤트는 목록 상자에서 제공하지 않는 종류를 포함하여 필요에 따라 등록할 수 있습니다. 이벤트의 스크립트 언어를 지정하기 위해 문서 머리글에 다음 줄을 기록할 수 있습니다.

<META HTTP-EQUIV="content-script-type" CONTENT="...">

CONTENT에 대해서는 무엇보다도 LibreOffice Basic에서 "text/x-StarBasic"을 또는 JavaScript에서 "text/JavaScript"를 사용할 수 있습니다. 아무것도 지정되지 않은 경우 JavaScript가 종료됩니다.

내보내기 수행 시 매크로 관리에서 가장 먼저 발견되는 모듈에 따라 기본 스크립트 언어가 지정됩니다. 이벤트의 경우 문서마다 하나의 언어만을 사용할 수 있습니다.

Please support us!