Top > Ref > GuidLine

ガイドライン Edit

自分用オブジェクトリファレンスを作成するテスト。

みかた Edit

はっきり言って、慣れていないと読みにくいし分かりにくいです。が、一つのオブジェクトが巨大、多数のインターフェースをサポートしていることがあるため仕方がありません。

慣れている人には言うまでも無いが UNO オブジェクトの次のような項目に関する情報が得られるとマクロを書いたりするときに有用。(これら全ての情報は OOo API から取得可能。)

  • プロパティ
  • 偽プロパティ
  • メソッド
  • インターフェース
  • リスナー
  • サポートしているサービス
  • 利用できるサービス

(リスナー、サポートしているサービス、利用できるサービスの三つの項目はオプジェクトによっては項目が無いことがあります。)

一つのオブジェクトに対して一つのページが割り振られており、ページのセクションごとに上記の情報が記載されています。また、各セクションにある矢印マークをクリックすると表示/非表示を切り替えられます。

プロパティのみかた Edit

プロパティの項目は次のようになっています。

com.sun.star.script.XLibraryContainer
BasicLibraries
[ ReadOnly ]

OpenOffice.org Basic ライブラリコンテナ。

  • 行 1: プロパティ値の型
  • 行 2: プロパティ名
  • 行 3: プロパティの性質。読み込み専用、void の可能性ありなどの情報。この情報が空の時には表示されません
  • 行 4: プロパティを宣言しているモジュール名。Attribute の時にはインターフェース名、または空のこともあります。
  • 行 5: 説明

メソッドのみかた Edit

メソッドの項目は次のようになっています。

any
getTransferData( [in] com.sun.star.datatransfer.DataFlavor aFlavor )
           raises( com.sun.star.datatransfer.UnsupportedFlavorException,
                    com.sun.star.io.IOException )
declared in: com.sun.star.datatransfer.XTransferable

ドキュメントをあらわすデータを取得します。

aFlavor
取得するデータの種類を示すデータフレーバ
返り値
返り値は aFlavor で指定したデータの種類に依存します
  • 行 1: メソッドの返り値
  • 行 2: メソッド名と引数。引数が複数あるときには複数行に渡ることがあります
  • 行 3: 例外。例外が複数あるときには複数行に渡ることがあります。また、例外を送出しない場合には表示されません
  • 行 4: メソッドの簡単な説明
  • 行 5: 詳細な説明。引数や返り値など。また、返り値がオブジェクトの場合にはリンクなど

利用方法 Edit

各項目の用途

プロパティ Edit

プロパティは古いタイプのサービスのものですが、いまだよく利用するサービスの九割以上が古いサービスの形態をとっているためずっと利用することになると思われます。

プロパティ値は利用する言語によって取得、設定方法が異なる場合があります。

プロパティ値は com.sun.star.beans.XPropertySet インターフェースのメソッドを介してアクセスできます。

' Basic
oDoc = ThisComponent
msgbox oDoc.getPropertyValue("CharacterCount")

// Java
XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface(
     XPropertySet.class, oDoc);
long nCharCount = xPropertySet.getPropertyValue("CharacterCount");

また、ReadOnly の記載があるので CharacterCount プロパティは読み込み専用です。

言語によってはブリッジが次のような簡易なプロパティへのアクセス方法を提供していることがあります (Basic や Python など)。

msgbox oDoc.CharacterCount

メソッド Edit

メソッドの呼び出し方法は言語に依存しています。インターフェースをクエリーする必要がある言語では、そのメソッドを宣言しているインターフェースをクエリーしてからメソッドを呼び出す必要があります (そのメソッドがベースインターフェースのメソッドでない場合)。

' Basic
oSheets = oDoc.getSheets()
oSheet = oSheets.getByIndex(0)

// Java
XSpreadsheets xSheets = (XSpreadsheets) UnoRuntime.queryInterface(
     XSpreadsheets.class, oDoc);
XIndexAccess xSheets = (XIndexAccess) UnoRuntime.queryInterface(
     XIndexAccess.class, xSheets);

クエリーする必要のあるインターフェースは declared in の部分を参照します。

インターフェース Edit

オブジェクトが com.sun.star.container モジュールのインターフェースをサポートしている場合などにアクセス時に利用可能なメソッドが一目で確認できます。

リスナー Edit

利用できるリスナー一覧を見ると、対応するブロードキャスタが利用できることがわかります。

サポートしているサービス Edit

サポートしているサービスはそのオブジェクトの種類を調べる場合などに利用します。複数の型のオブジェクトが戻る事がある場合に利用されます。

利用できるサービス Edit

利用できるサービスは、新しくインスタンスを作成してそのドキュメントに挿入したり、新しく何かにアクセスすることに利用できます。

作成指針 Edit

概要

  • プラグインで整形させる -> 見た目チェック
  • 改造版 MRI でページのほとんどを自動生成 -> プラグインのマークアップに応じて変更
  • プロパティ、メソッドに説明を書き込む (IDL Ref. の訳でない)
  • 自動生成された部分はいじらない

以下のうち定義部分は改造版 MRI で自動生成されたものを利用します。

プロパティ Edit

ブロック型 property および pseudproperty プラグイン

#property{{
プロパティ値の型
プロパティ名
プロパティ Attributes (空行のこともあり)
プロパティを宣言しているサービス名 (Attribute の時にはインターフェース名) (空もあり)
説明 (複数行可)
}}
  • Attributes が無いときは空行に
  • プロパティ値の型に com.sun.star に所属するものがある場合、IDL Ref. に自動でリンクされます
  • 説明はマークアップ利用可

pseudproperty のときには宣言しているサービス名の代わりに元メソッド名を記入します。

メソッド Edit

ブロック型 method プラグイン

#method{{
メソッドの返り値
メソッド名
引数 ("," コンマ区切り、空のこともあり)
例外 ("," コンマ区切り、空のこともあり)
宣言しているインターフェース名
簡単な説明
詳細説明 (複数行可)
}}
  • 引数が無いときには空行に
  • 例外が無いときには空行に
  • 返り値、引数、例外は IDL Ref. にリンクされます
  • 詳細説明はマークアップ利用可

インターフェース Edit

ブロック型 interfaces、listeners、services、avservices プラグイン

#interfaces{{
インターフェース名 1|説明
インターフェース名 2|説明
...
}}
  • 説明には "|" 不可
  • インターフェース名はリンクされます

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