Verbesserungen in XUL in Firefox 3
Firefox 3 bietet eine Reihe neuer XUL-Elemente sowie Verbesserungen an bestehenden Elementen. Während dieses Material an anderer Stelle ausführlich dokumentiert ist, bietet dieser Artikel eine praktische Liste dieser Verbesserungen sowie Links zu den detaillierten Dokumentationen.
Neue Elemente
-
Numerische Kontrollen:
- Das neue
<scale>
-Element ermöglicht es Ihnen, Schieberegler zu erstellen, mit denen der Benutzer einen beliebigen Wert in einem angegebenen Bereich auswählen kann. Dieses Widget wird typischerweise z. B. zur Erstellung einer Lautstärkeregelung verwendet. - Ein neuer Wert,
number
, für dastype
-Attribut von Textboxen erstellt eine Textbox, in die nur Zahlen eingegeben werden können. Zusätzlich erscheinen Pfeiltasten auf einer Seite, mit denen Sie durch Werte blättern können. Weitere Informationen zu numerischen Textboxen. (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 dastype
-Attribut festgelegt wird, um die Eingabe mit Textboxen oder einem Kalendergitter zu ermöglichen. Weitere Informationen zu Datumswählern.
- Das neue
-
Ein Leitfaden wurde für Menüs und Popups 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 konzipiert, 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ützen das Öffnen und Schließen von Untermenüs.
- Ein
Verbesserungen an Bäumen
- Bäume können jetzt horizontal gescrollt werden. Wenn die Spalten nicht in die verfügbare Breite passen, erscheint eine horizontale Bildlaufleiste. Dies passiert, wenn die angegebenen Breiten der Spalten mehr als den verfügbaren Platz ausmachen. Details finden Sie unter Firefox Bug 212789.
- Ein neuer Auswahlstil erlaubt es, Zellen individuell auszuwählen, anstatt ganze Zeilen. Um diesen Auswahlstil zu verwenden, setzen Sie das
seltype
-Attribut des Baums aufcell
. - Bäume unterstützen jetzt das Bearbeiten einzelner Zellen. Wenn der Benutzer auf eine bearbeitbare Zelle doppelklickt, erscheint ein Textfeld, in dem der Benutzer den Inhalt der Zelle bearbeiten kann. Für Details siehe diese Hinweise.
- <treecol>-Elemente unterstützen jetzt ein
overflow
-Attribut, das auf true gesetzt werden kann, um den Text der Zellen innerhalb dieser Spalte zu benachbarten leeren Zellen zu erweitern, wenn der Text zu groß ist, um in diese einzelne Zelle zu passen.
Verbesserungen an Menüs
- Das
image
-Attribut wird jetzt konsistent für das Setzen von Bildern verwendet. - Menülists lösen das
select
-Ereignis aus, wenn ein Element ausgewählt wird. - Die Eigenschaften
inputField
undeditable
wurden zu menulist hinzugefügt. - Die
<menu>
,<menuitem>
und<menuseparator>
-Elemente haben jetzt eine schreibgeschützteselected
-Eigenschaft, die abruft, ob das Element in einer <menulist> ausgewählt ist. - Die
<menu>
,<menuitem>
und<menuseparator>
-Elemente haben jetzt eine schreibgeschütztecontrol
-Eigenschaft, die die umgebende <menulist> zurückgibt. - Die
<menu>
,<menuitem>
und<menuseparator>
-Elemente unterstützen jetzt die EigenschaftenaccessKey
,disabled
,crop
,image
undlabel
, die das entsprechende Attribut setzen. - Das <menu>-Element hat jetzt Methoden, um Menüelemente anzuhängen, einzufügen und zu entfernen. (Firefox Bug 372552)
- Bearbeitbare Menülists bieten jetzt eine
editor
-Eigenschaft, um den internennsIEditor
für das Textfeld zu erhalten. - Menüs können jetzt auf Plattformen, die dies unterstützen, durchsichtig gemacht werden (Firefox Bug 70798).
Verbesserungen an Textboxen
- Das Setzen des
spellcheck
-Attributs einer Textbox auftrue
aktiviert die Inline-Rechtschreibprüfung für diese Textbox. - Die
<textbox>
hat jetzt einereset()
Methode, um den Wert der Textbox auf den Standardwert zurückzusetzen. DiedefaultValue
-Eigenschaft kann verwendet werden, um den Standardwert der Textbox abzurufen und zu ändern. - Eine
editor
-Eigenschaft wird jetzt angeboten, die es ermöglicht, den internennsIEditor
für das Textfeld zu erhalten. textbox
unterstützt jetzt einnewlines
-Attribut, das angibt, wie Zeilenumbrüche im eingefügten Text behandelt werden. Mögliche Werte sind:pasteintact
- alles unverändert einfügenpastetofirst
- (Standardwert) nur bis zum ersten Zeilenumbruch einfügenreplacewithspaces
- Zeilenumbrüche mit Leerzeichen ersetzenreplacewithcommas
- Zeilenumbrüche mit Kommas ersetzenstrip
- alle Zeilenumbrüche entfernenstripsurroundingwhitespace
- alle Zeilenumbrüche und umgebenden Leerraum entfernen
Weitere Verbesserungen
- Das
type
-Attribut auf einem<button>
kann aufrepeat
gesetzt werden, um Schaltflächen zu erstellen, die ihr Befehl-Ereignis wiederholt auslösen, während die Maustaste gedrückt wird. - Das
buttondisabledaccept
-Attribut kann jetzt auf dem<dialog>
-Element verwendet werden, um die akzeptieren (OK) Schaltfläche initial deaktiviert zu haben. - Das
<titlebar>
-Element unterstützt jetzt dasallowevents
-Attribut, um zu ermöglichen, dass Ereignisse an die Kinder der Titelleiste weitergegeben werden. - Der
<splitter>
unterstützt jetzt einen zusätzlichen Wert für dascollapse
-Attribut von'both'
, das angibt, dass der Splitter in beide Richtungen Elemente einklappen kann, wenn er gezogen wird. Dassubstate
-Attribut wird entweder auf before oder after gesetzt, wenn eines eingeklappt ist. (Firefox Bug 337955) - Das
<richlistbox>
-Element unterstützt jetzt Mehrfachauswahl. Setzen Sie dasseltype
-Attribut auf'multiple'
, um dies zu aktivieren. - Das
<radio>
-Element hat eingroup
-Attribut, das auf die ID eines<radiogroup>
-Elements gesetzt werden kann, zu dem die Radio-Schaltfläche gehört. Dies ermöglicht es, die Radio-Schaltflächen in einer Weise zu arrangieren, die möglicherweise nicht so geeignet ist, wenn sie alle in einer radiogroup platziert sind. - Menüs, Panels und Tooltips unterstützen zwei zusätzliche Methoden,
openPopup()
undopenPopupAtScreen()
. Diese Methoden sollten anstelle vonshowPopup()
verwendet werden, das als verwirrend in der Verwendung empfunden wurde. - Die Verarbeitung des
<key>
-Elements wurde für Benutzer von nicht-lateinischen Tastaturlayouts verbessert. - Auf Mac OS X sind die Attribute
activetitlebarcolor
undinactivetitlebarcolor
der Root-Elemente (<window>
,<dialog>
,<prefwindow>
und<wizard>
) verfügbar, um die Farbe der Titelleisten der Fenster anzupassen.