more library structure
Chris Shoemaker
c.shoemaker at cox.net
Wed Jan 25 20:51:15 EST 2006
On Wed, Jan 25, 2006 at 06:22:21PM -0500, Derek Atkins wrote:
> Quoting Chris Shoemaker <c.shoemaker at cox.net>:
>
> >On Wed, Jan 25, 2006 at 05:58:01PM -0500, Derek Atkins wrote:
> >>FWIW, I still want to see enough of gnome initialized earlier such
> >>that the splash screen can get instantiated earlier. You removed my
> >>gnucash-bin.c comment about "start the splash screen here" in your
> >>recent set of commits... But my comment still stands. I want the
> >>splash screen up BEFORE you call load_gnucash_modules().
> >
> >I think that in the commit that I removed that comment, it _was_
> >before module loading, but then I moved it after because of the
> >report-menu setup. I know the goal is to show the modules loading in
> >the splash.
>
> I see no instance of "gnc_show_splash_screen" in gnucash-bin.c in any
> form.. So when you moved stuff around you removed my comment completely.
It's the first thing that happens inside gnc_main_gui_init(). When
that was called before loading modules, the module loading messages
showed on the splash. But, the report menu was never populated.
> Also, I'm not keen on your moving all these plugin-page defs from
> gnome-utils into gnome. They really don't belong in gnome. They
> belong in gnome-utils. Let me repeat: EVERYTHING belongs in
> gnome-utils unless there is a specific library requirement that
> makes it necessary to live in "gnome". But if you can keep it in
> gnome-utils and add a context callback, that's sufficient.
The problem I'm running into isn't so much with the register as with
the report-system. Application startup and tear-down touches
everything - including the report-system. I moved half of it from
gnome into gnome-utils, but I think that was a mistake. It should
stay in gnome. But, that pulls the thread... what about the stuff in
gnome-utils that tried to manage lifecycle - specifically, gnc-file
and gnc-main-window?
The plugins, pluginpages and pluginmanager all end up depending on
these. Although, at the moment I can't remember the exact dependency
chain, so I'm going to start-over and try to take better notes.
> The plugin page code most certainly belongs in gnome-utils, not gnome.
> top-level depends on the plugin-page... not the other way around.
Well then, maybe gnc-plugin-page-account-tree, gpp-budget,
gp-basic-commands, gp-account-tree, and gp-budget belong in
gnome-utils.
In the short term, I'm really not bent on re-organizing the libraries.
I just want the lifecycle functions in one place, and, after moving
them to gnome-utils, I'm convinced they need to go back into gnome.
Let me take another look at what they minimum dependencies are.
-chris
More information about the gnucash-devel
mailing list