前の関連記事: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.pytoolsフォルダには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.xcuとconfig.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.pyとdeployOXT.pyだけ実行して動作確認します。
createXcs.pyファイルを実行してその動作確認するときは、LibreOffice5(65)オプションページを持つ拡張機能の例を作る: その3でやったように、registrymodifications.xcuにあるノードの値を消しておかないといけません。
0 件のコメント:
コメントを投稿