mozilla
Wyniki wyszukiwania

    tree

    Kontener, który może zostać zastosowany do przechowywania tabelarycznego lub hierarchicznego zestawu rzędów elementów. Element tree może zawierać jakąkolwiek ilość rzędów oraz jakąkolwiek ilość kolumn. Każdy rząd drzewa może zawierać rzędy-dzieci, które wyświetlane są z wciętego rodzica. Inaczej, niż inne elementy, dane do wyświetlenia w drzewie nie są podawane za pomocą znaczników, ale są ustalane z obiektu widoku. Obiekt widoku implementuje interfejs nsITreeView. Widok jest kolejkowany, aby dane pojawiły się w drzewie. Istnieją różne sposoby, w których drzewa są zastosowane, jak podano poniżej. Druga kolumna listuje interfejsy dostępne poprzez właściwość view drzewa. Trzecia kolumna wskazuje czy element treeitem jest zastosowany.

    Typ drzewa Interfejsy widoku Posiada węzły DOM? Opis
    Drzewo zawartości nsITreeView, nsITreeContentView Tak To drzewo posiada elementy treeitem umieszczone wewnątrz elementu treechildren. W tej sytuacji, widok zawartości (implementujący interfejs nsITreeContentView), który jest bardziej wyspecjalizowanym typem widoku, używa elementów treeitem i ich potomków w celu stwierdzenia danych do wyświetlenia w drzewie. Jednakże, widok zawartości zaktualizuje się automatycznie, jeśli elementy treeitem zostaną zmienione.
    Drzewo RDF nsITreeView, nsIXULTreeBuilder Nie To drzewo jest generowane ze źródła danych (datasource) RDF. Zastosowywane jest gdy drzewo posiada atrybut datasources i zawiera dont-build-content w atrybucie flags. Dla tego drzewa, dane pochodzą bezpośrednio ze źródła danych RDF. Elementy DOM treeitem nie są tworzone. Mimo, iż szablon stosuje elementy treeitem do definiowania zawartości, węzły DOM tych elementów nie są tworzone. Jest to typ drzewa, który powinien być stosowany dla drzew wygenerowanych przez RDF w dużą ilością rzędów.
    Drzewo zawartości RDF nsITreeView, nsIXULTreeBuilder, nsITreeContentView Tak To drzewo jest generowane ze źródła danych RDF. Jest podobne do poprzedniego typu drzewa, lecz jest stosowane, kiedy drzewo nie zawiera dont-build-content w atrybucie flags. Elementy DOM treeitem są tworzone, więc możesz uzyskać dostęp do danych za pomocą funkcji RDF lub funkcji DOM. Ten typ jest dobry do drzew generowanych za pomocą RDF z niewielką ilością rzędów.
    Własny widok drzewa nsITreeView Nie Dla tego drzewa możesz sam zaimplementować interfejs nsITreeView. Dane drzewa są pobierane z tego widoku własnego. Widok własny powinien być dołączony do drzewa poprzez ustawienie własności view drzewa.

    Dodatkowe informacje są dostępne w kursie XUL oraz w Tree Widget Changes.

    Atrybuty
    disableKeyNavigation, disabled, enableColumnDrag, flags, hidecolumnpicker, #a-tree.onselect, rows, seltype, statedatasource, tabindex
    Własności
    accessible, builderView, columns, contentView, currentIndex, disableKeyNavigation, disabled, editingColumn, editingRow, enableColumnDrag, firstOrdinalColumn, selType, selstyle, tabIndex, treeBoxObject, view

    Przykłady

    Image:trees1.png
    <tree flex="1">
    
      <treecols>
        <treecol id="sender" label="Sender" flex="1"/>
        <treecol id="subject" label="Subject" flex="2"/>
      </treecols>
    
      <treechildren>
        <treeitem>
          <treerow>
            <treecell label="joe@somewhere.com"/>
            <treecell label="Ściśle tajne plany"/>
          </treerow>
        </treeitem>
        <treeitem>
          <treerow>
            <treecell label="mel@whereever.com"/>
            <treecell label="Zróbmy obiad"/>
          </treerow>
        </treeitem>
      </treechildren>
    
    </tree>
    

    Atrybuty

    disablekeynavigation
    Typ: boolean
    Jeśli atrybut ten nie jest użyty, użytkownik może przechodzić do określonych pozycji listy poprzez naciśnięcie pierwszej litery etykiety danej pozycji. Odbywa się to przyrostowo, dlatego przyciśnięcie dodatkowych klawiszy spowoduje zaznaczenie lepiej określonych pozycji. Opcja ta może zostać wyłączona poprzez ustawienie wartości atrybutu jako true.


    disabled
    Typ: boolean
    Określa, czy element jest wyłączony. Jeśli atrybut ten ma wartość true, to element będzie wyłączony. Wyłączone elementy zazwyczaj są wyszarzone. Jeśli element jest wyłączony, nie odpowiada na czynności użytkownika, nie może zostać na niego ustawiony focus, a zdarzenie command nie zostanie wywołane.
    grafika:XUL_ref_attr_disabled.png
    <!-- Pole wyboru włącza/wyłącza przycisk -->
    <checkbox label="Enable button" 
        onclick="document.getElementById('buttRemove').disabled = this.checked"/>
    <button id="buttRemove" label="Remove All" disabled="true"/>
    
    enableColumnDrag
    Typ: boolean
    Kiedy ustawimy na true, użytkownik ma możliwość przesunięcia nagłówków kolumny, aby zmienić kolejność w jakiej są one wyświetlane.


    flags
    Typ: lista wartości znajdujących się poniżej oddzielonych spacją
    Ustawia flagi użyte dla różnych celów. Dwie flagi są definiowane, które mogą być wartościami tego atrybutu.
    • dont-test-empty: Dla szablonu generowanej zawartości kompilator nie sprawdzi czy kontener jest pusty.
    • dont-build-content: Ta flaga może być użyta na drzewie by wskazać, że elementy zawartości nie powinny być generowane. Poprawia to wprawdzie wydajność, lecz uniemożliwia korzystanie z funkcji DOM to pobierania wierszy drzewa.



    hidecolumnpicker
    Typ: boolean
    Kiedy ustawiony na false, to dostępne będzie rozwijane menu w prawym górnym rogu drzewa (tree), które użytkownik może zastosować do pokazania lub ukrycia kolumn. Kiedy jest ustawiony na true, to column picker będzie ukryty. Domyślną wartością jest false.


    onselect
    Typ: kod skryptu
    To zdarzenie jest wysyłane do tree, kiedy zostanie zaznaczony wiersz lub kiedykolwiek zostanie zmienione zaznaczenie. Użytkownik może zaznaczyć wiele wierszy poprzez przytrzymanie klawisza Shift lub Control i klikanie kursorem myszki w wiersze, które chce zaznaczyć. Zdarzenie onselect będzie przesyłane dla każdej pozycji która zostanie zaznaczona lub odznaczona.
    rows
    Typ: integer
    Liczba wierszy do wyświetlenia w elemencie. Jeśli w elemencie znajduje się więcej niż ta liczba wierszy, pojawi się pasek przewijania, który użytkownik może zastosować do przewijania do innych wierszy. Aby pobrać aktualną liczbę wierszy w elemencie, zastosuj metodę getRowCount.
    {{ languages( { "en": "en/XUL/Attribute/seltype", "fr": "fr/XUL/Attributs/seltype", "ja": "ja/XUL/Attribute/seltype" } ) }}
    {{ XULAttr("seltype") }} {{ mediawiki['#switch']('<magic name="\"PAGENAME\"/">', XUL:richlistbox = .. '<template><name>' .. Fx_minversion_inline .. '</name><arg>' .. 3 .. '</arg></template>') }}</magic>
    Typ: jedna z wartości poniżej
    Używany do sygnalizowania czy wielokrotne zaznaczanie jest uznane.
    • single: Tylko jeden wiersz może być zaznaczona być w czasie (domyślnie w listbox).
    • multiple: Wielokrotne wiersze mogą być zaznaczane jeden raz (domyślnie w tree.)

    {{ mediawiki['#switch']('<magic name="\"PAGENAME\"/">', XUL:tree = * .. '' .. cell .. '' .. : Individual cells can be selected. .. '<template><name>' .. Fx_minversion_inline .. '</name><arg>' .. 3 .. '</arg></template>') }}</magic> {{ mediawiki['#switch']('<magic name="\"PAGENAME\"/">', XUL:tree = * .. '' .. text .. '' .. : Rows are selected, however the selection highlight appears only over the text of the primary column.) }}</magic>



    statedatasource
    Typ: Źródło danych URI
    Chrome XUL may specify an RDF datasource to use to store tree state information. This is used to hold which tree items are open and which items are collapsed. This information will be remembered for the next time the XUL file is opened. If you do not specify this attribute, state information will be stored in the local store (rdf:local-store).
    tabindex
    Typ: integer
    Porządek dla przełączania elementów klawiszem Tab. Elementy o wyższym tabindex umieszczane są w dalszej części sekwencji przełączania.

    Własności

    accessible
    Typ: nsIAccessible
    Zwraca obiekt dostępności dla elementu.
    builderView
    Typ: nsIXULTreeBuilder
    Referencja do budowniczego drzewa, który konstruuje dane tree. Budowniczy dostarcza dostęp do źródeł RDF dla każdego wiersza w drzewie i pozwala sortować danymi w kolumnie. W nowszej wersji Mozilli, własność builderView jest aktualnie synonimem dla własności view, od dwóch interfejsów są spłaszczone razem aż do pojedynczego interfejsu w JavaScript. Ta własność jest tylko do odczytu.
    columns
    Typ: nsITreeColumns
    Zwraca kolumny dla drzewa jako obiekt nsITreeColumns.
    contentView
    Typ: nsITreeContentView
    For trees built with a content builder - that is, those that do not have flags="dont-build-content" set -- the contentView will be a reference to the nsITreeContentView for the tree. This interface lets you retrieve the DOM element corresponding to a given a row index and vice versa. For trees that are not built with a content builder, the functions of nsITreeContentView will not be available, since there are no DOM nodes to retrieve. In newer versions of Mozilla, the contentView property is actually a synonym for the view property, since the two interfaces are flattened together into a single interface in JavaScript. Ta własność jest tylko do odczytu.
    currentIndex
    Typ: integer
    Ustawia indeks bieżącego aktywnego wiersza w tree (drzewie). Jeśli jest brak aktywnego wiersza, wartość będzie -1. Dla wielu zaznaczeń drzew, bieżącym indeksem jest ostatnio zaznaczony wiersz. Nie stosuj tej własności do zmiany zaznaczenia. Zamiast stosować metody obiektu nsITreeSelection dostępnego przez tree.view.selection.
    disableKeyNavigation
    Typ: boolean
    Pobiera lub ustawia wartość atrybutu disableKeyNavigation.
    disabled
    Typ: boolean
    Pobiera i ustawia wartość atrybutu disabled.
    enableColumnDrag
    Typ: boolean
    Kiedy ustawimy na true, użytkownik przesunie nagłówki kolumny, aby zmienić kolejność w jakiej są one wyświetlane.
    firstOrdinalColumn
    Typ: element treecol
    Referencja do elementu treecol, który nie musi być pierwszą kolumną wyświetlaną w drzewie.
    {{ languages( { "en": "en/XUL/Property/selType", "fr": "fr/XUL/Propri\u00e9t\u00e9s/selType", "ja": "ja/XUL/Property/selType" } ) }}
    {{ XULProp("selType") }} {{ mediawiki['#switch']('<magic name="\"PAGENAME\"/">', XUL:richlistbox = .. '<template><name>' .. Fx_minversion_inline .. '</name><arg>' .. 3 .. '</arg></template>') }}</magic>
    Typ: string
    Pobiera i ustawia wartość atrybutu {{ XULAttr("seltype") }}.



    selstyle
    Typ: string
    Jeśli jest ustawiona na wartość primary, to tylko etykieta głównej kolumny będzie podświetlona, w momencie gdy pozycja drzewa jest zaznaczona. Inaczej, cały wiersz będzie podświetlony. Aby zobaczyć różnice, porównaj styl zaznaczenia na liście folderów i liście wiadomości w programie pocztowym Mozilli.


    tabIndex
    Typ: integer
    Pobiera i ustawia wartość atrybutu tabindex.
    treeBoxObject
    Typ: nsITreeBoxObject
    Obiekt pudełka jest responsible for rendering the tree on the window. This object implements the nsITreeBoxObject interface and contains functions for retrieving the cells at certain coordinates, redrawing cells and scrolling the tree. Ta własność jest równoważna własności boxObject.
    view
    Typ: nsITreeView
    Widok dla tree, który jest obiektem generującym dane do wyświetlenia. Do tej własności możesz przypisać obiekt implementujący interfejs nsITreeView. Drzewa zbudowane z RDF-a, albo takie, które bezpośrednio używają elementów treeitem, będą już miały widok. Funkcje dostępne w widoku pozwalają na pobieranie danych z komórek i pozwalają na stwierdzenie, które wiersze są zagnieżdżone w innych. Aby zobaczyć kompletną listę funkcji, obejrzyj interfejs nsITreeView.

    Metody

    Dziedziczy z elementu XUL
    blur, click, doCommand, focus, getElementsByAttribute

    Dziedziczy z elementu DOM
    addEventListener(), appendChild(), dispatchEvent(), getAttribute(), getAttributeNode(), getAttributeNodeNS(), getAttributeNS(), getElementsByTagName(), getElementsByTagNameNS(), hasAttribute(), hasAttributeNS(), hasAttributes(), hasChildNodes(), insertBefore(), isSupported(), normalize(), removeAttribute(), removeAttributeNode(), removeAttributeNS(), removeChild(), removeEventListener(), replaceChild(), setAttribute(), setAttributeNode(), setAttributeNodeNS(), setAttributeNS()

    Podobne

    Interfejsy
    nsIAccessibleProvider, nsIDOMXULTreeElement, nsIDOMXULMultiSelectControlElement

    Notatki dodane przez użytkowników

    Tworzenie przemiennych kolorów dla każdego wiersza może być zrobione w arkuszu stylów, oto przykład. pma at daffodil dot uk dot com

    treechildren::-moz-tree-row(selected) { background-color: #FFFFAA; }
    treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
    treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
    treechildren::-moz-tree-cell-text(selected) { color: #000000; }
    treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
    

    Aby uzyskać numery ID wszystkich zaznaczonych wierszy w drzewie: tcooper_mont at yahoo dot com

    var rangeCount = this.tree.view.selection.getRangeCount();
    for(var i=0; i<rangeCount; i++)
    {
       var start = {};
       var end = {};
       tree.view.selection.getRangeAt(i,start,end);
       for(var c=start.value; c<=end.value; c++)
       {
          idList.push(this.tree.view.getItemAtIndex(c).firstChild.id);
       }
    }
    


    Autorzy i etykiety dokumentu

    Contributors to this page: lmorchard, Bedi, Mgjbot, VooEak, teoli, Ptak82
    Ostatnia aktualizacja: teoli,