メニュー 
メニューの項目はツール - アドオンメニューに追加、または特定のメニューの項目付近に追加することができます。(特定の位置への追加は 2.3 から利用できます。それ以前のバージョンでインストールすると無視されます。)
メニュー項目への追加はに関する詳細は /share/registry/schema/org/openoffice/Office/Addons.xcs ファイルを参照。
アドオンメニューへの追加と特定の位置への追加は同時に利用できます。
アドオンメニューへの追加 
AddonMenu ノードへ独自の子ノードを追加することでアドオンメニューへ項目を付け加えることができます。ノード名は拡張機能 ID を修飾したものなど、他の人と重ならないようにします。また、この順序でソートされて表示されます。
各ノードに必要なものは Title、URL、Target、Context です。
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| |
<oor:component-data
xmlns:oor="http://openoffice.org/2001/registry"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
oor:name="Addons"
oor:package="org.openoffice.Office">
<node oor:name="AddonUI">
<node oor:name="AddonMenu">
<node oor:name="mytools.DrawingExporter" oor:op="replace">
<prop oor:name="Title">
<value xml:lang="en-US">Export...</value>
<value xml:lang="ja">サイズ指定エクスポート...</value>
</prop>
<prop oor:name="URL">
<value>vnd.sun.star.script:lib.M.Ma?language=Basic&location=application</value>
</prop>
<prop oor:name="Target">
<value>_self</value>
</prop>
<prop oor:name="Context">
<value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
</prop>
<prop oor:name="ImageIdentifier">
<value>%origin%/drawingexport</value>
</prop>
</node>
</node>
</node>
</oor:component-data>
|
項目 | 説明 |
Title | メニューに表示するラベルです。ローカライズできます。 |
URL | メニューを選択した時に実行されるコマンド URL です。多くのプロトコルが利用できます。(マクロを実行する vnd.sun.star.script: や .task.XJob インターフェースを備えたサービスを実行する service: プロトコルなど) |
Target | コマンドを実行するフレーム (ウィンドウ) 名です。 |
Context | このメニュー項目を表示するモジュール名を記載します。複数あるときにはコンマ "," で区切ります。 |
ImageIdentifier | 画像をメニューに表示する時に利用します。(これは古いタイプの指定方法です。以下の画像項目参照。) |
サブメニュー 
サブメニューを追加することもできます。
サブメニューを追加する時には URL を指定する代わりに次のような Submenu ノードを入れます。その中に子ノードとして上記のメニューと同じようにメニューの項目を入れていきます。複数のメニュー項目が必要な時には子ノードを終了させて次の子ノードを記述します。
0
1
2
3
4
5
6
7
8
9
10
| | <node oor:name="Submenu">
<node oor:name="a1_1">
<prop oor:name="Title">
<value xml:lang="en">~Text</value>
</prop>
<prop oor:name="URL">
<value></value>
</prop>
....
</node>
</node>
|
特定の位置への追加 
特定の位置へのメニュー項目の追加は OfficeMenuBarMerging ノードに独自のノードを追加することで行います。
追加する位置 MergePoint や追加する方法 MergeCommand などを指定します。以下の例ではファイルメニューのエクスポート項目の下に追加しています。
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| |
<oor:component-data
xmlns:oor="http://openoffice.org/2001/registry"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
oor:name="Addons"
oor:package="org.openoffice.Office">
<node oor:name="AddonUI">
<node oor:name="OfficeMenuBarMerging">
<node oor:name="mytools.DrawingExporter" oor:op="replace">
<node oor:name="Menu01" oor:op="replace">
<prop oor:name="MergePoint">
<value>.uno:PickList\.uno:ExportTo</value>
</prop>
<prop oor:name="MergeCommand">
<value>AddAfter</value>
</prop>
<prop oor:name="MergeFallback">
<value>AddPath</value>
</prop>
<prop oor:name="MergeContext">
<value>com.sun.star.presentation.PresentationDocument</value>
</prop>
<node oor:name="MenuItems">
<node oor:name="a11_show1" oor:op="replace">
<prop oor:name="Title">
<value xml:lang="en-US">Export...</value>
<value xml:lang="ja">サイズ指定エクスポート...</value>
</prop>
<prop oor:name="URL" oor:type="xs:string">
<value>vnd.sun.star.script:mytoasic&location=application</value>
</prop>
<prop oor:name="Target">
<value>_self</value>
</prop>
<prop oor:name="Context">
<value>com.sun.star.presentation.PresentationDocument</value>
</prop>
<prop oor:name="ImageIdentifier">
<value>%origin%/drawingexport</value>
</prop>
</node>
</node>
</node>
</node>
</node>
</node>
</oor:component-data>
|
項目 | 説明 |
MergePoint | 追加する位置を指定します。指定はコマンド URL を用いて "トップメニュー\メニュー項目" のようにします。メニュー項目とコマンド URL の対応については設定ファイルを参照してください。 |
MergeCommand | 追加する方法を記述します。AddAfter, AddBefor, Replace, Remove (後に追加、前に追加、置換、削除) が利用できます。 |
MergeFallback | 追加する指定位置の項目がなかったときに行う方法を指定します。AddPath, Ignore (最後に追加、無視する) が指定できます。指定しない時には無視されて項目が追加されません。 |
MergeCommandParameter | MergeCommand が Remove の時に利用されます。削除するメニューの項目数を指定します。 |
MergeContext | 項目を追加するモジュールを記述します。複数の時にはコンマで区切ります。 |
MenuItems | 追加するメニュー項目です。上記の普通に追加する時と同じように記述します。 |
トップメニューへの追加 
ツールバーの上に表示されているトップメニュー項目へメニューを追加できます。OfficeMenuBar ノードに独自のノードを追加します。
上記アドオンメニューへの追加の AddonMenu の部分を OfficeMenuBar に変更するだけです。
0
1
2
3
4
5
6
7
8
9
10
11
| |
<oor:component-data
xmlns:oor="http://openoffice.org/2001/registry"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
oor:name="Addons"
oor:package="org.openoffice.Office">
<node oor:name="AddonUI">
<node oor:name="OfficeMenuBar">
<node oor:name="mytools.calc.annotation.AddonMenu" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">~Note Tools</value>
以下略。
|