more library structure

Derek Atkins warlord at MIT.EDU
Wed Jan 25 21:08:33 EST 2006


Quoting Chris Shoemaker <c.shoemaker at cox.net>:

>> 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.

Well perhaps gnc_main_gui_init() needs to get split up..  Perhaps
we have a gnc_main_gui_preinit() that could just do the gnome initialization
and show the splash screen..  Then we load the modules..  And then
we call gnc_main_gui_init() which does the rest of the initialization
of the main window?

> 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?

See, this is where I think that the gnome-report module initialization
(which should happen AFTER the application initializes but before the
main-window initalizes) should do the menu insertions.

You need to split that.

gnc-file belongs in gnome-utils (or maybe even app-file)..
I'm not sure where gnc-main-window belongs.

> 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.

I'd like to see the dependency tree here..

>> 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.

I'm not sure..  gnc-plugin-page-account-tree calls into the register,
so it can't live in gnome-utils.  I'm not sure about the others.

> 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.

Well, perhaps the lifecycle functions need to be split up and NOT all be
in one place?

> -chris

-derek
-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available



More information about the gnucash-devel mailing list