Це - вільний переклад посібника з GTK+ 2.0 ("GTK+ 2.0 Tutorial",October 27, 2002)

Автори:

  • Tony Gale
  • Ian Main
  • & the GTK team

Перекладачі:

Місця вакантні ;)

Коротенький опис:

Цей посібник розповідає про те, як використовувати інтерфейс GTK (the GIMP Toolkit (Набір інструментів GIMP) ).

Де взяти посібника

Англомовний оригінал цього посібника в SGML та HTML варіантах розповсюджується з джерельними кодами GTK+. Копія також наявна за адресою: http://library.gnome.org/devel/gtk-tutorial/stable/. Запаковану версію цього підручника можна отримати ftp://ftp.gtk.org/pub/gtk/tutorial який містить посібник в різних форматах. Запакована версія для тих людей, які хочуть читати офлайн, чи роздрукувати його. Варто мати на увазі, що запакована версія може бути старішою за версію онлайн.

Вступ

GTK (GIMP Toolkit) це бібліотека для створення графічного інтерфейсу користувача. Вона поширюється на умовах ліцензії LGPL , отже ви можете розробляти ВПЗ (вдкрите програмне забезпечення), вільне ПЗ, або, навіть комерційне ПЗ з використанням GTK не переймаючись умовами ліцензії.

Бібліотеки називаються набором інструментів GIMP, бо спочатку вони були написані для розробки GNU Image Manipulation Program (GIMP), але зараз GTK застосовується в багатьох програмних проектах, включаючи проект GNU Network Object Model Environment (GNOME). GTK є надбудовою GDK (GIMP Drawing Kit), яку можна вважати обгорткою навколо низькорівневих функцій для доступу до відповідних функцій графічного середовища (Xlib в випадку X windows system), і gdk-pixbuf, бібліотеки для редагування зображень на клієнтській стороні.

Першими авторами GTK є:

GTK тепер підтримують:

GTK це об'єктно орієнтований інтерфейс прикладних програм (API). Хоч він і написаний повністю на C, він реалізований з використанням ідеї класів і функцій зворотнього виклику (вказівників на функції).

Також тут є третій компонент, що називається GLib, котрий містить заміни деяких стандартних функцій, так само як і деякі додаткові функції для маніпулювання зв'язаними списками і.т.і. Заміна функцій зроблена для того, щоб збільшити мобільність GTK, так як деякі з тут запроваджених функцій не наявні або не стандартні на інших Юніксах, наприклад g_strerror(). Деякі функції містять розширення версій з libc, наприклад g_malloc(), яка вдосконалені засоби для зневадження.

У версії 2.0, GLib вибрав систему типів, яка сформувала фундамент для ієрархії класів GTK, систему сигналів, яка використовується в GTK, API ниток, яка абстрагує різні рідні API ниток на різних платформах і можливість завантаження модулів.

Як останній компонент GTK використовує бібліотеку Pango для інтернаціоналізованого виводу тексту.

Цей посібник описує C інтерфейс для GTK. Також є прив'язка GTK до багатьох інших мов програмування включаючи C++, Guile, Perl, Python, TOM, Ada95, Objective C, Free Pascal, Eiffel, Java and C#. Якщо захочете використовувати іншу мову програмування для GTK, подивіться для початку на її документацію. В інколи ця документація може містити досить важливі домовленості (які вам потрібно знати спочатку), а вже тоді відішле вас назад до цього посібника. Існують також деякі кросплатформені API, (такі, як wxWindows та V) які використовують GTK як одну зі своїх цільових платформ; знову ж таки спочатку поцікавтесь документацією до них.

Якщо ви програмуєте на С++, є кілька заміток. Існує адаптація GTK для C++, названа GTK--, яка надає більш C++-подібний інтерфейс до GTK; можливо вам краще використовувати її. Якщо вам з суб'єктивних причин не подобається цей підхід, існують дві альтернативи. По-перше, можна при взаємодії з GTK використовувати тільки підмножину C, і використати Сішний інтерфейс як написано в цй інструкції. По-друге, можна використовувати GTK і C++ разом оголошуючи всі callback функції, статичними методами класів, і знову ж таки звертаючись до GTK через його інерфейс C. Якщо ви виберете останній підхід, ви можете включати як значення даних для зворотнього виклику вказівнику на об'єкт, яким будуть маніпулювати (так назване значення "this"). Вибір між цими опціями просто справа смаку, так як в усіх трьох випадках ви отримаєте і C++ і GTK. Ніякий з цих підходів не вимагає використання спеціального препроцесора, тому немає значення що ви виберете - ви можете використати стандартний C++ з GTK.

Цей посібник - спроба задокументувати GTK наскільки це можливо, але, самі розумієте, він не претендує на повноту. Припускається, що ви добре розумієте C, і можете писати програми на ньому. Було б корисно для читача мати попередній досвід програмування під X, але це - необов'язково. Якщо ви вивчаєте GTK як ваш перший набір елементів інтерфейсу, будь-ласка, прокоментуйте, як вам сподобався цей посібник і в чому ви побачили складнощі для себе.

Робота над оригіналом цього документу триває. Все найновіше дивіться на http://www.gtk.org/

Ми з радістю розглянемо будь-які проблеми які ви зустріли при вивченні GTK з цього документу та постараємось його покращити.