Struktura drzewiasta
Z Wikipedii
Struktura drzewiasta (ang. list view) to jeden z elementów GUI, skomplikowany, ale dość powszechnie używany widżet.
Niekoniecznie jest używana do pokazywania drzewiastej struktury danych; najczęściej chodzi tylko o pokazanie tabelki danych. Posiada ona bowiem dwie funkcjonalności, z których też nie zawsze wykorzystuje się obie na raz: pokazywanie linijek danych z podziałem na kolumny oraz pokazywanie drzewiastej struktury wraz z powiązaniami nadrzędności i podległości.
Widżet ten składa się z dwóch najważniejszych części: nagłówka i danych. Bardzo dużą część interakcji z użytkownikiem obsługuje sam widżet, np. sortowanie alfabetyczne danych w przypadku kliknięcia na odpowiednią kolumnę w nagłówku (ale oczywiście nic nie stoi na przeszkodzie, żeby aplikacja sama to obsługiwała; powinna to zwłaszcza zrobić, jeśli dane w konkretnej kolumnie akurat nie dadzą się sortować alfabetycznie, np. jeśli są bitmapami).
W każdej linijce każdej kolumny standardowo umieszcza się napis, a dokładnie widżet zwany polem edycyjnym, z tym tylko że z zablokowaną możliwością edycji. Można jednak wejść do trybu edycji klawiszem F2, co następnie kończy naciśnięciem Enter lub przerywa naciśnięciem Esc). Również w zależności od konfiguracji edycję można rozpoczynać pojedynczym kliknięciem myszy, albo też podwójnym kliknięciem myszy (pojedyncze wtedy tylko zaznacza). Również oczywiście nie musimy się godzić na standardowe widżety i umieścić we wskazanych pozycjach całkowicie dowolny widżet. Podobnie jak to też jest w widżecie zwanym polem wyboru, jest też możliwa selekcja pusta i selekcja wielokrotna.
Każda linijka (inaczej pozycja) może mieć swoją linijkę podległą i wtedy tworzy się struktura drzewiasta. Z lewej strony (stronę można zwykle konfigurować) pojawia się wtedy zazwyczaj odpowiedni znacznik, który można kliknąć w celu rozwinięcia lub zwinięcia całej listy linijek podlegających pod wskazaną.
Widżet ten generuje względnie niewiele zdarzeń. Przy standardowej konfiguracji zwykle generuje się jedynie zdarzenia związane z pojedynczymi podległymi widżetami. Bardziej wytrawni twórcy mogą się też pokusić o żądanie powiadomienia o konieczności po prostu odrysowania danej komórki (prostokąta zawartego w określonej linijce i kolumnie), o co zadbają już sami, plus oczywiście standardowo zdarzenia klikania (i dwuklikania) myszą.