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 Steuerungen:
- Das neue
<scale>-Element ermöglicht es Ihnen, Schieberegler zu erstellen, mit denen der Benutzer jeden Wert in einem angegebenen Bereich auswählen kann. Dieses Widget würde typischerweise verwendet werden, 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 dürfen. Zusätzlich erscheinen Pfeiltasten auf einer Seite, die verwendet werden können, um durch die Werte zu blättern. Mehr Informationen über numerische Textfelder. (Firefox Bug 345510) - Ein
<spinbuttons>-Element wurde hinzugefügt, das beim Erstellen 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 einer Reihe von Stilen verfügbar, indem dastype-Attribut gesetzt wird, um die Eingabe mit Textfeldern oder einem Kalendergitter zu ermöglichen. Mehr Informationen über Datumswähler.
- 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 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ützen das Öffnen und Schließen von Untermenüs.
- Ein
Verbesserungen der Baumstrukturen
- Baumstrukturen können jetzt horizontal gescrollt werden. Wenn die Spalten nicht in die verfügbare Breite passen, erscheint ein horizontaler Scrollbalken. Dies geschieht, wenn die angegebenen Breiten der Spalten zusammen mehr als der verfügbare Platz sind. Siehe Firefox Bug 212789 für Details.
- Ein neuer Auswahlstil ermöglicht es, Zellen einzeln auszuwählen, anstatt ganze Zeilen. Um diesen Auswahlstil zu verwenden, setzen Sie das
seltype-Attribut des Baumes aufcell. - Baumstrukturen 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. Siehe diese Notizen für Details.
- <treecol>-Elemente unterstützen jetzt ein
overflow-Attribut, das auf true gesetzt werden kann, um den Text der Zellen innerhalb dieser Spalte auf benachbarte leere Zellen auszuweiten, wenn der Text zu groß ist, um in eine einzelne Zelle zu passen.
Verbesserungen der Menüs
- Das
image-Attribut wird nun konsistent für die Einstellung von Bildern verwendet. - Menüliste feuern das
select-Ereignis beim Auswählen eines Elements ab. - Die
inputField- undeditable-Eigenschaften wurden zur 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 umschließende <menulist> zurückgibt - Die
<menu>,<menuitem>und<menuseparator>-Elemente unterstützen jetzt dieaccessKey,disabled,crop,imageundlabel-Eigenschaften, die das entsprechende Attribut setzen - Das <menu>-Element hat jetzt Methoden zum Anhängen, Einfügen und Entfernen von Menüpunkten. (Firefox Bug 372552)
- Bearbeitbare Menüliste bieten jetzt eine
editor-Eigenschaft, um den internennsIEditorfür ihr Textfeld zu erhalten. - Menüs können jetzt auf Plattformen, die es unterstützen, transluzent gemacht werden (Firefox Bug 70798).
Verbesserungen der Textfelder
- Das Setzen des
spellcheck-Attributs eines Textfeldes auftrueaktiviert die Rechtschreibprüfung für dieses Textfeld. - Das
<textbox>hat jetzt einereset()Methode, um den Wert des Textfeldes auf den Standardwert zurückzusetzen. DiedefaultValue-Eigenschaft kann verwendet werden, um den Standardwert abzurufen und zu ändern. - Eine
editor-Eigenschaft wird jetzt angeboten, die es Ihnen ermöglicht, den internennsIEditorfür das Textfeld zu erhalten. textboxunterstü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 an einem<button>kann aufrepeatgesetzt werden, um Schaltflächen zu erstellen, die ihr Befehlsereignis wiederholt feuern, während die Maustaste gedrückt gehalten wird. - Das
buttondisabledaccept-Attribut kann nun beim<dialog>-Element verwendet werden, um die Akzeptieren (OK)-Schaltfläche initial zu deaktivieren. - Das
<titlebar>-Element unterstützt jetzt dasallowevents-Attribut, um Ereignisse an die Kinder der Titelleiste weiterzugeben. - Der
<splitter>unterstützt jetzt einen zusätzlichen Wert für dascollapse-Attribut von'both', was bedeutet, dass der Splitter Elemente auf beiden Seiten von ihm beim Ziehen zusammenklappen kann. Dassubstate-Attribut wird auf entwederbeforeoderaftergesetzt, wenn eines zusammengeklappt 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 der Radio-Button gehört. Dies ermöglicht es, die Radio-Buttons in einer Weise anzuordnen, die möglicherweise nicht so geeignet ist, wenn sie alle innerhalb einer Radiogruppe platziert werden. - Menüs, Panels und Tooltips unterstützen zwei zusätzliche Methoden,
openPopup()undopenPopupAtScreen(). Diese Methoden sollten anstelle vonshowPopup()verwendet werden, da letzteres als verwirrend in der Nutzung empfunden wurde. - Der Umgang mit dem
<key>-Element wurde für Benutzer mit nicht-lateinischen Tastaturlayouts verbessert. - Unter Mac OS X sind die
activetitlebarcolorundinactivetitlebarcolorAttribute der Root-Elemente (<window>,<dialog>,<prefwindow>und<wizard>) verfügbar, um die Farbe der Titelleisten der Fenster anzupassen.