Top > Extensions > Addons *アドオンツールバーとメニュー [#b4298288] 拡張機能のツールバーとメニューが利用できます。 #contents **概要 [#r20a14b3] 拡張機能に Addons.xcu (ファイル名は何でもよい) ファイルを追加して拡張機能のツールバーを作成したり、メニューに拡張機能の項目を追加できます。 /org.openoffice.Office.Addons に値を追加、変更するのがここでの主題です。 Apache OpenOffice 4.0 で互換性のない変更が行われたため、それぞれについて各ページで説明しています。 - [[メニュー>../AddonsMenu]] - [[ツールバー>../AddonsToolbar]] - [[ツールバー (AOO 4 以降)>../AddonsToolbar2]] **画像 [#c4607bfa] メニュー項目やツールバーに表示するアイコンの画像を指定できます。上記で指定している ImageIdentifier を使う方法は古いので別の方法をお勧めします。ImageIdentifier を使う場合には 16 x 16 および 26 x 26 pixel の bmp 画像しか取り扱えませんでした。新しい方法では png 画像が利用できます。 ***Images を使う方法 [#aa27bbfc] 新しいこちらの方法をお勧めします。 Images ノードに実行するコマンド URL ごとに画像を指定します。画像の指定は URL で指定する方法または画像のバイナリデータを文字列として埋め込む方法です。データを埋め込んだもののほうが優先的に表示されます。データを埋め込むとメンテナンスしにくくなるため URL 指定の方が楽です。 まずは URL を指定する方法です。 Images ノードに独自名のノードを追加します。URL プロパティ値にコマンド URL を指定します。画像指定は UserDefinedImages ノードのプロパティで指定します。16x16 pixcel の画像 ImageSmallURL、26x26 pixcel の画像 ImageBigURL、ハイコントラスト 16x16 pixcel の画像、ハイコントラスト 26x26 pixcel の画像 ImageBigHCURL が指定できます。 #code(xcu){{ <node oor:name="Images"> <node oor:name="mytools_image01" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> <value>vnd.sun.star.script:lib.mod.sub?language=Basic&location=application</value> </prop> <node oor:name="UserDefinedImages"> <prop oor:name="ImageSmallURL"> <value>%origin%/icons/current_small.png</value> </prop> <prop oor:name="ImageBigURL"> <value>%origin%/icons/current_big.png</value> </prop> <prop oor:name="ImageSmallHCURL"> <value>%origin%/icons/current_smallhc.png</value> </prop> <prop oor:name="ImageBigHCURL"> <value>%origin%/icons/current_bighc.png</value> </prop> </node> </node> </node> }} 画像の URL 指定は %origin% を利用します。この %origin% は拡張機能のインストール時に設定ファイルのあるディレクトリの URL に置き換えられます。上記の場合にはディレクトリ構成は次のようになります。 -Addons.xcu -icons --current_small.png --current_big.png --current_smallhc.png --current_bighc.png png 画像の透過は正しく処理されます。 次はデータを直接指定する方法です。バイナリデータを十六進数に変換して文字列として記述します。 データは長いので省略しますが、データの文字列は[[マクロ>OOoBasic/Macros/readbyte]]を利用すれば簡単に作成できます。 #code(xcu){{ <node oor:name="Images"> <node oor:name="mytools_image01" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> <value>vnd.sun.star.script:lib.mod.sub?language=Basic&location=application</value> </prop> <node oor:name="UserDefinedImages"> <prop oor:name="ImageSmall"> <value>424df600000000....</value> </prop> <prop oor:name="ImageBig"> <value>424df600000000....</value> </prop> <prop oor:name="ImageSmallHC"> <value>424df600000000....</value> </prop> <prop oor:name="ImageBigHC"> <value>424df600000000....</value> </prop> </node> </node> </node> }} ***ImageIdentifier を使った方法 [#ubf1f51f] 少し古い方法です。bmp 形式の画像しか取り扱えません。bmp 画像のマゼンタ rgb(255,0,255) の部分は透過処理されます。 それぞれの項目に ImageIdentifier プロパティを埋め込みます。 ファイル名 drawingexport_16.bmp と drawingexport_26.bmp の二つのファイルを用意しておき、次のように指定します。 #code(xcu){{ <prop oor:name="ImageIdentifier"> <value>%origin%/drawingexport</value> </prop> }} _16.bmp や _26.bmp の部分は表示設定に応じて選択されます。 **ヘルプ [#x55f7a3c] OfficeHelp ノードに独自のノードを追加することでメニューのヘルプ以下に拡張機能のヘルプが追加できます。 OfficeHelp ノードに独自のメニュー項目を追加します。メニューの項目は上記のアドオンメニューへ追加するときと同じようにします。 |