XUL-Verbesserungen in Firefox 3
Firefox 3 bietet eine Reihe neuer XUL-Elemente sowie Verbesserungen bestehender Elemente. Während dieses Material an anderer Stelle detailliert dokumentiert ist, bietet dieser Artikel eine praktische Liste dieser Verbesserungen sowie Links zur detaillierten Dokumentation.
Neue Elemente
-
Numerische Steuerelemente:
- Das neue
<scale>
-Element ermöglicht die Erstellung von Schiebereglern, mit denen der Benutzer beliebige Werte in einem festgelegten Bereich auswählen kann. Dieses Widget wird typischerweise verwendet, um beispielsweise eine Lautstärkeregelung zu erstellen. - Ein neuer Wert,
number
, für dastype
-Attribut von Textfeldern erstellt ein Textfeld, in das nur Zahlen eingegeben werden können. Außerdem erscheinen Pfeiltasten an einer Seite, die verwendet werden können, um durch Werte zu blättern. Weitere Informationen über numerische Textfelder. (Firefox Bug 345510) - Ein
<spinbuttons>
-Element wurde hinzugefügt, das bei der Erstellung von Widgets mit XBL-Bindungen verwendet werden kann. (Firefox Bug 155053) - Zwei Widgets,
<datepicker>
und<timepicker>
, können verwendet werden, um die Eingabe von Daten und Zeiten zu ermöglichen. Der Datepicker ist in mehreren Stilen verfügbar, indem das Attributtype
gesetzt wird, um die Eingabe mit Textfeldern oder einem Kalendergitter zu ermöglichen. Weitere Informationen über Datepicker.
- Das neue
-
Ein Leitfaden für Menüs und Popups wurde erstellt, der neue verfügbare Funktionen beschreibt:
- Ein
<dropmarker>
-Element wurde hinzugefügt, das nützlich ist, wenn menüähnliche Widgets mit XBL-Bindungen erstellt werden. (Firefox Bug 348614) - Das
<panel>
-Element ist neu und für Popups gedacht, die keine Menüs sind. Sie können jeden Inhaltstyp unterstützen. Das <menupopup>-Element sollte für Menüs verwendet werden. Menüs bieten Tastaturnavigation und Unterstützung zum Öffnen und Schließen von Untermenüs.
- Ein
Verbesserungen an Trees
- Trees können jetzt horizontal gescrollt werden. Wenn die Spalten nicht in die verfügbare Breite passen, erscheint eine horizontale Bildlaufleiste. Dies geschieht, wenn die angegebenen Breiten der Spalten mehr ausmachen als der verfügbare Platz. Weitere Details finden Sie im Firefox Bug 212789.
- Ein neuer Auswahlstil ermöglicht es, einzelne Zellen anstelle ganzer Zeilen auszuwählen. Um diesen Auswahlstil zu verwenden, setzen Sie das
seltype
-Attribut des Baums aufcell
. - Trees unterstützen jetzt die Bearbeitung einzelner Zellen. Wenn der Benutzer auf eine bearbeitbare Zelle doppelklickt, erscheint ein Textfeld, in dem der Benutzer den Inhalt der Zelle bearbeiten kann. Weitere Details finden Sie in diesen Anmerkungen.
<treecol>
-Elemente unterstützen jetzt einoverflow
-Attribut, das auf wahr gesetzt werden kann, um den Text von Zellen innerhalb dieser Spalte zu erweitern, sodass er in benachbarte leere Zellen passt, wenn der Text zu groß ist, um in die einzelne Zelle zu passen.
Verbesserungen an Menüs
- Das
image
-Attribut wird jetzt konsistent zum Einstellen von Bildern verwendet. - Menüliste lösen das
select
-Ereignis aus, wenn ein Element ausgewählt wird. - Die
inputField
- undeditable
-Eigenschaften wurden zur Menüliste hinzugefügt. - Die
<menu>
,<menuitem>
und<menuseparator>
-Elemente haben jetzt eine readonlyselected
-Eigenschaft, die abfragt, ob das Element in einer <menulist> ausgewählt ist. - Die
<menu>
,<menuitem>
und<menuseparator>
-Elemente haben jetzt eine readonlycontrol
-Eigenschaft, die die umschließende <menulist> zurückgibt. - Die
<menu>
,<menuitem>
und<menuseparator>
-Elemente unterstützen jetzt dieaccessKey
-,disabled
-,crop
-,image
- undlabel
-Eigenschaften, die das entsprechende Attribut setzen. - Das <menu>-Element hat jetzt Methoden zum Anhängen, Einfügen und Entfernen von Menüelementen. (Firefox Bug 372552)
- Bearbeitbare Menüliste bieten jetzt eine
editor
-Eigenschaft, um den internennsIEditor
für ihr Textfeld zu erhalten. - Menüs können jetzt auf Plattformen, die diese Funktion unterstützen, durchsichtig gemacht werden (Firefox Bug 70798).
Verbesserungen an Textfeldern
-
Das Setzen des
spellcheck
-Attributs eines Textfeldes auftrue
aktiviert die Rechtschreibprüfung für dieses Textfeld. -
Das
<textbox>
hat jetzt einereset()
Methode, um den Wert des Textfelds auf den Standardwert zurückzusetzen. Die EigenschaftdefaultValue
kann verwendet werden, um den Standardwert des Textfeldes abzurufen und zu ändern. -
Eine
editor
-Eigenschaft wird jetzt angeboten, die es Ihnen ermöglicht, den internennsIEditor
für das Textfeld zu erhalten. -
textbox
unterstützt jetzt einnewlines
-Attribut, das angibt, wie Zeilenumbrüche in eingefügtem Text behandelt werden. Mögliche Werte sind:pasteintact
- alles unverändert einfügenpastetofirst
- (Standardwert) nur bis zum ersten Zeilenumbruch einfügenreplacewithspaces
- Zeilenumbrüche durch Leerzeichen ersetzenreplacewithcommas
- Zeilenumbrüche durch Kommas ersetzenstrip
- alle Zeilenumbrüche entfernenstripsurroundingwhitespace
- alle Zeilenumbrüche und umgebende Leerzeichen entfernen
Weitere Verbesserungen
- Das
type
-Attribut eines<button>
kann aufrepeat
gesetzt werden, um Schaltflächen zu erstellen, die ihre Befehlsereignisse wiederholt auslösen, während die Maustaste gedrückt gehalten wird. - Das
buttondisabledaccept
-Attribut kann jetzt auf das<dialog>
-Element angewendet werden, um die Schaltfläche Akzeptieren (OK) anfänglich zu deaktivieren. - Das
<titlebar>
-Element unterstützt jetzt dasallowevents
-Attribut, um Ereignisse an die Kinder der Titelleiste weiterzuleiten. - Der
<splitter>
unterstützt jetzt einen zusätzlichen Wert für dascollapse
-Attribut von'both'
, der angibt, dass der Splitter Elemente auf beiden Seiten kollabieren kann, wenn er gezogen wird. Dassubstate
-Attribut wird entweder auf vorher oder nachher gesetzt, wenn eines kollabiert wird. (Firefox Bug 337955) - Das
<richlistbox>
-Element unterstützt jetzt die Mehrfachauswahl. Setzen Sie dasseltype
-Attribut auf'multiple'
, um dies zu aktivieren. - Das
<radio>
-Element hat eingroup
-Attribut, das auf die ID eines<radiogroup>
-Elementes gesetzt werden kann, zu dem der Radiobutton gehört. Dadurch können die Radiobuttons so angeordnet werden, dass sie sich möglicherweise besser integrieren lassen, wenn sie nicht alle in einer Radiogruppe platziert sind. - Menüs, Panels und Tooltips unterstützen zwei zusätzliche Methoden,
openPopup()
undopenPopupAtScreen()
. Diese Methoden sollten anstelle vonshowPopup()
verwendet werden, da sich letztere als verwirrend erwiesen hat. - Die Behandlung des
<key>
-Elementes wurde für Benutzer mit nicht-lateinischen Tastaturlayouts verbessert. - Unter Mac OS X stehen die Attribute
activetitlebarcolor
undinactivetitlebarcolor
der Wurzelelemente (<window>
,<dialog>
,<prefwindow>
und<wizard>
) zur Verfügung, um die Farbe der Titelleisten der Fenster anzupassen.