prefpane

« XUL リファレンス HOME [ | 属性 | プロパティ | メソッド | 関連項目 ]

この文書は翻訳中です。他国語のままの部分などがあるのはその為です。
是非お気軽に MDN に登録して翻訳に参加し、私たちの手助けをして下さい!

prefwindow 内の一つの設定パネル。prefpane は、変更される設定一式を明記する設定の説明と、それらの設定を調節するユーザインタフェースの二つの部分から成っています。前者は preferences 要素で指定し、後者は他の XUL 要素で指定されます。

これら二つの部分は prefpane 要素の子として直接指定するか、src 属性を使用して別のファイル内のペインに置きます。後者の場合、メインの設定ウィンドウのオーバーレイとして読み込まれるため、別のファイルでは、そのルートタグとして overlay タグを使用しなければなりません。

詳しい情報が設定システムの記事にあります。

属性
helpURI, image, label, onpaneload, selected, src
プロパティ
image, label, preferenceElements, preferences, selected, src
メソッド
preferenceForElement

<prefpane id="paneGeneral" label="General" src="chrome://path/to/paneOverlay.xul"/>

または…

<prefpane id="paneGeneral" label="General" onpaneload="onGeneralPaneLoad(event);">
  <preferences>
    <preference id="pref_one" name="extensions.myextension.one" type="bool"/>
    ... more preferences ...
  </preferences>

  <checkbox label="Number one?" preference="pref_one"/>
  ... more UI elements ...
</prefpane>

属性

helpURI
型: uri
preference パネルに関連付けられたヘルプページの URI。この URI は、help ボタンが押されたとき、ヘルプビューアで開かれます。
image
型: 画像の URL
要素上に表示する画像の URL。この属性が空または除外された場合、画像は表示されません。画像の位置は dir 属性および orient 属性によって決定されます。
label
型: 文字列型
要素上に表示するlabel。 省略された場合、テキストは表示されない。
onpaneload
型: スクリプトコード
ここで定義されたコードは、window の load イベントのように、ペインが読み込まれた時、呼び出されます。
selected
型: 論理型
この属性は、現在選択された prefpanetrue に設定されます。選択されたペインを変更するには prefwindowshowPane メソッドを使用してください。
src
型: overlay URL
preference ペインのコンテンツの URL。これが指定されていないときは prefpane 要素のコンテンツが使用されます。

プロパティ

image
型: image の URL
image 属性の値の取得と設定。
label
型: 文字列型
label 属性の値の取得と設定。
preferenceElements
型: DOM Nodelist
preferences に関連付けられたペイン内の UI 要素のリストを保持します。
preferences
型: DOM Nodelist
ペイン内の preference 要素のリストを保持します。
selected
型: 論理型
このプロパティの値は、要素が選択されているときは true、選択されていないときは false です。このプロパティは読み取り専用です。
src
型: URL
src 属性の値の取得と設定。

メソッド

DOMElement getPreferenceElement(in DOMElement startElement)
preferenceForElement( uielement )
戻り値の型: preference 要素
preference 要素をユーザインタフェース要素が付属する要素に返します。
void userChangedValue(in DOMElement element);
The user changed the value in a widget that the preferences system does not automatically track state changes for (1) and the preference element associated with the widget should be updated based on the state held by the widget. For example, if you are using a listbox and the user changes the contents of the listbox (such as adding or removing an item) and you want to sync the changes back to a preference, you must write an onsynctopreference handler for your listbox that returns the value to be written to the preference element, and then call the userChangedValue function every time you edit the list in a way that should cause the preference's value to change.
(1) an example of a widget that has state changes tracked for it includes the checkbox element, whose state is tracked automatically when the "command" event fires.
void writePreferences(in boolean flushToDisk);
Writes all changes in this pane to preferences, optionally flushes to disk.

Events

paneload
This event is fired on the pane element when the pane is fully loaded (e.g. after the overlay is merged.) You can put the handler for this event in the onpaneload attribute on the element.

Using multiple prefpanes

Note that when using multiple prefpanes in the same prefwindow, you must not put the <script> elements above the prefpane elements, but instead below them. Otherwise the dialog will show erratic behavior and not display correctly.

Place the <script> tags as in the following example for preference dialogs to work correctly:

<prefwindow>
  <prefpane id="paneGeneral" label="General">
    ...
  </prefpane>

  <prefpane id="paneSecurity" label="Security">
    ...
  </prefpane>

  <script type="application/javascript" src="chrome://myext/content/script0.js">
  <script type="application/javascript" src="chrome://myext/content/script1.js">
</prefwindow>

When opening a dialog with multiple panes you must include the toolbar feature in the call to openDialog, for example:

window.openDialog("chrome://example/content/prefwin.xul", "", "chrome,toolbar");

Document Tags and Contributors

Contributors to this page: ethertank, Marsf
最終更新者: ethertank,