Josh Sled <[EMAIL PROTECTED]> writes:

> I'm attempting to fix something that came up earlier in the course
> of Scheduled Transaction UI development... where I needed to
> cut-and-paste a bunch of code from src/gnome/window-register.c into
> dialog-scheduledxaction.c to get a register in the SX Editor.  I decided
> at the time that that was a to-be-short-term-lived hack to see if/how
> it all worked, and that something like this would be necessary, later.
> Now, as the SX since-last-run dialog wants two more "embedded" registers,
> it seems like time to do it.
> 
> As this is a fairly major change, I'd like input before proceeding
> much further [i.e., actually making the changes], and definitely before
> committing back.
> 
> ...jsled

I've got a different (but related) problem..  With Order/Invoice
entries, I need something that looks like the Split Ledger but is
different..

So, I was wondering if there were some way to refactor the SplitLedger
into something more abstract?  In doing this I'll probably wind up
re-inventing the register core, but what I was thinking was that we
could have a way to register cell-types with the split ledger, or
rather, register the functions used to create/modify "Splits":

        gpointer (*newSplit) (GNCBook *, ...);
        void (*setFCN) (gpointer entry, gpointer new_data);
        gpointer (*getFCN) (gpointer entry);

        void setCell (Cell, char * title, getFCN, setFCN);

Then instead of requiring Splits, the SplitLedger could be used to
store, say, a bunch of GncEntry objects for an Order and Invoice.
It would also allow other registers to have the same look-and-feel
as the current SplitLedger.

I need to flush out these ideas a bit more, but I'm trying to prevent
the case where I have to re-implement the SplitLedger because the
Business objects don't use Splits and Transactions, even though they
"look" almost exactly the same.

-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
       [EMAIL PROTECTED]                        PGP key available
_______________________________________________
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel

Reply via email to