Este tutorial trata de explicar como crear un widget desde 0 con las sentencias básicas de GTK y del lenguaje C .
Como todos sabemos el lenguaje C no tiene CLASS o CLASE .
El lenguaje de programación C no fue creado para la programación orientada a objetos.
Pero eso no significa que C sea un lenguaje limitado .
En la mayoría de los casos esto puede solucionarse utilizando bibliotecas de terceros , tal es el caso de GObject que forma parte de Glib en paquete de librerias GTK .
El sistema GObject viene con su propia mesa virtual .
Veamos el código de nuestro nuevo widget
Dado que el sistema GObject es sólo una biblioteca de terceros y por lo tanto no puede realizar ningún cambio en el lenguaje C sí mismo, al crear un nuevo objeto o widget se requiere una gran cantidad de código escrito .
*****************************************************************************************************
myentry.c
*****************************************************************************************************
myentry.h
*****************************************************************************************************
main.c
****************************************************************************************************
Imagen de nuestro widget creado .
*******************************************************************************************************
Esta es la sentencia que identifica a nuestro nuevo widget creado .
En realidad es un clon de GTK ENTRY que es el widget de entrada de datos o para buscar datos . Pero no tiene las propiedades de este es decir no podemos copiar , pegar ,etc . Debido a que no definimos esas funciones dentro del widget casero .
Vemos la diferencia de sentencia para invocar el widget casero y el widget por defecto que viene en las librerías GTK .
my_entry_new ( widget casero )
gtk_entry_new ( widget por defecto en las librerías GTK )
**************************************************************************************************
Veamos el código usando GTK ENTRY por defecto
main.c
Viendo esta imagen vemos que invocando el widget ya escrito en la libreria GTK
nos ahorramos mucho código la verdad . Solo usamos un archivo .
Pero no podemos crear un widget acorde a nuestras necesidades .
cuestión que con my_entry_new si podemos hacerlo .
Como todos sabemos el lenguaje C no tiene CLASS o CLASE .
El lenguaje de programación C no fue creado para la programación orientada a objetos.
Pero eso no significa que C sea un lenguaje limitado .
En la mayoría de los casos esto puede solucionarse utilizando bibliotecas de terceros , tal es el caso de GObject que forma parte de Glib en paquete de librerias GTK .
El sistema GObject viene con su propia mesa virtual .
Veamos el código de nuestro nuevo widget
Dado que el sistema GObject es sólo una biblioteca de terceros y por lo tanto no puede realizar ningún cambio en el lenguaje C sí mismo, al crear un nuevo objeto o widget se requiere una gran cantidad de código escrito .
*****************************************************************************************************
myentry.c
*****************************************************************************************************
myentry.h
*****************************************************************************************************
main.c
****************************************************************************************************
Imagen de nuestro widget creado .
*******************************************************************************************************
Esta es la sentencia que identifica a nuestro nuevo widget creado .
En realidad es un clon de GTK ENTRY que es el widget de entrada de datos o para buscar datos . Pero no tiene las propiedades de este es decir no podemos copiar , pegar ,etc . Debido a que no definimos esas funciones dentro del widget casero .
Vemos la diferencia de sentencia para invocar el widget casero y el widget por defecto que viene en las librerías GTK .
my_entry_new ( widget casero )
gtk_entry_new ( widget por defecto en las librerías GTK )
**************************************************************************************************
Veamos el código usando GTK ENTRY por defecto
main.c
Viendo esta imagen vemos que invocando el widget ya escrito en la libreria GTK
nos ahorramos mucho código la verdad . Solo usamos un archivo .
Pero no podemos crear un widget acorde a nuestras necesidades .
cuestión que con my_entry_new si podemos hacerlo .