Introducción a la programación con t-gtk.

 

La programación en T-Gtk se puede basar en programación estructurada, Programación Orientada a Objetos y/o con el diseñador Glade en ambos tipos de programación, sin ningún tipo de problemas.

Cada programador es libre de realizar la implementación lo mejor que le parezca, pues puede realizar lo que se proponga sin mayor dificultad.

Así, tiene muchas funciones del API de GTK+ disponibles, y simplemente leyendo la ayuda de GTK+ espero que lo entienda, en línea del lenguaje C, usted entenderá perfectamente que realiza dicha función, es por ello que no vamos a extendernos en explicar cada una de dichas funciones, excepto cuando su paso de parámetros haya sido ligeramente modificado para trabajar bajo Harbour.

Una de las cosas en común entre los distintos widgets es su colocación en su contenedor, y que afecta a todos por igual.

Básicamente, cuando queremos introducir un widget en un contenedor, podemos hacerlo de dos maneras (hay más pero está fuera de esta explicación), y veremos solamente a través de POO, para funciones vea la ayuda propia de GTK+ sobre las funciones gtk_box_pack_start() y gtk_container_add(), o, si se tratara de un contenedor fixed, el hijo se debe de añadir haciendo gtk_fixed_put( child, x,y ).

Bien, como comentabamos, en POO, tenemos a nivel del preprocesador algunas opciones:

[ ]

[ ]

[ PADDING ]

[ ]

[ OF ]

[ ID ]

[ RESOURCE ]

[ LABELNOTEBOOK ] ;

[ POS , ]

Todo esto es común a cualquier widget que puede ser contenido en un contenedor. La explicación es muy simple.

Para crear un widget del tipo button, por ejemplo, no tenemos que decirle el contenedor, lo podemos hacer más tarde, aun así, ha sido creado.

 

Si le pasamos el 'padre',  a quien debe de pertenecer el button, mirará si le pasamos la cláusula CONTAINER, y si es asi, EXPANP ,FILL y PADDING es ignorado o si es de la clase Fixed, ignorara el resto de comandos, en ese caso, si el padre es un oFixed, usará los parámetros x,y de la cláusula POS.

La cláusula LABELNOTEBOOK , sirve para indicar el texto para todo widget que vaya a formar parte del widget Notebook, indicando asi que label veremos, donde dicha , puede ser una cadena de texto, o un objeto label.

 

 

Profundizaremos más en todas estas cláusulas, esto simplemente es para hacerse una idea general del sistema de contenedores.

Propiedades generales de los Widgets :

Caracteristica del widget:

[ MNEMONIC ]

[ FONT ]

[ SIZE , ]

[ BAR [ MSG ] ]

[ CURSOR ]

 

Comportamiento en su contenedor:

[ EXPAND ]

[ FILL ]

[ PADDING ]

[ CONTAINER ]

[ INSERT_END ]

 

Posicion cuando su padre sea un Fixed:

[ POS , ]

 

Comportamiento cuando vaya a ser parte de un gPaned:

[ SECOND_PANED ]

[ RESIZE ]

[ SHRINK ]

 

Padre:

[ OF ]

 

Su uso en Glade:

[ ID ] 

[ RESOURCE ]

 

Dentro de una pestaña de un Widget gNoteBook:

[ LABELNOTEBOOK ] uLabelBook es un texto o un objeto gLabel