XUL improvements in Firefox 3

Firefox 3 では、既存の要素の改善と共に、多くの新しい XUL 要素が提供されます。これらは、他の場所で詳細が文書化されていますが、この記事では、これらの改善の便利な一覧と詳細なドキュメントへのリンクを提供します。

新しい要素

  • ある範囲の中で値を選択するのに使われるスライディングスケールを作成するために <scale> 要素が追加されました。例えば、音量コントロールには特にこの要素が使われるでしょう。
  • テキストボックスの type 属性の新しい値 number は数値のみが入力されるテキストボックスを作ります。更に、値を段階的に増減させるための矢印ボタンが片側に表示されます。 数値入力用テキストボックスについての更なる情報 (バグ 345510)
  • XBL バインディングを使ったメニューのようなウィジットを作るときに便利な <dropmarker> 要素が追加されました。 (バグ 348614)
  • XBL バインディングを使ったウィジットを作るときに使うことのできる <spinbuttons> 要素が追加されました。 (バグ 155053)
  • 日付と時刻を入力するために <datepicker><timepicker> の 2 つのウィジットが使うことができます。type 属性を設定すると、テキストボックスやカレンダのような日付ピッカの多くのスタイルが利用可能になります。日付ピッカについての更なる情報 Datepicker リファレンス Timepicker リファレンス
  • 新しい <panel> 要素は、メニューではないポップアップのために設計されたもので、あらゆる種類のコンテンツをサポートできます。メニューには <menupopup> 要素を使ってください。メニューはキーボードナビゲーションを提供し、サブメニューの開閉をサポートしています。
  • ガイド は、新機能として利用可能になったメニューとポップアップを説明するために作成されています。

ツリーの改善点

  • ツリーは水平方向のスクロールをサポートするようになりました。水平方向のスクロールバーはコラムが利用可能な幅に収まらないときに表示されます。これは、コラムが利用可能な空間よりも多い幅を指定している場合におきます。 (バグ 212789)
  • 新しい選択スタイルでは列全体ではなくセルを個々に選択できるようになります。これはツリーの seltype 属性を cell にすることで利用可能になります。(バグ 296040)
  • ツリーは個々のセルの編集をサポートするようになります。編集可能なセルをダブルクリックするとユーザがセルの内容を編集できるテキスト入力欄を表示します。詳細 (バグ 201499)
  • <treecol> 要素がオーバーフロー属性をサポートしました。この属性を true にすると、カラム内のセルのテキストがセル内に収まりきらない場合、隣接する空白のセルに広がります。

メニューの改善点

<menu><menulist> 要素でいくつかの改良が行われました (バグ 333023):

  • image 属性が画像の設定に一貫して使われます。
  • <menulist> 要素はアイテムが選択されると select イベントを発生させます。
  • inputFieldeditable プロパティが <menulist> 要素に追加されました。
  • <menu><menuitem><menuseparator> 要素は <menulist> 要素内でそのアイテムが選択されているかどうかを取得するための読み込み専用の selected プロパティをもつようになりました。
  • <menu><menuitem><menuseparator> 要素はその要素を囲んでいる <menulist> を返す、読み込み専用の control プロパティをもつようになりました。
  • <menu><menuitem><menuseparator> 要素は対応する属性を設定する accessKeydisabledcropimagelabel プロパティをサポートするようになりました。
  • <menu> 要素に、<menuitem> 属性を追加、挿入、削除するメソッドが実装されました (バグ 372552)
  • 編集可能(editable="true")な <menulist> 要素のテキスト入力欄に対する内部的な nsIEditor を取得するための edtior プロパティのサポート。(バグ 312867)
  • 半透明をサポートしているプラットフォームではメニューは半透明になるかもしれません。 (バグ 70798)

textbox の改善点

  • textboxspellcheck 属性を true に設定するとテキストボックスのインラインスペルチェックが有効になります。(バグ 346787)
  • <textbox> 要素は値を初期値にリセットする reset() メソッドを持つようになりました。textbox の defaultValue プロパティを使って初期値の変更や取得を行うことができます。(バグ 312867)
  • テキスト入力欄の内部 nsIEditor を得るための editor プロパティのサポート。 (バグ 312867)
  • textbox は、テキストを貼り付ける際の改行の扱い方を指定するための newlines 属性をサポートするようになりました。(バグ 253481) 取りうる値は以下の通りです:
    • pasteintact - すべてそのままの状態で貼り付ける
    • pastetofirst - (初期値) 最初の改行までを貼り付ける
    • replacewithspaces - 改行を空白に置き換える
    • replacewithcommas - 改行をコンマで置き換える
    • strip - すべての改行を取り除く。
    • stripsurroundingwhitespace - すべての改行と先頭および末尾の空白を取り除く。

他の要素の改善点

  • <button> 要素の type 属性を repeat とすることで、ボタンを押下している間 command イベントを繰り返し発生するようなボタンを作ることができます。(バグ 331055)
  • <dialog> 要素の buttondisabledaccept 属性を使うことによって、 accept (OK) ボタンを初期状態で無効にすることができるようになりました。 (バグ 247849)
  • <titlebar> 要素が、子要素にイベントが渡るようにする allowevents 属性をサポートしました。(バグ 361425)
  • <splitter> 要素が、collapse 属性の新しい値 both をサポートしました。これは、スプリッタをドラッグしたときに、両側の要素を伸縮できるようにするものです。要素の伸縮前または伸縮後には substate 属性が設定されます。
  • <richlistbox> 要素が複数選択に対応しました。 seltype 属性を multiple にすることで複数選択が可能になります。
  • <radio> 要素が、そのラジオボタンが属する <radiogroup> 要素の id を設定できる group 属性をサポートしました。これは、ラジオボタンを <radiogroup> 内に記述した場合とは異なる配置にしたい場合に利用できます。
  • メニューとパネル、ツールチップが、openPopup()openPopupAtScreen() という 2 つの新しいメソッドをサポートしました。これらのメソッドは、使い方が分かりづらかった showPopup の代わりに使います。
  • 非ラテン語キーボードレイアウト環境において、 <key> 要素によるキー操作の捕捉が改善されました。Geckoのkeypressイベントを参照してください。
  • Mac OS X において、ルート要素(<window><dialog><prefwindow> および <wizard>)の activetitlebarcolor 属性および inactivetitlebarcolor 属性によって、アクティブ時と非アクティブ時それぞれについてウィンドウのタイトルバーの色を指定できるようになりました。

参照

 

 

 

Document Tags and Contributors

タグ:
Contributors to this page: Potappo, Piro, fscholz, Mgjbot
最終更新者: fscholz,