Widget toolkit
Author
Albert FloresWidget toolkit, widget library, GUI toolkit nebo UX library je knihovna nebo kolekce knihoven obsahující sadu grafických ovládacích prvků (nazývaných widgety) pro vytváření programů pracujících v grafickém uživatelském prostředí (GUI).
Většina widget toolkitů obsahuje i vlastní vykreslovací stroj určený buď pro určitý operační nebo okenní systém nebo s vestavěným backendem s rozhraním pro více systémů a také s vykreslovacími API jako například OpenGL, OpenVG nebo EGL. Look and feel grafických řídicích prvků může být buď pevně zakódován nebo oddělen, což umožňuje používat různá témata/skiny pro grafické řídicí prvky.
Úvod
Některé toolkity mohou být používány z jiných jazyků použitím jazykových vazeb. Buildery grafických uživatelských rozhraní jako například Glade Interface Designer umožňují vytváření GUIs metodou WYSIWYG pomocí značkovacích jazyků pro uživatelská rozhraní, jako je např. +more GtkBuilder.
GUI programy jsou obvykle konstruovány kaskádově, takže z jednodušších grafických řídicích prvků se skládají složitější.
Většina widget toolkitů používá událostmi řízené programování jako model pro interakce. Toolkit zpracovává uživatelské události, například, když uživatel klikne na tlačítko. +more Je-li detekována událost, je předána aplikaci, ve které je zpracována. Návrh těchto toolkitů byl kritizován kvůli prosazování příliš zjednodušeného modelu akcí zpracovávajících události, programátoři začátečníci vytvářejí aplikační kód, který je náchylný k chybám, obtížně rozšiřitelný a příliš složitý. Pro reprezentaci interaktivních změny stavů reaktivních programů byly navrženy jako vysokoúrovňové modely Konečné automaty a hierarchické stavové stroje.
Okenní systémy
Okno je považováno za grafický řídicí prvek. V některých okenních systémech přidává správce oken okna přímo na plochu, kde lze s nimi různými nástroji manipulovat. +more Každé okno je přiřazeno k určité aplikaci, která ovládá widgety připojené k jeho ploše, které lze příslušnými aplikacemi sledovat a měnit.