<prefwindow> 要素リファレンス

概説

<prefwindow> は設定ウィンドウの documentElement (言い替えると、 <window><dialog> のようなトップレベルの要素)です。

この要素は一つ以上の<prefpane> 要素を含んでいるべきです。

XUL構文

未定

<prefwindow xmlns="http://www.mozilla.org/keymaster/gat...re.is.only.xul"
       id="window-id" windowtype="window:type" title="Options"
       style="未定">
  一つ以上のprefpane要素
</prefwindow>

属性

lastSelected 
最後に選択されたペインの id 。設定ウィンドウが次に開かれたときに、そのペインを再び開くために使用されます。
type 
"prefwindow" または "child" のどちらかでなくてはいけません。
type="child" は、トップレベルの設定ウィンドウから開かれるサブダイアログ(それは通常モーダルダイアログです)であることを示します。(MacOS XやGNOMEのように)設定を即座に適用する環境では、このサブダイアログは、それらの設定を書き込んでもよいかどうか確認されます。(Windowsのように)設定を即座に適用しない環境でサブダイアログが確認された時(OKボタンが押された時)は、なされた変更は親ウィンドウの<preferences>のセットに保持され、親ウィンドウが確認された時に保存されます。子ウィンドウとなる設定ウィンドウは、複数のペインを持つことはできません。
dlgbuttons 
dialog要素の場合と同じです。

プロパティ

currentPane (読み取り専用) 
現在選択されている <prefpane> 要素。他のペインを選択するには showPane() メソッドを使用してください。(instantApply に対するものと同じコメント)
instantApply (読み取り専用) 
そのウィンドウが設定を即座に適用するモードかどうかを示します。値は真偽値のユーザ設定 browser.preferences.instantApply から読み込まれます。(?? それは <field>として宣言されている、ということはあなたは値をセットすることが できる 、しかしながら私はそうすることが正当とは信じられない。)
lastSelected (読み取り専用) 
lastSelected 属性の値を返します。
preferencePanes (読み取り専用) 
<prefpane> 要素の NodeList
type (読み取り専用) 
type 属性の値を返します。

メソッド

void addPane(in DOMElement pane); 
渡された <prefpane> 要素を設定ウィンドウに加えます。あなたはこのメソッドを、動的に生成された設定ペインをダイアログに加えるために使用できます。
animate(aOldPane, aNewPane) 
これは公開メソッドではありません(?)
DOMWindow openSubDialog(in string url, in string features, in object params); 
モーダルなサブダイアログを、設定ウィンドウの子ウィンドウとして開きます。このメソッドが使用される時 modalcenterscreen が自動的に付与されるために、それらを特性として示す必要が無い点を除いて、 window.openDialog に似ています。Firefoxの接続設定のような、モーダルなサブダイアログを開くためにこのメソッドを使用してください。
DOMWindow openWindow(in string windowType, in string url, in string features, in object params); 
モーダルでないサブウィンドウを設定ウィンドウの子ウィンドウとして開きます。あなたはウィンドウタイプを指定することができ、そのタイプのウィンドウがすでに存在して開かれている場合、新しいウィンドウを開く代わりに、そのウィンドウがフォーカスされます。このようなサブウィンドウの例は、Firefoxの設定の例外ウィンドウです。
void showPane(in DOMElement paneElement) 
与えられたペインを選択して、必要であれば動的に読み込みます。 paneElement は同じウィンドウに含まれる <prefpane> 要素でなければなりません。

注意:あなたは、そのウィンドウがすでに開かれていた場合に、 openWindow() を使って渡されたパラメータを受け取るために、サブウィンドウ内で initWithParams() 関数を定義することができます。例えば、Firefoxのパーミッションマネージャのユーザインターフェイスは、画像、ソフトウェアのインストール、そしてポップアップのブロックという3つのダイアログのために、同じウィンドウを使っています。それは、ウィンドウを閉じて開き直すことなくダイアログのタイプを切り替えるために initWithParams() を使っています。

提案される利用例のパターンは以下のようなものです:

// subwindow.js
function onLoad(ev) {
  // 何らかの初期化処理...

  initWithParams(window.arguments[0]); // 私たちは一つだけのパラメータがこのウィンドウに渡されることを期待しています
}

function initWithParams(aParams) {
  // これはすでに開かれているウィンドウが openWindow() を使ってアクティブにされる時にも呼ばれます
}

注意

モーダルなサブダイアログを開く場合

サブダイアログは、 window を通じてではなく、 document.documentElement を通じてのみ開くことができます。そのため、 openSubDialog() を呼ぶ例は以下のようになります。:

document.documentElement.openSubDialog("chrome://myextension/content/options-sub.xul", "", null)


prefpane以外の子を持たせる際の注意

script要素で外部のスクリプトを読み込ませるなどの目的で、prefwindow要素の子にprefpane要素以外の要素を置く場合、すべてのprefpane要素の後にこれらの要素を記述します。最初のprefpane要素よりも前にこれらの要素を記述した場合、パネルの切り替えに失敗するなどの問題が起こることがあります。

誤:

<prefwindow>
  <script src="config.js"/>
  <prefpane label="pane1" src="pane1.xul"/>
  <prefpane label="pane2" src="pane2.xul"/>
</prefwindow>

正:

<prefwindow>
  <prefpane label="pane1" src="pane1.xul"/>
  <prefpane label="pane2" src="pane2.xul"/>
  <script src="config.js"/>
</prefwindow>


Document Tags and Contributors

Contributors to this page: Piro
最終更新者: Piro,