Backend changes ready for commit - please test it!


Subject: Backend changes ready for commit - please test it!
From: Jesper Skov (jskov@redhat.com)
Date: Sun Feb 18 2001 - 04:24:00 CST


OK, close enough to check in the changes now. Still some minor bugs to
fix, but no crashers.

I've done substantial testing - regular text editing using the forced
page/line/column breaks, undos, font sizing, loading of _all_ docs/
and test/ documents.

So much testing in fact that I know I'll be looking at some way of
automating this next. It's taken too long.

I haven't tested everything though. Header/footer, lists and printing
I don't really know how to stress properly. But the few test documents
with lists / footers loaded fine [except or some non-crashing
assertions I'll look at].

There's one thing only preventing me from checking this in - missing
BiDi support. Tomas, could I get you to look over my changes and add
it? I don't think it should be too bad - there are 3 new
findPointCoords functions or something like that. You probably have a
better idea of what needs doing and why than I do - and you know how
to test it properly.

The code fixes 10-15 bugs in the bug database, so I'm pretty eager to
get it checked in. But I _do_ need others to test it before I can
commit it. Please help me. If I don't get any feedback from this soon
I'll probably go ahead and check it in anyway - as I say, I've done
more testing than has ever been done before (just look at all the bugs
I've filed for the old backend - of which all the Run related ones are
fixed by the new code).

While waiting for feedback, I'll go over the (80kB) patch and tidy
stuff up as necessary and add (more) doxygen comments.

Thanks,
Jesper

---------------------------------- TODO ----------------------------------

 o Bug: Carret Y position is wrong with big fonts. [Because it gets
        ascent from default style?]
 o Bug: Figure out why the heap is trashed by the delete in
        _purgeEndOfParagraphRun [presently leaks mem].
 o Bug: Loading test/wp/footer.abw causes assertions in page numbering
        fields.
 o Feat: Add show paragraph draw for ForcedLineBreak.
 o Looks: Right-aligned lines push the pilcrow into the margin.
 o Looks: Pilcrow does not inherit super/subscripting. Want to clean up
          some code rather than add more cruft.
 o Looks: Pilcrow on empty line looks different than on others - because
          it cannot inherit properties. Fix with proper access to
          default font properties.
 o Feat: Add BIDI_ENABLED handling of new mapXYToPosition/findPointCoords
   functions.
 o Clean: Get rid of fl_BlockLayout::_validateBlockForPoint
 o Clean: Add Doxygen function comments.
 o Test: printing.
 o Test: header/footer editing
 o Test: lists
 o Test: Load all abi/docs and abi/test docs and run cursor to the EOD
         (line down).
 o Test: fl_BlockLayout::_breakLineAfterRun call from field start/end
         insertion [how is this triggered?]

Future:
 [I spent some time on this today, but it needs a lot of hacking - and
  most of the code is new to me, so this will be a post 1.0 job for
  sure. Investigate Paul's suggestion of just increasing the block's
  size from 0 to 1.]

 o Add EOP property in PT to allow for selection of EOP.
   Present code draws the char OK, but the PT has no knowledge of it
   and thus cannot select it.

   Need to review and adopt proper selection magic as per Paul's
   suggestion:

      By getting the widths and locations right, people can quickly
      infer what they just selected by noticing the answers to 2
      questions -- Where is it? How wide is it?

         between two words ==> either a space or a tab, so check the width
         at the end of a paragraph ==> obvious
         at the end of a line ==> obvious
         bottom of column, full width ==> obvious
         bottom of page, full width ==> obvious

 o Add code to pt_PT_?Strux.cpp which handles the EOP.
 o Make Run representing EOD. EOD is like EOP, except it cannot be
   selected.
 o Make FmtRuns have non-zero length (show paragraph printing too)
 o fp_Line::mapXYToPosition has some code to deal with zero-length
   FmtRuns. Must rewrite / get rid of as appropriate.

---------------------------------- DONE ----------------------------------

>>>> 2001.02.18 - 11:20 CET
 o Test: undo / redo works properly.
 o Test: copy and paste to and from AbiWord.
 o Bug: after load first pilcrow is missing.
 o Test: save / load / reload.
 o Test: Load *all* docs/ test/ documents.
 o Bug: When a line with EOP is broken, the EOP is not properly cleared.
 o Hack fl_Section to add EOP when it creates a block. Fixes loading.
 o Bug: When pressing return, the pilcrow on the new line gets deleted
   after a short delay. Doesn't happen after the paragraph contains
   text.
>>>> 2001.02.16 - 20:50 CET
 o Bug: cursor location calculation is completely broken
 o Bug: type in a line of text, then shift+return. Cursor is a wrong loc.
 o Bug: subtract EOP from lengths: clean document, type in 'a'. Select
   all then type something. Assertion in PT because EOD is attempted
   deleted.
 o Make EOP pilcrow draw in proper typeface.
 o findPointCoords functions just copy'n'paste.
 o Callers of _findPrevPropertyRun must handle NULL return. Most are
   findPointCoords functions needing a rewrite anyway.
 o Bug: Observed lines after forced line break get cleared when
        typing return. Unable to reproduce though.
 o Bug: empty doc, "f"+return+shift-return -> assert in breakSection
 o Bug: type return in empty document -> line appears on page 2
 o Bug: EOP Runs have no sizing information.
>>>> 2001.02.16 - 12:55 CET
 o Review use of _insertEndOfParagraphRun calls / logic surrounding
   them.
 o Add assertions / self-check functions to ensure we'll never have
   zero-length Runs (except for FmtMark Runs).
 o Look at any FIXMEs in the code.
 o Make _breakLineAfterRun() rely on invariant.
 o Got rid of checkForEndOnForcedBreak() and checkForBeginOnForcedBreak().
   Guaranteed invariants in new code.
>>>> 2001.02.15 - 22:45 CET
 o Proper handling of EOP Run when blocks are joined.
 o Got rid of IsZeroLengthTextRun().
>>>> 2001.02.15 - 12:40 CET
 o Add PILCROW (backwards P) unicode.
 o Draw end-of-paragraph in show paragraph mode.
 o Rename _insertFakeTextRun to _insertEndOfParagraphRun.
   Rewrite function to use EOP Run instead of zl TextRuns.
 o Proper addition of EOP Run when blocks are split.

[UUencoded again, sorry]

begin 664 abiword-EOP-2001.02.18-11.20.diff.gz
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
A480MAE3HL3-X"*RF=/9"2K1KSZ^:VH7_#[&B'#];0`$`
`
end



This archive was generated by hypermail 2b25 : Sun Feb 18 2001 - 04:24:39 CST