[PR]血液型で当たる無料占い:アナタと私の相性は?《無料診断》

XUL チュートリアル - 6.9 - 永続性のあるデータ
戻る 内容 リファレンス 進む

XUL チュートリアル - 永続性のあるデータ (Persistant Data)

このセクションでは、XUL ウィンドウの状態を保存する方法を説明します。

状態を記憶する

大きなアプリケーションを作る場合、しばしば、セッション間でウィンドウの状態が保存できたらよいと思うでしょう。例えば、ウィンドウは、ユーザーがアプリケーションを終了した後でも、どのツールバーが折り畳まれているのか記憶しておくべきです。

一つの可能性は、何を保存したいのかに関する情報を集め、次いで、それをファイルに保存するスクリプトを書くことでしょう。しかし、アプリケーションすべてでこれを行なうのは苦痛です。便利なことに、XUL には、ウィンドウの状態を保存するメカニズムがあります。

そうした情報は、収集され、ユーザーの他の設定情報と同じディレクトリーの RDF ファイルに保存されます。そこには、個々のウィンドウに関する状態情報が保持されます。この方法には、Mozilla のユーザープロファイルと協働できる利点があります。その結果、個々のユーザーごとに設定が可能となります。

XUL では、どの要素の状態も保存できます。多くの場合、ツールバーの状態やウィンドウの位置、あるパネルが表示されているかどうかを保存したいのではないでしょうか。

状態を保存できるようにするには、保存したい値をもつ要素に persist 属性を追加するだけです。persist 属性は、保存したい要素の属性を、空白で区切ったリストで指定します。

例えば、ウィンドウの大きさを保存するには、次のようにすればよいでしょう。

<window
  width="200"
  height="300"
  persist="width height"
  .
  .
  .

window 要素の 2 つの属性である widthheight が保存されます。別の属性も、空白で区切って persist に加えることによって、保存することができます。

persist 属性はどの要素にも加えることができ、どの属性も保存できます。スクリプトを使って属性を操作している場合、通常あり得ない値を使う場合があるかもしれません。

persist 属性を「ファイル検索」ダイアログの幾つかの要素に追加しましょう。ウィンドウの位置を保存したいとします。このためには、ウィンドウを変更する必要があります。

<window
  id="findfile-window"
  title="Find Files"
  persist="screenX screenY width height"
  xmlns:html="http://www.w3.org/1999/xhtml"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

これによって、ウィンドウの x 座標と y 座標、ウィンドウの幅と高さが保存されます。これは、スプリッターの折り畳まれた状態を保存するよう拡張できます。実際には、現在のタブの状態を保存しても意味はないでしょう。


(進む) 次は、XUL 要素にイベントハンドラーを追加する方法を見ることにしましょう。

XUL チュートリアル - 6.9 - 永続性のあるデータ
戻る 内容 リファレンス 進む

[PR]看護師の好条件な求人情報満載:年間50000人の看護師が転職に利用!