LibreOffice5(67)オプションページを持つ拡張機能の例を作る: その5

2017-07-30

旧ブログ

t f B! P L
toolsについての解説です。toolsにあるスクリプトはxmlファイルを書き出すためにLibreOffice5(39)ProtocolHandler Addon Javaのxcuファイルを出力するPythonスクリプトから作り始めたものです。

前の関連記事:LibreOffice5(66)オプションページを持つ拡張機能の例を作る: その4


toolsフォルダにあるスクリプト


createRDB.pyとdeployOXT.pyを使うにはインタープリターはLibreOfficeのバンドルPythonにしておかないといけないので、PyDevプロジェクト自体のインタープリターをバンドルPythonにしておきます。
.
├── config.py
├── createIDLs.py
├── createOXT.py
├── createOptionsDialogXcu.py
├── createProtocolHandlerXcu.py
├── createRDB.py
├── createXMLs.py
├── createXcs.py
├── deployOXT.py
├── execAtOnce.py
└── helper.py
toolsフォルダには11個のスクリプトがあります。

createIDLs.pyはidlファイルを定義するもの、createRDB.pyはidlファイルをコンパイルするもの、createProtocolHandlerXcu.pyはコンポーネントデータノードProtocolHandlerを定義したProtocolHandler.xcuを定義するもの、ですが、今回は使いません。

まずはLibreOffice5(63)オプションページを持つ拡張機能の例を作る: その1にあるように、descriptionsフォルダ内のテキストファイル(省略可)、アイコンファイル(省略可)、component.py(省略不可)、config.ini(省略不可)を作成し、optionsdialoghandler.pyにIMPLE_NAME(実装サービス名)とSERVICE_NAME(サービス名)を定義します。

次にcreateOptionsDialogXcu.pyの関数createXcs()とcreateXcs.pyの関数createOptionsDialogXcu()を編集した後実行して、OptionsDialog.xcuconfig.xcsを作成します。

これ以降はスクリプトの編集は不要です。

あとはcreateXMLs.pyを実行すると、OptionsDialog.componentsファイル、manifest.xmlファイル、description.xmlファイルを生成します。

createOXT.pyを実行するとsrcフォルダ内にある必要なファイルを探し出してoxtファイルを作成してoxtフォルダに出力します。

deployOXT.pyはoxtファイルを拡張機能マネージャーに登録します。

これを実行するときはLibreOfficeを終了しておかないとややこしいことになります。

LibreOfficeを起動したままdeployOXT.pyを実行すると一見問題なくoxtファイルが拡張機能マネージャーに登録されたようにみえます。

しかしその後その拡張機能を呼び出すとモジュールがないと言われます。

これをちゃんと動くようにするにはツール→拡張機能マネージャーでいったんそのoxtファイルを削除してLibreOfficeを再起動し、再度、ツール→拡張機能マネージャーでそのoxtファイルを登録しLibreOfficeを再起動しないといけませんでした。

execAtOnce.pyはこれらのスクリプトを一発で実行するものです。

xcuファイル、xcsファイル、xmlファイルを増減したときはcreateXMLs.pyを実行して、manifext.xmlファイルへの登録を反映させる必要がありますが、それ以外はdeployOXT.pydeployOXT.pyだけ実行して動作確認します。

createXcs.pyファイルを実行してその動作確認するときは、LibreOffice5(65)オプションページを持つ拡張機能の例を作る: その3でやったように、registrymodifications.xcuにあるノードの値を消しておかないといけません。

次の関連記事:LibreOffice5(68)画像フィルターリストの作成

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ