<prefwindow> は設定ウィンドウの documentElement (言い替えると、 <window> や <dialog> のようなトップレベルの要素)です。
この要素は一つ以上の<prefpane> 要素を含んでいるべきです。
未定
<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 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); modal と centerscreen が自動的に付与されるために、それらを特性として示す必要が無い点を除いて、 window.openDialog に似ています。Firefoxの接続設定のような、モーダルなサブダイアログを開くためにこのメソッドを使用してください。
DOMWindow openWindow(in string windowType, in string url, in string features, in object params); 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)
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>
設定システムの資料:
Page last modified 07:10, 2007年2月7日 by Piro