Article View: es.comp.os.linux.programacion
Article #18636Re: Dudas sobre las cajas combo de gtk
From: Joaquín Cuenca Abela
Date: Sun, 08 Aug 1999 00:00
Date: Sun, 08 Aug 1999 00:00
74 lines
3313 bytes
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-mailReferences:
<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