[Buoh-dev] sudo apt-get remove glade
Carlos Garcia Campos
carlosgc at gnome.org
Thu Sep 15 12:56:28 MDT 2005
Acabo de hacer commit con muchos cambios, y como siempre cuando hay
muchos cambios hay mas probabilidad de que haya algo roto, así que echad
un vistacillo a ver. Incluso puedo haber roto algo que antes rulaba. Os
cuento:
He eliminado las dependencias de glade, puesto que lo usábamos muy poco
y de forma un poco retorcida.
Ahora usamos un ui_manager para construir el código de cosas como
toolbars, menus y popups. El funcionamiento es el siguiente. Antes
pensábamos en un widget que tenía una acción asociada, es decir,
teníamos un item en el menu para ir hacía atrás y pensabamos en poner un
callback para cuando se activara. Pero teníamos un elemento de la
toolbar que hace exactamente lo mismo, así que ibamos y atabamos otro
callback o el mismo para dicha acción. Si tenemos un popup para ir hacía
atrás tenemos que atar de nuevo el callback. Bueno, pues ahora la
mentalidad es un poco diferente, ahora pensamos que el buoh puede
realizar una serie de acciones, independientemente de si se van a
ejecutar pulsando en un botón del toolbar, en un menu o en un popup. Así
que definimos en una estructura estática todas las acciones que el buoh
soporta.
Una vez que tenemos las acciones, creamos el ui en un fichero xml,
similar a la idea de glade, pero mucho mas sencillo, el xml queda muy
simple. En el xml ya si que pensamos en como queremos el gui y
declaramos un menu con items, separadores, etc, una toolbar, los popups,
etc. A cada item declarado en el menu, la toolbar, etc. le asociamos una
de las acciones que hemos declarado anteriormente.
Estos elementos del gui están accesibles a través del ui manager de
forma similar a como hacíamos con glade, haciendo un get_widget e
indicando la ruta al widget.
Y que hemos ganado con todo esto?
muchas cosas, algunas:
* los atajos de teclado ahora funcionan
* no tenemos que hacer un g_signal_connect para cada widget de la
toolbar, menu, popups, etc.
* la toolbar ahora atiende a cambios en la configuración del desktop con
relación a menus y barras de herramientas
* Tenemos tooltips traducibles en la toolbar de forma cómoda
* La gestión de los sensitive tambiñen se hace por acciones por lo que
si queremos deshablitar, por ejemplo, la opción de ir hacía atras, no
necesitamos hacer un set_sensitive en el menu_item, en el toolbar_item,
etc. sino siplemente en la acción de ir hacía atrás y los widgets que
asociados a dicha acción serán deshabilitados
Y alguna cosa mas que seguro que se me olvida.
Faltan algunas cosas por hacer, pero quería ir subiendo los cambios para
que podáis ir incorporando vuestros cambios pendientes (el parche de
zioma ya lo he integrado en parte en el código).
Que recuerde ahora mismo falta:
* Hacer que el cambio de visibilidad de la toolbar sea permanente (KaL)
* Hacer que los botones de atras y alante estén disponibles en
determinadas circunstancias (steve-o)
* Añadir el popup de la vista (zioma)
* Comprobar que se puede usar _todo_ solo con el teclado con atajos y
con el tabulador además de otras comprobaciones de hig (KaL)
El resto de las cosas ya son las que teníamos ya apuntadas en el
roadmap.
Como siempre adjunto megaparche! (Mierda!, lo he borrado, lo siento
mucho)
Salu2
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carlos Garcia Campos a.k.a. KaL
elkalmail at yahoo.es
carlosgc at gnome.org
http://carlosgc.linups.org
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
digitalmente
Url : http://forge.novell.com/pipermail/buoh-dev/attachments/20050915/6f8f2860/attachment.pgp
More information about the Buoh-dev
mailing list