manuel david jimenez patiño
Tue, 09 Oct 2007 10:20:26 -0700
>Hola Manuel,
>Antes de nada decirte que la página a la que te apuntaba yo es la siguiente:
>http://library.gnome.org/devel/gtk/stable/GtkFileChooserDialog.html#id3631938
>Los resultados que obtienes con tu código son los esperados. Date cuenta de
>que estás trabajando con un>botón. Lo que creo que tu buscas es el dialog que
>permite al usuario seleccionar un fichero o directorio del>sistema de
>archivos. Eso lo debes hacer con el widget GtkFileChooserDialog como bien te
>apuntaba Cleto.>Con este widget sí que puedes recuperar la ruta del fichero o
>directorio seleccioando por el usuario de la>forma que te apuntaba Cleto, que
>es la misma que los ejemplos expuestos en la referencia que te hago.
>Un saludo y suerte ;)
>Loren
Hola otra vez, sigo encabezonado con mi "GtkFileChooserButton", además no
consigo hacer en Gazpacho el añadir un "GtkFileChooserDialog" a una ventana.
En esta página nos dicen que "GtkFileChooserButton",es un botón que se utiliza
para seleccionar archivos y que implementa la interfaz "GtkFileChooser"
http://library.gnome.org/devel/gtk/2.11/GtkFileChooserButton.html
En las funciones de esta interfaz:
http://library.gnome.org/devel/gtk/2.12/GtkFileChooser.html
aparecen funciones como:
gchar* gtk_file_chooser_get_filename (GtkFileChooser *chooser);
las estoy probando pero no me dan resultado, fallo de compilación no me da, por
lo que parece ser que en realidad "GtkFileChooserButton" implementa esta
interfaz, pero al ejecutarlo no me coje la ruta del archivo.
en este foro http://gul.uc3m.es/mailman/listinfo/gul me han dicho que me
debería funcionar.
La parte de código en donde utilizo "GtkFileChooserButton" es la siguiente:
GtkWidget * prueba_crear_main(void){
FILE *nomnbre_del_directorio;
char *filename;
GladeXML *xml;
GtkWidget *window;
GtkWidget *button1;
GtkWidget *button2;
GtkWidget *button3;
GtkWidget *button4;
GtkWidget *button5;
GtkWidget *button6;
GtkWidget *button7;
GtkWidget *button8;
GtkWidget *button9;
GtkWidget *button10;
GtkWidget *button11;
GtkWidget *button12;
GtkWidget *button13;
GtkWidget *button14;
GtkWidget *filechooserbutton1;
xml = glade_xml_new("saludo3.glade", NULL, NULL);
glade_xml_signal_autoconnect(xml);
window = glade_xml_get_widget (xml, "window1");
//Conectamos los botones de la interfaz creada
button1 = glade_xml_get_widget (xml, "button1");
button2 = glade_xml_get_widget (xml, "button2");
button3 = glade_xml_get_widget (xml, "button3");
button4 = glade_xml_get_widget (xml, "button4");
button5 = glade_xml_get_widget (xml, "button5");
button6 = glade_xml_get_widget (xml, "button6");
button7 = glade_xml_get_widget (xml, "button7");
button8 = glade_xml_get_widget (xml, "button8");
button9 = glade_xml_get_widget (xml, "button9");
button10 = glade_xml_get_widget (xml, "button10");
button11 = glade_xml_get_widget (xml, "button11");
button12 = glade_xml_get_widget (xml, "button12");
button13 = glade_xml_get_widget (xml, "button13");
button14 = glade_xml_get_widget (xml, "button14");
filechooserbutton1 = glade_xml_get_widget (xml, "filechooserbutton1");
//Iniciamos los callback de los widget
g_signal_connect (window, "destroy",G_CALLBACK (on_window1_destroy), NULL);
g_signal_connect (G_OBJECT (button1), "clicked", G_CALLBACK
(on_button1_clicked), NULL);
g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK
(on_button2_clicked), NULL);
g_signal_connect (G_OBJECT (button3), "clicked", G_CALLBACK
(on_button3_clicked), NULL);
g_signal_connect (G_OBJECT (button4), "clicked", G_CALLBACK
(on_button4_clicked), NULL);
g_signal_connect (G_OBJECT (button5), "clicked", G_CALLBACK
(on_button5_clicked), NULL);
g_signal_connect (G_OBJECT (button6), "clicked", G_CALLBACK
(on_button6_clicked), NULL);
g_signal_connect (G_OBJECT (button7), "clicked", G_CALLBACK
(on_button7_clicked), NULL);
g_signal_connect (G_OBJECT (button8), "clicked", G_CALLBACK
(on_button8_clicked), NULL);
g_signal_connect (G_OBJECT (button9), "clicked", G_CALLBACK
(on_button9_clicked), NULL);
g_signal_connect (G_OBJECT (button10), "clicked", G_CALLBACK
(on_button10_clicked), NULL);
g_signal_connect (G_OBJECT (button11), "clicked", G_CALLBACK
(on_button11_clicked), NULL);
g_signal_connect (G_OBJECT (button12), "clicked", G_CALLBACK
(on_button12_clicked), NULL);
g_signal_connect (G_OBJECT (button13), "clicked", G_CALLBACK
(on_button13_clicked), NULL);
g_signal_connect (G_OBJECT (button14), "clicked", G_CALLBACK
(on_button14_clicked), NULL);
;
//AQUI ES DONDE LO PRUEBO
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER
(filechooserbutton1));
printf("nombre archivo que estamos seleccionando1: %s ", filename );
filename = gtk_file_chooser_get_preview_filename (filechooserbutton1);
printf("nombre archivo que estamos seleccionando2: %s ", filename );
return window;
}
Bueno un saludo, espero contaros un pronto y feliz desenlace.
----------------------------------------> Date: Tue, 9 Oct 2007 11:26:55 +0200>
From: [EMAIL PROTECTED]> To: crysol@arco.inf-cr.uclm.es> CC: [EMAIL PROTECTED]>
Subject: Re: [CRySoL] Glade, or Gazpacho: that is the question>>> Hola
Manuel,>> Antes de nada decirte que la página a la que te apuntaba yo es la
siguiente:>>
http://library.gnome.org/devel/gtk/stable/GtkFileChooserDialog.html#id3631938>>
Los resultados que obtienes con tu código son los esperados. Date cuenta de que
estás trabajando con un botón. Lo que creo que tu buscas es el dialog que
permite al usuario seleccionar un fichero o directorio del sistema de archivos.
Eso lo debes hacer con el widget GtkFileChooserDialog como bien te apuntaba
Cleto. Con este widget sí que puedes recuperar la ruta del fichero o directorio
seleccioando por el usuario de la forma que te apuntaba Cleto, que es la misma
que los ejemplos expuestos en la referencia que te hago.>> Un saludo y suerte
;)>> Loren>> ---------- Original Message ---------------------------------->
From: manuel david jimenez patiño> Date: Mon, 8 Oct 2007 23:10:30
+0000>>>>>Gracias Cleto y Lorenzo por responder; Cleto he estado probando tú
código en mi caso, y no me sirve, vamos que me dan fallos de compilación, pero
vamos no es por que tú código esté mal, que va. Es que al paracerer tú estabas
utilizando un "GtkFileChooserDialog" y yo estoy utilizando un
"GtkFileChooserButton"; son muy parecidos pero no son iguales por eso me dan
fallo los métodos que tú utilizabas.>>>>Todo lo que he buscado hasta ahora
sobre este "GtkFileChooserButton" me lleva a esta página que era a la que hacía
referencia
Lorenzo:>>>>http://developer.gimp.org/api/2.0/gtk/GtkFileChooserButton.html>>>>En
ella aparecen las funciones con las que pueden funcionar los widgets tipo
"GtkFileChooserButton", pero todavía no consigo recoger el nombre del archivo
que se selecciona con éste.>>>>He probado la función:>>>>char
*filename;>>>>filename = gtk_file_chooser_button_get_title
(filechooserbutton1);>>>>printf("nombre archivo que estamos seleccionando: %s
", filename );>>>>Y curiosamente este printf me imprime lo que en el programa
Gazpacho tengo en título en la parte control, no el nombre del fichero que
selecciono.>>>>Bueno mañana seguiré probando.>>>>Un
saludo.>>>>/****************************************************************************************>>Era
generoso, amaba la paz, y por encima de todo una persona feliz = Bob
Marley;>>>>>>----------------------------------------> Date: Sun, 7 Oct 2007
22:34:00 +0200> From: [EMAIL PROTECTED]> To: crysol@arco.inf-cr.uclm.es>
Subject: Re: [CRySoL] Glade, or Gazpacho: that is the question>> Hola!>> Yo lo
tengo hecho con un dialog de filechooser. El código que te paso> está hecho en
Python. Espero que te sirva. Está sacado de un práctica> para criptografía. No
está muy "depurado" en el sentido de que pueden> sobrar cosas. Pero bueno...
ahí va :-)>> Se supone que debes tener un filechooser dialog.>> def
open_file(self, boton):> dialog = self.widgets.get_widget('filechooserdialog')>
fichero = ""> cancel = False>> action = dialog.run()>> if(action ==
gtk.RESPONSE_OK):> fichero = dialog.get_filename()> texto =
file(fichero).read()> self.widgets.get_widget(\>
'tf_criptograma').get_buffer().\> set_text(texto.decode('utf-8'))>>
dialog.hide()> _______________________________________________> CRySoL mailing
list> http://crysol.inf-cr.uclm.es/>
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol>>>>_________________________________________________________________>>Express
yourself instantly with MSN Messenger! Download today it's
FREE!>>http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/>>_______________________________________________>>CRySoL
mailing
list>>http://crysol.inf-cr.uclm.es/>>https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol>>>>>>>
___________________________________________________> Enviado a través de
http://alumnos.uclm.es/webmail>>>>>>>>
___________________________________________________> Enviado a través de
http://alumnos.uclm.es/webmail>>>>>
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
_______________________________________________
CRySoL mailing list
http://crysol.inf-cr.uclm.es/
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol