GTK

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

GTK (zkratka z GIMP Toolkit), dříve GTK+ 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.

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). +more 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. 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. +more 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. +more4 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. +more 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. +more 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
[url=http://ftp. acc. +moreumu. se/Public/gimp/gtk/v1. 0]1. 0[/url] | style = "white-space: nowrap;" | 14. duben 1998 | style = "white-space: nowrap;" | První dostupná verze | 1. 6
[url=http://ftp. gnome. org/pub/gnome/sources/gtk+/1. 2]1. 2[/url] | style = "white-space: nowrap;" | 27. únor 1999 | style = "white-space: nowrap;" | přidány nové nástroje (GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree, GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket) | [url=http://mail. gnome. org/archives/gtk-devel-list/2001-April/msg00049. html]1. 2. 10[/url]
[url=http://ftp. acc. umu. se/pub/gnome/sources/gtk+/2. 2]2. 0[/url] | style = "white-space: nowrap;" | 11. březen 2002 | style = "white-space: nowrap;" | GObject, Universal Unicode UTF-8 | 2. 9
[url=http://ftp. acc. umu. se/pub/gnome/sources/gtk+/2. 2]2. 2[/url] | style = "white-space: nowrap;"| 22. prosinec 2002 | style = "white-space: nowrap;" | podpora multi-head | 2. 2. 4
[url=http://ftp. acc. umu. se/pub/gnome/sources/gtk+/2. 4]2. 4[/url] | style = "white-space: nowrap;" | 16. březen 2004 | style = "white-space: nowrap;" | přidány nové nástroje (GtkFileChooser, GtkComboBox, GtkComboBoxEntry, GtkExpander, GtkFontButton, GtkColorButton) | [url=http://mail. gnome. org/archives/gtk-devel-list/2004-December/msg00018. html]2. 4. 14[/url]
[url=http://ftp. acc. umu. se/pub/gnome/sources/gtk+/2. 6]2. 6[/url] | style = "white-space: nowrap;" | 16. prosinec 2004 | nové nástroje (GtkIconView, GtkAboutDialog, GtkCellView). Poslední verze s podporou Windows 98/ME. | [url=http://mail. gnome. org/archives/gtk-devel-list/2005-August/msg00097. html]2. 6. 10[/url]
[url=http://ftp. acc. umu. se/pub/gnome/sources/gtk+/2. 8]2. 8[/url] | style = "white-space: nowrap;" | 13. srpen 2005 | style = "white-space: nowrap;" | integrace Cairo | [url=http://mail. gnome. org/archives/gtk-devel-list/2006-July/msg00002. html]2. 8. 20[/url]
[url=http://ftp. gnome. org/pub/gnome/sources/gtk+/2. 10]2. 10[/url] | style = "white-space: nowrap;" | 3. červenec 2006 | style = "white-space: nowrap;" | nové nástroje (GtkStatusIcon, GtkAssistant, GtkLinkButton, GtkRecentChooser) a podpora tisku (GtkPrintOperation) | [url=http://mail. gnome. org/archives/gtk-devel-list/2007-July/msg00058. html]2. 10. 14[/url]
[url=http://ftp. gnome. org/pub/gnome/sources/gtk+/2. 12]2. 12[/url] | style = "white-space: nowrap;" | 14. září 2007 | style = "white-space: nowrap;" | GtkBuilder | style = "white-space: nowrap;" | [url=http://mail. gnome. org/archives/gtk-devel-list/2008-September/msg00069. html]2. 12. 12[/url]
[url=http://ftp. gnome. org/pub/gnome/sources/gtk+/2. 14]2.

Reference

Související články

GNOME

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top