[Jde-dev] Ejemplo "hola mundo" de esquemas+GTK

Roberto Calvo rocapal en gsyc.es
Mar Ene 27 18:41:19 CET 2009


El mar, 27-01-2009 a las 18:31 +0100, Eduardo Perdices escribió:
> Ok, ahí va el parche, solo el cortar y pegar de una función a otra,

Gracias, si te parece le voy a poner lo del initgui para que quede
claro.


>  de todas formas he mirado algunos schemas (opengldemo, image_viewer,
> wiimote_viewer) y está en todos con el init en el startup.

Si si, ya te digo que creo que es una herencia del copy&paste, pero que
es necesario que lo cambiemos, porque sino los esquemas no arrancan si
no esta cargado los servicios gráficos.

Me di cuenta al intentar arrancar ciertos esquemas en la picoITX sin
interfaz gráfica.

un saludo!

> 
> Un saludo
> 
> El 27 de enero de 2009 17:59, Roberto Calvo <rocapal en gsyc.es>
> escribió:
>         
>         Genial Eduardo!
>         
>         Sólo una cosa, que es necesario cambiar en éste y en todos los
>         esquemas
>         que suele pasar.
>         
>         En la función startup por conveniencia no puede haber nada
>         relacionado
>         con interfaz gráfica, ya que es posible correr el esquema sin
>         tener
>         interfaz gráfica (incluso sin tener X en el sistema)
>         
>         Por ello, en el ejemplo concreto de opencv, la función
>         "opencvdemo_init()" no se puede llamar desde el startup. Es
>         necesario
>         llamarla desde "image_recording_guiresume". Creo que lo hemos
>         ido
>         heredando del copy&paste y es necesario revisarlo y cambiarlo.
>         
>         De hecho si la función se llamara opencvdemo_initgui() sería
>         más
>         explicativo incluso.
>         
>         Eduardo si te parece y generas el parche para tu esquema,
>         genial :-) Que
>         lo vimos hace unas semanas Jose María y yo pero el tiempo ...
>         ya sabes.
>         
>         un saludete!!
>         
>         El mar, 27-01-2009 a las 17:21 +0100, Eduardo Perdices
>         escribió:
>         
>         
>         > Hola juan, yo fui quien creó esa entrada del manual, no
>         tengo el
>         > código porque solo lo cree para poner la entrada de ejemplo
>         y hacer la
>         > captura, después lo borré.
>         >
>         > Aun así, entra en mi repositorio, por ejemplo aquí:
>         >
>         >
>         http://svn.jde.gsyc.es/users/eperdes/headtracking/trunk/opencvdemo/
>         >
>         > Te explico un poco, los glade se crean con un programa con
>         el que vas
>         > creando la interfaz sin necesidad de picar código, el
>         paquete de linux
>         > se llama "glade-gnome", con eso generas la interfaz
>         gráficamente y te
>         > genera el .glade, en mi schema puedes ver el que se ha
>         creado con el
>         > nombre opencvdemo.glade.
>         >
>         > Después todos los .h son iguales en todos los chemas, si
>         abres el
>         > opencvdemo.h simplemente tienes que cambiar lo de
>         "opencvdemo" por el
>         > nombre de tu schema, todo lo demás es igual.
>         >
>         > Después en el opencvdemo.c, deja como cabeceras solo esto:
>         >
>         > #include "jde.h"
>         > #include "opencvdemo.h"
>         > #include <graphics_gtk.h>
>         > #include <glade/glade.h>
>         > #include <gtk/gtk.h>
>         > #include <gdk/gdk.h>
>         >
>         > Después, a partir de la linea 102, verás que hay muchas
>         funciones que
>         > se llaman "on_active_x_toggled", esas son las funciones que
>         llama el
>         > gtk, y que están asignadas en la linea 1025. Todas esas
>         funciones si
>         > quieres las puedes borrar y también todas las funciones
>         propias del
>         > schema, hasta la linea 536.
>         >
>         > Después el resto de funciones tienes que tenerlas, aunque
>         estén en
>         > blanco, ya que aparecen en el opencvdemo.h y jde las
>         utiliza:
>         >
>         > La primera es opencvdemo_iteration, esa la puedes dejar en
>         blanco
>         > Luego viene opencvdemo_imports, ahí hay que hacer el import
>         de las
>         > variables de los drivers que utilices, de momento también la
>         puedes
>         > dejar en blanco.
>         > En opencv_exports, tienes que hacer los 4 exports que vienen
>         > obligatoriamente, así que es solo cambiar el opencvdemo por
>         el nombre
>         > de tu schema.
>         > opencvdemo_init es siempre parecida, ponla como viene en el
>         manual.
>         > opencvdemo_end y stop se pueden quedar en blanco, tal como
>         están.
>         > opencvdemo_suspend también es siempre igual, cambiando el
>         nombre del
>         > schema.
>         > opencvdemo_resume, dejalo tal cual está pero quitando las
>         dos llamadas
>         > que aparecen de la forma "RGB2HSV_..." que son de la
>         librería
>         > colorspaces y que tu no tienes que utlizar.
>         > opencvdemo_thread, también es siempre igual, solo cambiar
>         nombres.
>         > La de opencvdemo_parseconf, la puedes borrar, se usa para
>         cuando
>         > tienes tu propio archivo de configuración, pero de momento
>         no creo que
>         > tengas, así que borra la función.
>         > opencvdemo_startup, dejalo como está, pero quitando el
>         primer if, que
>         > llama a la función que acabas de borrar.
>         > Las 3 funciones que faltan, que son guidisplay, guiresume y
>         guisuspend
>         > son las 3 propias de la interfaz gráfica, vienen en el
>         manual, así que
>         > ponlas como están ahí.
>         >
>         > Y nada más, si tienes alguna duda pregunta lo que sea.
>         >
>         > Un saludo.
>         >
>         > El 27 de enero de 2009 16:43, juan <juan en iearobotics.com>
>         escribió:
>         >         Hola,
>         >
>         >          He estado mirando esta documentación sobre cómo
>         hacer
>         >         esquemas que
>         >         usen GTK:
>         >
>         >
>         http://jde.gsyc.es/index.php/Manual#Using_GTK_Library
>         >
>         >          Me gustaría empezar por ese ejemplo. ¿Alguien tiene
>         el código
>         >         completo? Me refiero no sólo al fichero .c, sino
>         también
>         >         el .h,
>         >         el .glade y el Makefile.
>         >
>         >         Gracias
>         >
>         >         Saludos, Juan
>         >
>         >         --
>         >         Juan Gonzalez Gomez
>         >         blog: http://www.iearobotics.com/blog/
>         >         web: http://www.iearobotics.com/juan
>         >
>         >         _______________________________________________
>         >         Jde-developers mailing list
>         >         Jde-developers en gsyc.es
>         >
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >
>         > _______________________________________________
>         > Jde-developers mailing list
>         > Jde-developers en gsyc.es
>         >
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         
>         --
>         Roberto Calvo Palomino          | Libre Software Engineering
>         Lab (GSyC)
>         Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
>         Tel: (+34) 91 488 81 05         | Edif. Departamental II -
>         Despacho 116
>         rocapal en gsyc.es                 | c/Tulipán s/n 28933 Móstoles
>         (Madrid)
>         http://libresoft.es/
>         
>         GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
> 
> documento de texto sencillo adjunto (parche.txt)
> 945d944
> <   	opencvdemo_init();
> 1000a1000
> >    opencvdemo_init();
-- 
Roberto Calvo Palomino          | Libre Software Engineering Lab (GSyC)
Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
Tel: (+34) 91 488 81 05         | Edif. Departamental II - Despacho 116
rocapal en gsyc.es                 | c/Tulipán s/n 28933 Móstoles (Madrid)
http://libresoft.es/       

GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 197 bytes
Descripción: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20090127/b15ef46d/attachment.pgp 


More information about the Jde-developers mailing list