Leksykon IT › Programowanie › XmList

XmList

Programowanie Svenska → Zaktualizowano: 2026-10-10

Widget listy Motifa: wiersze typu XmString z czterema modelami zaznaczania, od jednego wiersza naraz po kliknięcia z Shiftem i Ctrl, i zawsze z dwukrotnym kliknięciem, które otwiera.

Lista przyjmuje tablicę XmString w XmNitems wraz z XmNitemCount albo jest wypełniana stopniowo przez XmListAddItem i XmListAddItems. XmNvisibleItemCount ustala, ile wierszy widać, a XmCreateScrolledList umieszcza widget w XmScrolledWindow z paskiem przewijania. To, co robi kliknięcie, reguluje XmNselectionPolicy: XmSINGLE_SELECT zaznacza wiersz i odznacza go przy następnym kliknięciu, XmBROWSE_SELECT pozwala zaznaczeniu podążać za przeciąganą myszą, XmMULTIPLE_SELECT przełącza każdy wiersz niezależnie, a XmEXTENDED_SELECT daje model znany z menedżerów plików: Shift dla zakresów, Ctrl dla pojedynczych dodatków. Każdy model ma własny callback, a XmNdefaultActionCallback odpowiada na dwukrotne kliknięcie.

Ceną był XmString. Każdy wiersz trzeba było przekonwertować z char* przez XmStringCreateLocalized i znów zwolnić, a program wpisujący do listy dziesięć tysięcy wierszy odczuwał koszt konwersji i uczył się, że XmListAddItems jest o wiele szybsze niż osobne wywołanie na wiersz. XmFileSelectionBox to w istocie dwie takie listy, i tak większość użytkowników Uniksa poznała ten widget, nie znając jego nazwy.

← Wróć do leksykonu