Adds an XBrowseNode implementation for JavaScript scripts using the QuickJS bindings so that JS files can be found and executed from the macro organizer. Unlike in Python macros, the entire source file becomes a single macro instead of trying to find function definitions in the source. Change-Id: I73d0c6e6fc6bb7ffd4f6164d1f1887d03bfdfe62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203219 Tested-by: Jenkins Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
80 lines
2.1 KiB
Markdown
80 lines
2.1 KiB
Markdown
# Scripting Framework
|
|
|
|
This module provides the source code for the Scripting Framework.
|
|
|
|
For more information on the Scripting Framework, see the project web page:
|
|
<https://framework.openoffice.org/scripting/>
|
|
|
|
This module uses astyle to keep consistent java coding style. Please run
|
|
|
|
./Format_java_code.sh
|
|
|
|
before committing.
|
|
|
|
## Source Code Structure
|
|
|
|
The following directories contain the source code currently used
|
|
by the Scripting Framework:
|
|
|
|
- `source/provider`
|
|
|
|
C++ source for the implementations of the `com.sun.star.script.provider.*`
|
|
and `com.sun.star.script.browse.*` UNO types. These types are used for
|
|
browsing and executing scripts.
|
|
|
|
- `source/protocolhandler`
|
|
|
|
C++ for a `ProtocolHandler` implementation that handles `vnd.sun.star.script`
|
|
URIs and dispatches them for execution to the Scripting Framework.
|
|
|
|
- `source/singleprov`
|
|
|
|
A base helper class for C++ implementations of LanguageScriptProviders
|
|
that store a single macro in a source file.
|
|
|
|
- `source/basprov`
|
|
|
|
C++ implementation of the `LanguageScriptProvider` UNO service for Basic
|
|
|
|
- `source/dlgprov`
|
|
|
|
C++ implementation of the `DialogProvider` UNO service used for loading
|
|
UNO dialogs from various languages
|
|
|
|
- `source/jsprov`
|
|
|
|
C++ implementation of the `LanguageScriptProvider` UNO service for JavaScript using QuickJS.
|
|
|
|
- `source/pyprov`
|
|
|
|
`LanguageScriptProvider` for Python
|
|
|
|
- `java/com/sun/star/script/framework/provider`
|
|
|
|
Implementation of an abstract base class ScriptProvider which provides
|
|
core methods for implementing Java based `LanguageScriptProvider` implementations
|
|
|
|
- `java/com/sun/star/script/framework/provider/*`
|
|
|
|
`BeanShell`, JavaScript and Java `LanguageScriptProvider` implementations
|
|
|
|
- `java/com/sun/star/script/framework/browse/*`
|
|
|
|
`BrowseNode` implementations for the Java based `LanguageScriptProviders`
|
|
|
|
- `java/com/sun/star/script/framework/io`
|
|
- `java/com/sun/star/script/framework/container`
|
|
|
|
Classes for performing script IO
|
|
|
|
- `examples`
|
|
|
|
Example scripts in BeanShell, JavaScript, Java and Python
|
|
|
|
|
|
## Deprecated Code
|
|
|
|
- `java/org/openoffice/*`
|
|
|
|
Support for developing scripts in IDEs such as NetBeans.
|