Difference between revisions of "Framework/Tutorial/Accelerators"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Accelerator architecture)
(Accelerator architecture)
Line 13: Line 13:
 
[[image:Architecture_-_Accelerators.png]]
 
[[image:Architecture_-_Accelerators.png]]
  
Accelerators are available and stored on three different layers which have a pre-defined priority. The layers are:
+
OpenOffice.org accelerators are available and stored on three different layers which have a pre-defined priority. The layers are:
  
 
{|border="1" cellpadding=4 style="border-collapse:collapse;"
 
{|border="1" cellpadding=4 style="border-collapse:collapse;"
 
|-bgcolor=#EDEDED
 
|-bgcolor=#EDEDED
!colspan="2"|Priority of the different accelerator layers</idl>  
+
!colspan="2"|Priority of the different accelerator layers   
 
|-
 
|-
 
|1.   
 
|1.   
Line 29: Line 29:
 
|-
 
|-
 
|}
 
|}
 +
 +
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.

Revision as of 14:13, 5 November 2008

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

Architecture - Accelerators.png

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.

Personal tools