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