Snímek obrazovky programu GIMP založeného na GTK | |
Vývojář | Nadace GNOME |
---|---|
První vydání | duben 1998 |
Aktuální verze | 4.16.6 (20. listopadu 2024) |
Operační systém | GNU/Linux, Unix-like, MS Windows, macOS |
Platforma | multiplatformní software |
Vyvíjeno v | C[1] |
Typ softwaru | knihovna GUI |
Licence | LGPL verze 2.1 |
Lokalizace | mnohojazyčná, včetně české |
Web | www.gtk.org |
Některá data mohou pocházet z datové položky. |
GTK (zkratka z GIMP Toolkit), dříve GTK+[2] je v informačních technologiích sada knihoven určených pro běh programů v grafickém uživatelském rozhraní. Knihovna původně vznikla pro potřeby grafického rastrového editoru GIMP a byla poté použita pro prostředí GNOME. Velmi rychle se tak stala jednou ze dvou nejpopulárnějších knihoven a spolu s knihovnami Qt nahradila dříve používané knihovny Motif. GTK je šířeno jako open source software s licencí LGPL jako součást projektu GNU.
GTK vytvořili v roce 1997 členové skupiny eXperimental Computing Facility (XCF) Kalifornské university v Berkeley (Spencer Kimball, Peter Mattis a Josh MacDonald).
GTK používá programovací jazyk C, přestože jeho design používá objektový systém GObject. GNOME platforma podporuje programovací jazyky C++ (gtkmm), Perl, Ruby, Java (zatím nefunkční na Microsoft Windows) a Python (PyGTK). Dále byly napsány vazby pro mnoho dalších programovacích jazyků (včetně Ada, D, Fortran (gtk-fortran), Haskell, Lua, Ocaml, Pascal, PHP, Pike, Hrot, JavaScript, Tcl, Euphoria a také pro všechny programovací jazyky založené na .NET). GTK server poskytuje IPC rozhraní založené na streamu GTK, pro které umožňuje využití v jakémkoli jazyku se schopností I/O, včetně shell scriptu.[3] Vazby pro mnoho jazyků mohou být vygenerovány automaticky přes GObject-introspection.
GTK dále podporuje jazyky napsané pro účely GObjectu systému Vala a GOB.
Podobně jako Qt (ale na rozdíl od jiných) není GTK založen na knihovně Xt, což umožňuje využití GTK na platformách, kde není X Window System dostupný. Avšak v takovém případě nemá GTK přístup do databáze X resources, která umožňuje uživatelské přizpůsobení aplikací v X Window System.
GTK zpočátku obsahoval další knihovní funkce, které se ne příliš striktně vázaly ke grafice. Například nástroje pro práci s datovými strukturami binární stromy. Tyto nástroje se spolu s objektovým systémem nazvaným GObject přesunuly do separované knihovny s názvem GLib, kterou programátoři mohou využívat k vytvoření kódu, který nevyžaduje grafické rozhraní.
GTK byl původně naprogramován pro X Window System; ten zůstává jeho primární cílovou platformou. Další cílené platformy jsou Microsoft Windows (Windows 2000 a výše), DirectFB a Quartz (macOS 10.4 a následující verze, které jsou v neustálém vývoji).
Koncový uživatel si může v prostředí programu nakonfigurovat nástroje, které jsou spojeny s nabízenými enginy. Enginy, které zde jsou, dokáží emulovat vzhled dalších populárních nástrojů nebo platforem jako Windows 95, Motif, kvart a NEXTSTEP.
GTK bylo původně navrženo a použito v GIMPu (GNU Image Manipulation Program) jako náhrada za Motif. V některých bodech byl Peter Mattis rozčarován prací s Motifem a začal tedy psát svůj vlastní GUI nástroj, zvaný GIMP. Ten nakonec úspěšně nahradil Motif verzí GIMPu 0.60. Nakonec GTK bylo přepsáno na objektově orientovaný grafický program a přejmenováno na GTK, který byl poprvé použit jako GIMP 0.99.
GTK 2 předčilo GTK 1. Jeho nové rysy zahrnují zlepšené renderování textů, k čemuž bylo využito Pango, což je nový engine, který vylepšil přístup používání Accessibility Toolkitu, kompletní přechod k Unicode, který využívá UTF-8 řetězců a má více flexibilní API. Ať tak nebo onak, verze GTK 1 a 2 nejsou kompatibilní a aplikace proto musí být portovány.
Od verze 2.8 běží GTK 2 na knihovně Cairo pro překlad vektorové grafiky v GTK 2.
Vydané verze | Datum vydání | Hlavní vylepšení | Pozdější vylepšení verze |
---|---|---|---|
1.0 | 14. duben 1998 | První dostupná verze | 1.0.6 |
1.2 Archivováno 20. 2. 2009 na Wayback Machine. | 27. únor 1999 | přidány nové nástroje (GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree, GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket) |
1.2.10 |
2.0 | 11. březen 2002 | GObject, Universal Unicode UTF-8 | 2.0.9 |
2.2 | 22. prosinec 2002 | podpora multi-head | 2.2.4 |
2.4 | 16. březen 2004 | přidány nové nástroje (GtkFileChooser, GtkComboBox, GtkComboBoxEntry, GtkExpander, GtkFontButton, GtkColorButton) |
2.4.14 |
2.6 | 16. prosinec 2004 | nové nástroje (GtkIconView, GtkAboutDialog, GtkCellView). Poslední verze s podporou Windows 98/ME. |
2.6.10 |
2.8 | 13. srpen 2005 | integrace Cairo | 2.8.20 |
2.10 Archivováno 16. 4. 2009 na Wayback Machine. | 3. červenec 2006 | nové nástroje (GtkStatusIcon, GtkAssistant, GtkLinkButton, GtkRecentChooser) a podpora tisku (GtkPrintOperation) |
2.10.14 |
2.12 Archivováno 17. 4. 2009 na Wayback Machine. | 14. září 2007 | GtkBuilder | 2.12.12 |
2.14 Archivováno 22. 4. 2009 na Wayback Machine. | 4. září 2008 | JPEG 2000 podpora nahrávání | 2.14.7 |
2.16 | 13. březen 2009 | nově přidán GtkOrientable, varování zapnutého Caps Locku při zadání hesla. vylepšení GtkScale, GtkStatusIcon, GtkFileChooser. |
2.16.0 |