🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #18636

Re: Dudas sobre las cajas combo de gtk

#18636
From: Joaquín Cuenca Abela
Date: Sun, 08 Aug 1999 00:00
74 lines
3313 bytes
Miguel Angel Barciela wrote:
> 
> Hola.
> Tengo algunas dudas con el gtk_combo.
> Mas o menos entiendo como se pone texto en la entrada y el la lista y
> que se puede manejar la lista con GTK_COMBO(combobox)->list pero no
> entiendo como se maneja esta lista. En el tutorial no viene muy claro,
> las funciones gtk_list_* tampoco las entiendo porque, por ejemplo, al
> llamar a la funcion para quitar un elemento de la lista pone que es
> responsabilidad del que llama a esta funcion llamar a g_list_free.

Me parece que est�s confundiendo una GtkList con una GList.

Las Gtklist (ahora obsoletas por GtkCList) son para crear widgets
multicolumnas, mientras que GList es una lista enlazada. GtkList no
tiene nada que ver con las Combo

> Tampoco se si hay que conectar la se�al "selection_changed" a alguna
> funcion o ya viene conectada a alguna suya y las demas se�ales de la
> lista.

��?? selection_changed es una se�al de GtkList y no de Combo. La �nica
se�al de un combo que te puede interesar conectar es activate (el
usuario ha elegido/introducido una cadena de texto en el campo de
entrada del combobox y ha pulsado la tecla "Intro"). Para conectar esta
se�al a una funci�n respuesta, haz lo siguiente:

----
gtk_signal_connect(GTK_OBJECT(GTK_COMB(combo)->entry), "activate",
                   GTK_SIGNAL_FUNC (mi_funcion_respuesta), mis_datos);
----

Otra cosa, cuando quieras leer el contenido del Combo en cualquier
momento (es especialmente �til leerlo cuando el usuario ha introducido
algo y ha pulsado intro :), tienes que hacer lo siguiente:

----
char *cadena;

cadena = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry));
----

Y ya que estamos, y ya que la pregunta ven�a a ra�z de la Glist, aqu�
tienes como crear una GList:

----
GList *glist=NULL;

glist = g_list_append(glist, "Cadena 1");
glist = g_list_append(glist, "Cadena 2");
glist = g_list_append(glist, "Cadena 3"); 
glist = g_list_append(glist, "Cadena 4");

gtk_combo_set_popdown_strings( GTK_COMBO(combo), glist) ;
----

Y s�, esto est� sacado del Tutorial de Gtk+, �Qu� versi�n del tutorial
tienes?. Si tienes la 1.0 actualizate a la 1.2, lo tienes en castellano
en LinuxLandia <http://www.croftj.net/~barreiro>, pero desgraciadamente
creo que la versi�n que hay all� no tiene el cap�tulo de las Combo
traducido (cualquiera puede tener un desliz :)

> Nada mas gracias.

De nada, hombre.

�Un saludo!

P.S.: No si este mensaje servir� de algo, ya que la pregunta era de hace
m�s de una semana... tengo que leer las news m�s a menudo...

--
Joaqu�n Cuenca Abela
e-mail: e98cuenc@criens.u-psud.fr
Technical Details
Message-ID: <37AD6861.26190AA4@criens.u-psud.fr>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <37A2FB69.9DFA4318@interbook.net>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,bf84302a4f1d1c32,start
X-Google-Attributes: gidf86c8,public
From: Joaquín Cuenca Abela <e98cuenc@criens.u-psud.fr>
Subject: Re: Dudas sobre las cajas combo de gtk
Date: 1999/08/08
Message-ID: <37AD6861.26190AA4@criens.u-psud.fr>
X-Deja-AN: 510233443
Content-Transfer-Encoding: 8bit
References: <37A2FB69.9DFA4318@interbook.net>
X-Accept-Language: es-ES, en
Content-Type: text/plain; charset=iso-8859-1
Organization: Telefonica Transmision de Datos
Mime-Version: 1.0
Newsgroups: es.comp.os.linux.programacion