- La plataforma de desarrollo GLib/GTK
- 1. Introducción
- 1.1. ¿Qué es GLib y GTK?
- 1.2. El escritorio GNOME
- 1.3. Prerrequisitos
- 1.4. ¿Por qué y cuándo se usa el lenguaje C?
- 1.4.1. Separación de backend del frontend
- 1.4.2. Otros aspectos a tener en cuenta
- 1.5. Ruta de aprendizaje
- 1.6. El entorno de desarrollo
- 1.7. Instalación
- 1.7.1. Linux
1.7.2. Windows
1.7.3. Mac
- GLib, la biblioteca principal
- 2. GLib, la biblioteca principal
- 2.1. Lo esencial
- 2.1.1. Definiciones de tipo
- 2.1.2. Macros de uso frecuente
- 2.1.3. Macros de depuración
- 2.1.4. Memoria
- 2.1.5. Manejo de string
- 2.2. Estructura de datos
- 2.2.1. Listas
- 2.2.2. Árboles
- 2.2.3. Tablas hash
- 2.3. El bucle del evento principal
- 2.4. Otras características
- Programación orientada a objetos en C
- 3. Programación semi-orientada a objetos en C
- 3.1. Ejemplo de encabezado
- 3.1.1. Espacio de nombres del proyecto
- 3.1.2. Espacio de nombres de clase
- 3.1.3. ¿Minúsculas, Mayúsculas o CamelCase?
- 3.1.4. Incluir guardia
- 3.1.5. Soporte de C++
- 3.1.6. #include
- 3.1.7. Definición de tipo
- 3.1.8. Constructor de objetos
- 3.1.9. Destructor de objetos
- 3.1.10. Otras funciones públicas
- 3.2. El archivo *.c correspondiente
- 3.2.1. Orden de #include
- 3.2.2. Comentarios de GTK-Doc
- 3.2.3. Anotaciones de introspección de GObject
- 3.2.4. Funciones estáticas vs funciones no estáticas
- 3.2.5. Programación defensiva
- 3.2.6. Estilo de codificación
- 4. Una suave introducción a GObject
- 4.1. Herencia
- 4.2. Macros de GObject
- 4.3. Interfaces
- 4.4. Recuento de referencias
- 4.4.1. Evitar ciclos de referencia con referencias débiles
- 4.4.2. Referencias flotantes
- 4.5. Señales y propiedades
- 4.5.1. Conexión de una función de devolución de llamada a una señal
- 4.5.2. Desconexión de controladores de señales
- 4.5.3. Propiedades
- GTK
- 5. Ejemplo de una arquitectura de código de aplicación GTK
- 5.1. La función main() y GeditApp
- 5.2. GeditWindow
- 5.3. GeditNotebook y lo que contiene
- 5.4. ¿Por qué y cuándo crear subclases de widgets GTK?
- 5.5. Widgets compuestos
- Lectura adicional
- 6. Lecturas adicionales
- 6.1. GTK y GIO
- 6.2. Escribir sus propias clases de GObject
- 6.3. Sistema de compilación
- 6.3.1. Las Autotools
- 6.3.2. Meson
- 6.4. Mejores prácticas de programación
- Bibliografía