Integrating Components into Apache OpenOffice
If a component needs to be called from the Apache OpenOffice user interface, it must be able to take part in the communication between the UI layer and the application objects. Apache OpenOffice uses command URLs for this purpose. When a user chooses an item in the user interface, a command URL is dispatched to the application framework and processed in a chain of responsibility until an object accepts the command and executes it, thus consuming the command URL. This mechanism is known as the dispatch framework, it is covered in detail in chapter Using the Dispatch Framework.
From version OpenOffice.org 1.1.0, Apache OpenOffice provides user interface support for custom components by two basic mechanisms:
- Components can be enabled to process command URLs. There are two ways to accomplish this. You can either make them a protocol handler for command URLs or integrate them into the job execution environment of Apache OpenOffice. The protocol handler technique is simple, but it can only be used with command URLs in the dispatch framework. A component for the job execution environment can be used with or without command URLs, and has comprehensive support when it comes to configuration, job environment, and lifetime issues.
- The user interface can be adjusted to new components. On the one hand, you can add new menus and toolbar items and configure them to send the command URLs needed for your component. On the other hand, it is possible to disable existing commands. All this is possible by adding certain files to the extension. When users of your component install the extension, the GUI is adjusted automatically.
The left side of the illustration below shows the two possibilities for processing command URLs: either custom protocol handlers or the specialized job protocol. On the right, you see the job execution environment, which is used by the job protocol, but can also be used without command URLs from any source code.
This section describes how to use these mechanisms. It discusses protocol handlers and jobs, then describes how to customize the Apache OpenOffice user interface for components.
|Content on this page is licensed under the Public Documentation License (PDL).|