GTK+
Snímek obrazovky programu GIMP založného na GTK+ |
|
| Vývojář | GNOME Foundation |
|---|---|
| Aktuální verze | 3.2 (25. září 2011) |
| Připravovaná verze | 3.1.92 (19. září 2011) |
| Operační systém | multiplatformní |
| Licence | LGPL |
| Lokalizace | nezjištěno |
| 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.
Obsah |
[editovat] Historie
GTK+ vytvořili v roce 1997 členové skupiny eXperimental Computing Facility (XCF) Kalifornské university v Berkeley (Spencer Kimball, Peter Mattis a Josh MacDonald).
[editovat] 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.[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í.
[editovat] Platformy
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).
[editovat] 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.
[editovat] 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 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 |