GTK

GTK
Logo
(c) Andreas Nilsson, CC BY-SA 3.0
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.10.4 (5. června 2023)
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.

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.

Historie

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

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

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

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

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é verzeDatum vydáníHlavní vylepšeníPozdější vylepšení verze
1.014. duben 1998První dostupná verze1.0.6
1.2 Archivováno 20. 2. 2009 na Wayback Machine.27. únor 1999přidány nové nástroje (GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket)
1.2.10
2.011. březen 2002GObject, Universal Unicode UTF-82.0.9
2.222. prosinec 2002podpora multi-head2.2.4
2.416. březen 2004přidány nové nástroje (GtkFileChooser, GtkComboBox, GtkComboBoxEntry,
GtkExpander, GtkFontButton, GtkColorButton)
2.4.14
2.616. prosinec 2004nové nástroje (GtkIconView, GtkAboutDialog, GtkCellView).
Poslední verze s podporou Windows 98/ME.
2.6.10
2.813. srpen 2005integrace Cairo2.8.20
2.10 Archivováno 16. 4. 2009 na Wayback Machine.3. červenec 2006nové 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áří 2007GtkBuilder2.12.12
2.14 Archivováno 22. 4. 2009 na Wayback Machine.4. září 2008JPEG 2000 podpora nahrávání2.14.7
2.1613. březen 2009nově přidán GtkOrientable, varování zapnutého Caps Locku při zadání hesla.
vylepšení GtkScale, GtkStatusIcon, GtkFileChooser.
2.16.0

Reference

  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

Externí odkazy

Média použitá na této stránce

Gimp 2.2.8 Mac.png
Autor: unknown, Licence: CC BY-SA 3.0
GTK logo.svg
(c) Andreas Nilsson, CC BY-SA 3.0
The GTK logo.