Visit Mozilla.org

XUL:Richlistbox

z Mozilla Developer Center, polskiego centrum programistów Mozilli.

Uwaga: Richlistbox jest wciąż w fazie programowania.

UWAGA: Tłumaczenie tej strony nie zostało zakończone.
Może być ona niekompletna lub wymagać korekty.
Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron...

Spis treści

[edytuj] Wprowadzenie

<richlistbox> jest nowym widgetem języka XUL dostępnym w Mozilli 1.8 (Firefox 1.5/Thunderbird 1.5). Działa jak regularny element pola listy w XUL-u poprzez dostarczenie widgetu, który posiada wiele linii pozycji, które mogą być przewijane i kierowane poprzez zastosowanie klawiszy klawiatury lub myszkę.

The main feature of the Richlistbox is that each line can contain anything, such as other XUL elements or elements from any other XML language Mozilla supports. Unlike XUL's listbox, there is no concept of columns.

Aby zobaczyć Richlistbox podczas działania, otwórz swój ulubiony menedżer (dodatków/motywów/pobierania) w Firefoksie/Thunderbird. Te menedżery stosują go pozwalając use it to allow a rich, yet keyboard accessible view of their data.

[edytuj] Przykład

Podstawowy Richlistbox wygląda tak:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <richlistbox>
    <richlistitem>
      <description>Opis XUL!</description>
    </richlistitem>
    <richlistitem>
      <button label="Przycisk XUL"/>
    </richlistitem>
  </richlistbox>

</window>

Element richlistbox zawiera wiele elementów richlistitem, które stanowią jakąś bogatą zawartość. Możesz kliknąć element richlistitem i użyć klawiatury do przeniesienia zaznaczenia w jego obrębie.

[edytuj] Zaznaczenie

Aktualnie richlistbox obsługuje tylko pojedyncze zaznaczenie. Atktualnie zaznaczona pozycja może być odzyskana własnością selectedItem. Każdy time selecion is changed, a select event is fired, which can be caught by using an onselect attribute on the richlistbox.

[edytuj] Porady

Jedną ważna uwagą jest to, że użytkownicy richlistbox będą chcieli pozwolić tylko elementom w zaznaczonych pozycji (richlistitem), aby były aktywne. Odnieść się do tego możemy poprzez następujący kod CSS:

/* pozawala tylko pozycjom być aktywnymi, jeśli richlistitem jest zaznaczony */
richlistitem > * {
  -moz-user-focus: none;
}

richlistitem[selected="true"] > * {
  -moz-user-focus: normal;
}

[edytuj] Dokumentacja

[edytuj] <richlistbox>

Główny element stanowi element <richlistitem>.

[edytuj] Metody interfejsu/Własności

DOMNodeList children - zwraca wszystkie elementy potomne <richlistitem>.

void clearSelection() - czyści bieżące zaznaczenie.

boolean goUp() - przenosi zaznaczenie o jedną pozycję w górę listy. Zwraca true, jeśli zaznaczenie zostało zmienione, false, jeśli żaden wcześniejszy element siostrzany został znaleziony.

boolean goDown() - przenosi zaznaczenie o jedną pozycję w dół listy. Zwraca true, jeśli zaznaczenie zostało zmienione, false, jeśli żaden obok element siostrzany został znaleziony.

void ensureElementIsVisible(w elemencie DOMElement) - zapewnia działanie w elemencie widocznym na liście.

void ensureSelectedElementIsVisible() - zapewnia, który element z zaznaczonych jest widoczny.

DOMNode getItemAtIndex(in int index) - zwraca wiersz określonego indeksu.

int getRowCount() - zwraca pełną liczbę, jeśli rows jest w richlistbox.

DOMNode selectedItem - stosowany do ustawienia/pobrania aktualnie zaznaczonego <richlistitem>.

int selectedIndex - zwraca aktualnie zaznaczoną pozycję indeksu lub -1, jeśli nic nie jest zaznaczone. Aktualnie zaznaczona pozycja może być zmieniona przez przydzieloną wartość do tej własności.

[edytuj] <richlistitem>

Reprezentuje linię w <richlistbox>.

[edytuj] Metody interfejsu/Własności

boolean selected - returns if this item is selected.

DOMElement control - zwraca <richlistbox> który zawiera ten <richlistitem>.