GTK

programovací jazyk

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ů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
Logo
Snímek obrazovky programu GIMP založeného na GTK
Snímek obrazovky programu GIMP založeného na GTK
VývojářNadace GNOME
První vydáníduben 1998
Aktuální verze4.16.7 (24. listopadu 2024)
Operační systémGNU/Linux, Unix-like, MS Windows, macOS
Platformamultiplatformní software
Vyvíjeno vC[1]
Typ softwaruknihovna GUI
LicenceLGPL verze 2.1
Lokalizacemnohojazyčná, včetně české
Webwww.gtk.org
Některá data mohou pocházet z datové položky.

Historie

editovat

GTK vytvořili v roce 1997 členové skupiny eXperimental Computing Facility (XCF) Kalifornské university v Berkeley (Spencer Kimball, Peter Mattis a Josh MacDonald).

Programovací jazyky

editovat

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í.

Platformy

editovat

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).

Prostředí a vzhled

editovat

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.

Historie

editovat

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

Reference

editovat
  1. The GTK+ Open Source Project on Ohloh [online]. Ohloh.net [cit. 2014-02-17]. Dostupné v archivu pořízeném dne 2013-12-08. 
  2. Project rename to "GTK". mail.gnome.org [online]. [cit. 2019-02-10]. Dostupné online. 
  3. GTK+ bindings page. www.gtk.org [online]. [cit. 2016-09-14]. Dostupné v archivu pořízeném dne 2011-07-13. 

Související články

editovat

Externí odkazy

editovat