GTK+

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
GTK+
Logo

Snímek obrazovky programu GIMP založného na GTK+
Vývojář GNOME Foundation
Aktuální verze 3.10.7 (28. ledna 2014)
Operační systém multiplatformní
Licence LGPL
Lokalizace mnohojazyčná, včetně české
Web www.gtk.org

GTK+ (zkráceno z GIMP Toolkit) je v informatice 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.

Historie[editovat | editovat zdroj]

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 | editovat zdroj]

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.[1] 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 | editovat zdroj]

GTK+ byl původně naprogramován pro X Window System a zůstává i jeho primární cílovou platformou. Další cílené platformy jsou Microsoft Windows (Windows 2000 a výše), DirectFB a Quartz (Mac OS X v10.4 a následující verze, které jsou v neustálém vývoji).

Prostředí a vzhled[editovat | editovat zdroj]

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 | editovat zdroj]

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 GTK+ 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 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 multihead 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).
The last to support Windows 98/ME.
2.6.10
2.8 13. srpen 2005 integrace Cairo 2.8.20
2.10 3. červenec 2006 nové nástroje (GtkStatusIcon, GtkAssistant, GtkLinkButton,
GtkRecentChooser) a podpora tisku (GtkPrintOperation)
2.10.14
2.12 14. září 2007 GtkBuilder 2.12.12
2.14 4. září 2008 Jpeg2000 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 | editovat zdroj]

  1. GTK+ bindings page

Související články[editovat | editovat zdroj]