Top > Extensions > AddonsMenu

メニュー Edit

メニューの項目はツール - アドオンメニューに追加、または特定のメニューの項目付近に追加することができます。(特定の位置への追加は 2.3 から利用できます。それ以前のバージョンでインストールすると無視されます。)

メニュー項目への追加はに関する詳細は /share/registry/schema/org/openoffice/Office/Addons.xcs ファイルを参照。

アドオンメニューへの追加と特定の位置への追加は同時に利用できます。

アドオンメニューへの追加 Edit

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
 <?xml version='1.0' encoding='UTF-8'?>
 <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&amp;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画像をメニューに表示する時に利用します。(これは古いタイプの指定方法です。以下の画像項目参照。)

サブメニュー Edit

サブメニューを追加することもできます。

サブメニューを追加する時には 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>

特定の位置への追加 Edit

特定の位置へのメニュー項目の追加は 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
 <?xml version='1.0' encoding='UTF-8'?>
 <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&amp;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 (最後に追加、無視する) が指定できます。指定しない時には無視されて項目が追加されません。
MergeCommandParameterMergeCommand が Remove の時に利用されます。削除するメニューの項目数を指定します。
MergeContext項目を追加するモジュールを記述します。複数の時にはコンマで区切ります。
MenuItems追加するメニュー項目です。上記の普通に追加する時と同じように記述します。

トップメニューへの追加 Edit

ツールバーの上に表示されているトップメニュー項目へメニューを追加できます。OfficeMenuBar ノードに独自のノードを追加します。

上記アドオンメニューへの追加の AddonMenu の部分を OfficeMenuBar に変更するだけです。

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 <?xml version='1.0' encoding='UTF-8'?>
 <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>
 以下略。

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes