Widżet

podstawowy element graficznego interfejsu użytkownika

Widżet – podstawowy element graficznego interfejsu użytkownika (na przykład okno, pole edycji, suwak, przycisk). Termin ten jest szczególnie popularny wśród użytkowników systemów operacyjnych z rodziny UNIX, natomiast użytkownicy systemów MS Windows używają w tym kontekście terminu kontrolka lub element kontrolny. W produktach firmy Microsoft (Visual Studio, .NET, Office itp.) używana jest nazwa formant. W pewnych kontekstach synonimem widżetu jest okno.

Przykładowe widżety graficznego interfejsu użytkownika (w języku angielskim)

Etymologia edytuj

Słowo widget w języku angielskim pojawiło się w latach 20. XX wieku i oznacza użyteczny przedmiot, zwłaszcza w kontekście jego komercyjnej produkcji. Po raz pierwszy wykorzystano je do nazwania elementów graficznego interfejsu użytkownika podczas prac nad projektem Athena w latach 80. XX wieku, gdyż przypomina zbitkę wyrazową window (okno) plus gadget (przyrząd, narzędzie, urządzenie), a ponadto „wszystkie inne określenia miały niepożądane konotacje”.

Terminy kontrolka lub element kontrolny nawiązują do podobieństwa okien z widżetami do pulpitów sterowniczych, zawierających różne przyciski, potencjometry i wyświetlacze.

Widżet jako element GUI edytuj

Widżet jest elementem graficznego interfejsu użytkownika programów komputerowych, umożliwiającym komunikację programu z użytkownikiem. Widżety otrzymują komunikaty generowane przez mysz i klawiaturę oraz inne komunikaty systemowe i wyświetlają swoją reprezentację na ekranie. W typowej implementacji menedżer okien przypisuje im pewien prostokąt na ekranie, a do rozwiązywania konfliktów między widżetami zajmującymi wspólny obszar stosowana jest metoda z-order.

Widżety są udostępniane przez biblioteki środowisk graficznych. W odróżnieniu od interfejsu tekstowego, w którym najmniejszą jednostką graficzną jest znak, widżety wyświetlane są na ekranie z dokładnością do piksela. Funkcje widżetów:

  • przekazywanie do programu danych lub poleceń użytkownika
  • wizualizacja na ekranie danych lub informacji o stanie programu
  • zarządzanie innymi widżetami (widżety pojemnikowe)

Typowe aplikacje graficzne wykorzystują kilkanaście lub kilkadziesiąt widżetów. W celu ułatwienia zarządzania nimi, grupuje się je w hierarchie oparte na relacji rodzic – dziecko (ang. parent – child). Widżety nadrzędne (parent) stanowią tło dla widżetów podrzędnych (child). Dezaktywacja (lub aktywacja, ukrycie, wyświetlenie, usunięcie) widżetu parent powoduje automatyczną aktywację (lub dezaktywację, ukrycie, wyświetlenie, usunięcie) wszystkich jego widżetów.

Widżety nieposiadające parametru parent nazywane są oknami. Okna z reguły posiadają pasek tytułowy i ramkę, aczkolwiek niektóre aplikacje rezygnują z tej cechy. Przykładami okien są główne okna aplikacji i okna dialogowe.

Widżety nie są objęte żadnymi formalnymi standardami, jednak współczesne biblioteki GUI zawierają zestaw podstawowych widżetów, które mimo różnych implementacji mają w każdej bibliotece identyczne przeznaczenie i funkcjonalność oraz bardzo podobne interfejsy programistyczne, a różnią się najwyżej wyglądem. Większość bibliotek posiada mechanizmy umożliwiające naśladowanie wyglądu widżetów z innych bibliotek. Biblioteki widżetów zwykle udostępniają także różne niestandardowe, wysoce wyspecjalizowane widżety (np. widżet przeglądarki stron WWW w Qt 4.4 (podobny widżet występuje również jako kontrolka ActiveX Microsoft Internet Explorera), czy widżet przeznaczony do rysowania wykresów funkcji w bibliotece Qwt). Każda biblioteka GUI udostępnia mechanizmy konstrukcji własnych widżetów.

Widżet pojemnikowy edytuj

Rolą widżetu pojemnikowego jest zawieranie innych widżetów, a dokładnie, udostępnianie im swojej własnej powierzchni. Zazwyczaj jest to też ściśle związane z hierarchią widżetów, w związku z czym widżet ten ma parametr parent w stosunku do widżetów na nim umieszczonych. Widżet pojemnikowy poza podstawową postacią, która nie ma żadnych wizualnych cech, może też przybierać różne wielofunkcyjne postacie takie, jak:

W bibliotekach bardzo elastycznych, w których widżety mają ściśle wyznaczoną rolę, funkcje widżetów pojemnikowych mogą pełnić zwykłe widżety. Taka sytuacja występuje np. w GTK, z tą różnicą, że widżety takie dzielą się na dwa rodzaje: zawierają wiele widżetów (np. widżety rozmieszczania), i takie, które zawierają dokładnie jeden widżet mający np. realizować wizualizację tego elementu (np. przycisk, który może zawierać etykietę realizującą wyświetlanie napisu na tym przycisku).

Widżet pulpitu edytuj

Widżet pulpitu – mały program, który uruchamia się na pulpicie użytkownika, zazwyczaj łączący się z internetem i prezentujący określone informacje. Niekiedy (np. w prasie komputerowej) spotyka się tłumaczenie tego wariantu widżetu jako wihajster.

Widżety pulpitu stały się popularne, gdy Apple wprowadziło je (jako dashboard) do systemu Mac OS X 10.4 Tiger (choć istniały wcześniejsze implementacje jak np. Konfabulator).

Widżety tego typu są również dostępne w przeglądarce internetowej Opera (od wersji 9).

W celu uruchomienia widżetu w systemie operacyjnym nieobsługującym go, takim jak Linux lub Microsoft Windows wcześniejszy niż Vista, należy zainstalować odpowiednie oprogramowanie. Windows Vista obsługuje widżety (nazywane gadżetami) bez pomocy dodatkowych programów. Podobnie jest w przypadku KDE 4 (są one wprowadzane również na panel i noszą nazwę plasmoid[a]).

Widżety pulpitu poszczególnych systemów operacyjnych lub programów nie mogą być używane zamiennie.

Przykładowe widżety edytuj

etykietalistalista kombinowanalista rozwijalnamenu rozwijalnepasek menupasek narzędzipasek postępu (pasek stanu) • pasek przesuwania • suwak • pole edycyjnepole wyboruprzyciskprzycisk narzędziprzycisk opcjiprzycisk wyborudrzewokarta

Elementy GUI edytuj

oknookno dialogoweokna w oknachkatalogikonaskrót

Biblioteki GUI edytuj

AWTGNOMEGTK+KDEMFCSwingSWTTkQtVCLWinAPIWxWidgets

Uwagi edytuj

  1. Nazwa występuje w polskiej wersji interfejsu; pochodzi od nazwy programu do ich obsługi – Plasma.

Bibliografia edytuj

  • Joseph Annuzzi, Jr., Lauren Darcey, Shane Conder: Android. Wprowadzenie do programowania aplikacji. Wydanie V. Piotr Rajca (tłum.). Gliwice: Wydawnictwo HELION, 2016. ISBN 978-83-283-2613-2.

Linki zewnętrzne edytuj