>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: [email protected]> 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: [email protected]> 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
