From: Martin Sevior (msevior@physics.unimelb.edu.au)
Date: Sat Dec 28 2002 - 15:18:38 EST
HI Everyone,
I've done a LOT of work to get footnotes to this point. The
trouble is that footnote are fundamenetally different types of struxes
from other types ina document.
The result of the work so far is that that you can now insert a footnote
in the middle of paragraph.
Within the piecetable a footnote section is like this.
<strux_block><=><frag><=><frag><=>...<frag_footnoteField><=>
<strux_footnote><=><strux_block><=><frag><=>...<=><strux_footnote><=>
<frag>...<=><strux_block>
ie the footnote and footnote text is buried within the paragraph
containing the footnote. After lots of through and investigation of MS
Word I'm sure this is the right way to handle these. (RTF does exactly
this so import/export of RTF and MS Word footnotes is straightforward.)
However this means that all the offsets of the runs, charwidths, and
PartOfBlocks used for spelling have to be adjusted for the footnotae
section downstream of the embedded section. In addition the processes of
getting a byte buffer also has to be corrected for this.
Within the piecetable the process of finding the containing block strux of
frags past the embedded text also needs to skip past the EndFootnote
strux.
Upon further reflection having this code and framework in place will be
essential for other types of containers we will need but may not be part
of the 2.0 release. Things like tables and images with text wrapping
around them. These should really be contained within paragraphs like these
footnotes.
Anyway, the current code is by no means perfect. I'll have to fix the
cursor motion again and thre are corner cases that are not yet handled. I
know about these and will fix them. On the other hand I think we're truely
on the right track with footnotes now and that they will eventually work
perfectly.
Cheers
Martin
Also fix the crash on "insert Hyperlink" 4173 in CVS HEAD.
CVS:
----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: text/fmt/xp/fl_BlockLayout.cpp text/fmt/xp/fl_BlockLayout.h
CVS: text/fmt/xp/fl_ContainerLayout.cpp
CVS: text/fmt/xp/fl_ContainerLayout.h text/fmt/xp/fl_Squiggles.cpp
CVS: text/fmt/xp/fl_Squiggles.h text/fmt/xp/fv_View.cpp
CVS: text/fmt/xp/fv_View_protected.cpp
CVS: text/ptbl/xp/pt_PT_ChangeSpan.cpp
CVS: text/ptbl/xp/pt_PT_DeleteSpan.cpp
CVS: text/ptbl/xp/pt_PT_InsertSpan.cpp
CVS: text/ptbl/xp/pt_PieceTable.cpp text/ptbl/xp/pt_PieceTable.h
CVS: wp/ap/unix/ap_UnixDialog_InsertHyperlink.cpp
CVS:
----------------------------------------------------------------------
Lots of footnote work. Footnotes are now embedded in paragraphs. Fix bug
4173.
This archive was generated by hypermail 2.1.4 : Sat Dec 28 2002 - 15:21:32 EST