The attached patch was created with
        cvs diff -p -u > angus.patch
        bzip2 angus.patch

It contains the changes I needed to make to get the rae
branch to compile with egcs-1.1.2/GNU STL and lyxstring.

It also contains changes needed to remove the old
form_print from the sources. This code will use the NEW
print dialog.

This dialog does not yet work properly.
1. The file name is appended to an incorrect path.
2. There are some unaligned error traps.

Could I suggest, Allan, that now is a good time to merge in
all the changes that have been happening in the head branch
of CVS as well. Things are diverging rapidly I feel.

Angus


On a slightly different note (only slightly):

I was following the Dispatch() code.

FormPrint::update() calls
        LyXFunc::Dispatch(LFUN_PRINTER_PARAMS_GET, size, buf)

which in turn calls
        PrinterParams::get(size,buf);

and then returns to FormPrint::update()

FormPrint::apply() calls 
        LyXFunc::Dispatch(LFUN_BUFFER_PRINT, size, buf);

which in turn calls 
        Buffer::Dispatch(LFUN_BUFFER_PRINT, size, buf);

which in turn does a bunch of things with PrinterParams and
then returns to FormPrint::apply()


Noting the comment in lyxfunc.C immediately above
LyXFunc::Dispatch():

/*========================================================================
  Below here doesn't really belong in LyXFunc and should be either
  removed or reworked so they aren't needed.  Sooner the better otherwise
  LyXFunc will end up a dumping ground for miscellaneous functions.
==========================================================================*/

Can I just say PLEASE!
This (ridiculously convoluted) code would surely be better
served if FormPrint::apply() and FormPrint::update() called
a PrinterParams::Dispatch() function directly. Why do
LyXFunc or Buffer need to know anything?

Before I try and hack something together, I thought I'd ask
someone who knows why things are the way they are!

Time to do some paid work!
Angus

angus.patch.bz2

Reply via email to