UI independance

Derek Atkins warlord at MIT.EDU
Thu Feb 13 21:48:45 CST 2003


Matthew Vanecek <mevanecek at yahoo.com> writes:

> I'd like to point out, using CORBA doesn't necessarily tie you to GNOME,
[snip]
> The dependency would be on the CORBA library we used, from the engine
> standpoint. The UI dependency would be on whatever CORBA library *it*

This was the point I was trying to make -- that we'd probably wind up
writing the interfaces to Gnorba, thereby adding more gnome
dependence.

My hope is that we DO NOT tie corba into the engine.  If anything
corba should be a middleware layer between the engine and the GUI...

> Anyhow, I'd really like to emphasize, I like the ability to have two
> different files open at once.  If we move to the one-instance-at-a-time,
> we need to make sure we can have multiple files open concurrently...

Oh, I wholeheartedly agree.  The engine is moving towards that end.
The GNCSession was meant to be the first step in that direction, but
it needs to be taken further.  It's going to require rototilling a
bunch of code to remove a bunch of globals and assumptions about the
Session State.

If nothing else it's going to require passing a GNCSession or a
GNCBook (or some other object that necessarily points back to one) to
EVERY function, and getting rid of the gnc_get_current_*() functions.
It's also going to require similar changes to the event processing
code.

Further down this path I think we need to make the engine thread
safe....

This is all a LOT of work.  But I agree it would be highly worth it in
the end.  Picture a modular gnucash-2 that provides a bunch of corba
interfaces and a gnome2 ui that uses those interfaces to present to
the user....  :)

> Matthew Vanecek

-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