紅孔雀 このページをアンテナに追加 RSSフィード

2007-01-12 Google Gadgets API 入門 (8)

[] Google Gadgets API 入門 (8)

今回は Feature-specific ライブラリから、タブ機能を提供する MiniMessage ライブラリについて解説します。


MiniMessage ライブラリとは

f:id:benikujyaku:20070112085558p:image

MiniMessage ライブラリとは、Gadget 内にちょっとしたメッセージを表示する機能を提供する Feature-specific ライブラリです。Gadget の状態や最新情報を表示するために使用することができます。

メッセージの種類

MiniMessage ライブラリでは、メッセージを以下の種類に分類しています:

Dismissible メッセージ
[x] リンクによってユーザが削除可能なメッセージです。
Timer メッセージ
指定時間経過後に自動的に削除されるメッセージです。
Static メッセージ
プログラム的に削除するまで表示され続けるメッセージです。ユーザが直接削除することはできません。

MiniMessage ライブラリの使用

MiniMessage ライブラリを使用するには、以下のように Gadget-Spec で宣言する必要があります:

<Module>
  <ModulePrefs ...>
    <Require feature="minimessage" />
  </ModulePrefs>
  ...
</Module>

プログラム側では、次のように minimessage オブジェクトをインスタンス化します:

var minimessage = new _IG_MiniMessage(__MODULE_ID__)

メッセージの作成は、以下のように行います:

minimessage.createDismissibleMessage("Now Loading...")

以下に、MiniMessage ライブラリで提供されている関数を示します:

_IG_MiniMessage(moduleId, opt_container)MiniMessage のコンストラクタです。パラメータには __MODULE_ID__ を渡します。opt_container はオプショナルであり、メッセージ・コンテナ(メッセージが追加される HTML 要素(通常は
)の DOM-ID)を指定します。opt_container が省略された場合は、デフォルトのメッセージ・コンテナが自動生成され、Gadget の上部に配置されます。
createDismissibleMessage(msg, opt_callback)Dismissible メッセージを作成します。msg には文字列または DOM-Node を指定します。opt_callback はオプショナルであり、削除用の [x] リンクがクリックされたときに呼び出されるコールバック関数を指定します。コールバック関数が false を返した場合はメッセージの削除がキャンセルされます。

例:
minimessage.createDismissibleMessage("Now Loading...")
minimessage.createDismissibleMessage(_gel("loading"))
createTimerMessage(msg, seconds, opt_callback)Timer メッセージを作成します。msg には文字列または DOM-Node を指定します。seconds にはメッセージが削除されるまでの秒数を指定します。opt_callback はオプショナルであり、指定秒数が経過したときに呼び出されるコールバック関数を指定します。コールバック関数が false を返した場合はメッセージの削除がキャンセルされます。

例:
minimessage.createTimerMessage("Your account has been updated.", 5)
createStaticMessage(msg)Static メッセージを作成します。msg には文字列または DOM-Node を指定します。Static メッセージを削除するには dismissMessage() 関数を使用します。戻り値として、作成された Static メッセージを表すオブジェクト(dismissMessage() の引数に使用します)が返されます。

例:
var message = minimessage.createStaticMessage("Now Loading...")
dismissMessage(msg)msg に指定された Static メッセージを削除します。

例:
var loadMsg = minimessage.createStaticMessage("Now Loading...")
minimessage.dismissMessage(loadMsg)

コールバック関数の使用

createDismissibleMessage() や createTimerMessage() で指定するコールバック関数は、メッセージが削除されるタイミングで呼び出されます。Static メッセージの場合は [x] リンクがクリックされたとき、Timer メッセージの場合は指定秒数が経過したときにコールバックされます。

コールバック関数の戻り値は、そのままメッセージの削除をするかどうかを指定する boolean 値です。false の場合はメッセージの削除がキャンセルされます。

以下にコールバック関数の使用例を示します:

var minimessage = new _IG_MiniMessage(__MODULE_ID__)
minimessage.createTimerMessage("Hello", 5, callback)

function callback()
{
    // 削除を許可する
    return true
}

条件によってメッセージの削除を許可するかどうか動作を変更したい場合にコールバック関数を使用します。

次回予告

今回までの内容で Google Gadgets API の基本的な範囲の解説はおしまいです。とりあえず本連載は一区切りということにします。

関連