[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Anjuta y programación con gtk



El Thu, 22 de Aug de 2002, a las 10:16:06AM +0200, Faro dijo:
> Perdón por el OT.
> 
> Me he liado la manta a la cabeza y he decidido meterme de lleno en la
> programación, campo que tenía prácticamente olvidado. He elegido gtk y
> anjuta.

> Como es lógico me están surgiendo muchas dudas.
> 
> La primera es cómo acceder a las propiedades de un widget desde otro.
> Por ejemplo, cambiar un label al pulsar un botón. Hay una función que se
> ejecuta al pulsar el botón, pero ¿cómo obtengo el puntero al label?
> 
> De momento lo he solucionado con una chapucilla:
> 
>   gtk_signal_connect (GTK_OBJECT (entry1), "changed",
>                       GTK_SIGNAL_FUNC (on_entry1_changed),
>                       label1);
> 
> Es decir, en vez de pasar un puntero nulo, paso como parámetro la
> etiqueta label1. Esto funciona, pero requiere tocar un fichero que dice
> que no lo edite porque es autogenerado por glade. Si hago cambios en el
> interfaz con glade me lo machaca y tengo que volver a hacer el cambio.
> Además, de esa forma no puedo pasar varios widgets. Sospecho que tiene
> que haber un método más eficaz y estandar.

Bueno, yo no soy un gran programador en gtk, pero espero ayudarte. En
Glade puedes indicar el dato u objeto a pasar en la función
gtk_signal_connect (en la ventana de propiedades, pestaña Señales).
Respecto a pasar varios datos a la vez, el sistema que yo he visto es
crear una estructura de datos específica y pasar un puntero a dicha
estructura (un array de punteros a objetos o un struct con todos los
datos que necesitas pasar). O puedes usar variables globales (en general
menos recomendable). 

Ultimamente he descubierto el "libglade" que permite trabajar con glade
sin necesidad de generar el código. Trabaja directamente del XML que
guarda el programa y así se evita uno la "tentación" de modificar el
codigo generado.

> PD: ¿Conoceis alguna lista que hable de estos temas? Si me podeis enviar
> por privado la forma de suscribirse mejor. No tengo acceso a ninguna
> web.
> 

No, mejor en la lista y así somos al menos dos que no preguntaremos lo mismo.
   B-)



Reply to: