[Jde-dev] uso de GnomeCanvas y Glade

Javier Vazquez javiervazper en yahoo.es
Lun Mayo 24 15:43:09 CEST 2010


Hola,

he avanzado un poco pero aun sigo bloqueado en la compilación. Por un lado, el mensaje que me daba antes:

(<unknown>:13876): libglade-WARNING **: unknown widget class 'GnomeCanvas'


era debido a que los objetos de esta clase hay que crearlos a mano. En algún proyecto he visto que, desde el editor Glade se crea un objeto "Custom" y en este se fija, en su propiedad "creation function", el nombre de la función que devuelve el GtkWidget que vamos a incrustar (en este caso, sería el GnomeCanvas).

El problema que estoy teniendo es que la función de creación es un método de la clase "introrobgui" (perteneciente al namespace "introrob") que no se referenciar desde el campo "creation function". He visto ejemplos de código que si funciona pero está hecho en lenguaje C normal.

He probado con introrob::introrobgui::create_canvas, introrob::introrobgui.create_canvas, introrob::introrobgui->create_canvas pero siempre obtengo el mensaje de que la función no es encontrada:

(<unknown>:32038): libglade-WARNING **: could not find widget creation function

¿Alguno habéis utilizado este tipo de referencias desde glade, a métodos de clases hecho en C++. Creo que estoy cerca pero se han agotado las ideas.

Gracias.





________________________________
De: Javier Vazquez <javiervazper en yahoo.es>
Para: Jde-developers en gsyc.es
Enviado: lun,24 mayo, 2010 02:36
Asunto: uso de GnomeCanvas y Glade


Hola,

estoy intentando usar un objeto de la clase GnomeCanvas en el componente "introrob" que estoy realizando para la 5.0. No tengo experiencia utilizando esta clase en la programación C++ ni tampoco demasiada experiencia manejando librerías en la compilación.

Después de mucho esfuerzo, he logrado encontrar todas las cabeceras que dependían de la inicial usada "gnome.h" y también he logrado enlazar el código con la librería libgnomeui-2. No obstante, cuando ejecuto el programa, no llega a mostrar la ventada de glade donde hago referencia al objeto GnomeCanvas y aparece el siguiente mensaje en la consola:

Loading glade

(<unknown>:13876): libglade-WARNING **: unknown widget class 'GnomeCanvas'

(<unknown>:13876): Gtk-WARNING **: gtk_scrolled_window_add(): cannot add non scrollable widget use gtk_scrolled_window_add_with_viewport() instead
Segmentation fault


Desde el programa introrob.cpp, solo hago una llamada a esta función: 

    gnome_canvas_update_now(canvasmap);

En el fichero introrob.h lo he declarado, igual que otros widgets definidos en glade:

    GnomeCanvas* canvasmap;


He visto con "nm" que la función anterior no está definida:

         U gnome_canvas_update_now

Sin embargo, no da fallo la compilación ni enlazado. Teóricamente estoy incluyendo la librería que contiene esa función:

libtool: link: g++ -g -O2 -pthread -o .libs/introrob introrob-introrob.o introrob-introrobgui.o introrob-navega.o  -lIce -lIceUtil /usr/lib/libglademm-2.4.so /usr/lib/libgtkmm-2.4.so /usr/lib/libglade-2.0.so /usr/lib/libatkmm-1.6.so /usr/lib/libgdkmm-2.4.so /usr/lib/libgiomm-2.4.so /usr/lib/libpangomm-1.4.so /usr/lib/libglibmm-2.4.so /usr/lib/libcairomm-1.0.so /usr/lib/libsigc-2.0.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libxml2.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libgio-2.0.so /usr/lib/libcairo.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so -L/usr/local/lib -lcxcore -lcv -lhighgui -lcvaux -lml/usr/lib/libgnomeui-2.so -L/usr/lib/ ../../../src/libs/colorspaces/.libs/libcolorspacesmm.so
 ../../../src/interfaces/cpp/jderobot/.libs/libJderobotInterfaces.so -lm -pthread -Wl,-rpath -Wl,/usr/local/lib/jderobot

¿alguna idea?

Gracias de antemano.






________________________________
De: Javier Vazquez <javiervazper en yahoo.es>
Para: Jde-developers en gsyc.es
Enviado: sáb,15 mayo, 2010 02:43
Asunto: Consulta subir ficheros al repositorio SVN


Hola,

estaba interesado en incorporar a la rama 5.0 del repositorio subversion los componentes introrob y gazeboserver que estoy desarrollando para el trabajo fin de master de robótica. Además también tendré que subir algunas interfaces para los motores y sensores de gazebo.

Obtengo el siguiente error cuando realizo el commit de mis cambios:

Error while performing action: Commit failed (details follow):
Server sent unexpected return value (403 Forbidden) in response to MKACTIVITY request for '/jderobot/!svn/act/6e3839f0-45dc-4d9c-b1f8-cd62012f4369'

Parece que no tengo permisos para mi usuario "jvazquez". Por favor, ¿podríais revisarlo cuando tengáis un rato?

Gracias de antemano,
Javier.


      
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20100524/0ad691dc/attachment.htm 


More information about the Jde-developers mailing list