Framework/Tutorial/Accelerators
This tutorial will give you a detailed step-by-step insight into accelerators in OpenOffice.org. Everybody is invited to participate. May be someone wants to translate the extension to a different language (e.g. Java or Python) or wants to have more information about a specific topic. You can set a link to this page, if you think that this page adds valuable information.
The reader of this tutorial should know the following
* Programming with UNO * C++/Java knowledge (Using C++/Java with the SDK) * How to create an extension with the "OpenOffice.org SDK"
General abstract of the OpenOffice.org accelerator concept
Accelerator architecture
OpenOffice.org accelerators are available and stored on three different layers which have a pre-defined priority. The layers are:
Priority of the different accelerator layers | |
---|---|
1. | Document based accelerators |
2. | Module based accelerators |
3. | Global based accelerators |
If a user presses a possible keyboard shorcut the framework implementation starts to check every layer (using the pre-defined order document, module, global) for a matching entry. If there is match the associated command URL is used to find a dispatch object where the command can be executed. If no matching entry has been found the current application module is asked to process the keyboard event.