Qué es GTK?
GTK (GIMP Toolkit) Es una librería para la creación de interfaces gráficos. Está bajo licencia de LGPL,asi que puedes desarrollar software abierto, libre e incluso software con fines comerciales con GTK sin tener que pagar por licencias o derechos.
Para más información, puedes visitar la página oficial de GTK+ http://www.gtk.org. El nombre de caja de herramientas GIMP fue dado por to GTK+, porque originalmente fue escrito y desarrollado por "the General Image Manipulation Program" (GIMP), sin embargo GTK está siendo utilizada actualmente en un gran número de proyectos,como por ejemplo el proyecto "the GNU Network Object Model Environment" (GNOME). GTK está construido sobre GDK(GIMP Drawing Kit) el cual, es basicamente una envoltura sobre las funciones de bajo nivel para el acceso de funciones subacyacentes de ventanas (Xlib en el caso de el sistema X windows). Los primeros desarrolladores de GTK son:
Peter Mattis Spencer Kimball Josh MacDonald
GTK es esencialmente una interfaz para programadores de aplicaciones orientada a objetos (API). A pesar de estar escrito completamente en C, está implementado usando la idea de clases y funciones de retrollamada (Punteros a funciones).
Existe también un tercer componente llamado GLib el cual contiene unos cuantos reemplazos para algunas llamadas estándares, algunas funciones adicionales para listas enlazadas, etc. Las funciones de reemplazo son usadas para aumentar la portabilidad de GTK , como algunas de las funciones implementadas aquí que no están disponibles o no son estándares en otros Unix tal como "g_strerror()". También contienen algún realce a la version libc, tal como "g_malloc" que ha realzado la depuración en "g_utilities".
Este tutorial describe la interfaz PASCAL a GTK. Hay lazos de GTK con otros lenguajes como por ejemplo C, C++, Guile, Perl, Python, TOM, Ada95, Objective C, y Eiffel. Si su intención es enlazar GTK con otro lenguaje, mire la documentación de enlazado de GTK primero. En algunos casos la documentación puede describir algunas convenciones importantes (las cuales debería conocer antes) y después volver a este tutorial. Hay tambien algunas APIs "cross- platform" (tal como wxWindows y V) las cuales usan GTK como una de sus plataformas; de nuevo, consulte la documentación antes.
El objetivo de este tutorial es documentar tanto como sea posible sobre GTK, pero no es de ninguna manera completo. Este tutorial asume un buen conocimiento de PASCAL, y de cómo crear programas en PASCAL.Sería un buen beneficio para el lector tener experiecia previa de programación en X, pero no es del todo necesario. Si está aprendiendo GTK como su primer conjunto de widgets, por favor comenta cómo encontró este tutorial y que dudas tenía. Hay también algunas guías para C C++, Objective C, ADA, Guile y otros lenguajes , pero no nos vamos a ocupar de ninguno de éstos por ahora.
Este documento es un trabajo en progreso.
Me encantaría saber los problemas que se plantean aprendiendo GTK+ de este documento, y apreciaría la manera en la que puede ser mejorada. Por favor lea la sección de contribución para más información.
Cómo usar GTK+ con FPC
Es muy fácil usar GTK+ con el compilador Free Pascal y otros compiladores compatibles. Sólo se tiene que declarar primero la unidad GTK en el "uses" del programa tal como sigue :
USES gtk,gdk,glib;
Después ya se puede usar las rutinas GTK+ para crear, usar y destruir tus objetos.
Si quiere las ultimas unidades de gtk puedes obtenerlas desde aquí