Re: GnomeModule, libglade
- From: James Henstridge <james daa com au>
- To: jacob berkman <jacob ximian com>
- Cc: gnome-2-0 <gnome-2-0-list gnome org>, Anders Carlsson <andersca gnu org>
- Subject: Re: GnomeModule, libglade
- Date: Wed, 24 Oct 2001 12:46:26 +1000
jacob berkman wrote:
this has been talked about in the past, but i would like to bring it up
one more time and try to get it to happen before gnome 2.0.
so currently, libglade can support bonobo, gnome, etc. through extra
modules. these libraries could instead directly provide libglade
support themselves.
This sounds like a good idea. I have been trying to reduce the amount
of widget specific code in libglade, which has made it a fair bit
cleaner (and far fewer infrequently followed code paths).
There are a few changes I want to make to the libglade core that will
allow it to use the generic handlers for widgets it hasn't ever heard
of, but have been registered (ie. there get_type() function has been
called, which is pretty inexpensive).
This will probably result in a few small changes to the way handlers are
registered with libglade. Hopefully this will minimise the amount of
work needed to maintain the libglade support in your modules.
advantages:
libraries add libglade support / fixes directly, and can use private
functions / struct fields if necessary
no possibly-broken dependencies if libglade wasn't built with say
bonobo support but an app needs it. if the app needs bonobo with
libglade, it comes with bonobo.
less dlopens / libs to load - libglade doesn't have to load the
different modules as they are already loaded when the main lib is.
if libgnomeui depends on libglade, it can use gtk glade files itself
(as an example)
If people are happy to depend on libglade, then this sounds like a good
idea. It should reduce startup time for apps that open a libglade
window on startup (for apps that only use libglade for dialogs, this
dlopen hit is deferred til the dialog box is opened).
disadvantages:
libraries probably have to add their stuff to libglade when they are
initialized
libglade having a stable api becomes very important to the platform
so these libraries need to tell libglade which widgets they support,
which can happen in the GnomeModule stuff i guess - except that like
libgnomeui provides the GnomeModule for the canvas! which seems totally
broken.
the fact that things like gnome-vfs's version are hard coded in
libgnomeui rather than coming from gnome-vfs is ludicrous at best. it's
too late to change this stuff for 2.0, but does anyone really feel
confident in it? or does it not really matter?
so anyway - does anyone have objections to putting the libglade support
for things in the module where they come from (because i will actually
do the work this time)?
It might make sense to get rid of the init function for libglade all
together, and only initialise when needed. Libglade doesn't need to do
any argument parsing, and there are only a few entry points which rely
on the initialisation having occured.
James.
--
Email: james daa com au
WWW: http://www.daa.com.au/~james/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]