Run rewrite status [2001.02.16 - 20:50 CET]


Subject: Run rewrite status [2001.02.16 - 20:50 CET]
From: Jesper Skov (jskov@redhat.com)
Date: Fri Feb 16 2001 - 14:04:03 CST


Sorry for spamming you all with a second version today, but it's
getting close. I can't make it crash or assert in any way. There are
still some known problems (see below), I'll dig in to those tomorrow.

But I would _really_ like for someone else to give this a good
beating. Enable show paragraphs mode for that funky pilcrow char at
every end of paragraph!

------

Attached is the gzipped patch for the currect code. Status as
described below.

If anyone feels like looking at the code, please do. Even if you don't
care about the implementation details, I'd appreciate testing
feedback. Any kind of (constructive) feedback appreciated - let me
know if I'm missing special cases, need to add extra test items below,
or anything else you can think of.

Ta,
Jesper

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

 o Bug: Carret Y position is wrong with big fonts.
 o Bug: When a line with EOP is broken, the EOP is not properly cleared.
 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.
 o Feat: Add show paragraph draw for ForcedLineBreak.
 o Feat: Pilcrow does not inherit super/subscripting. Want to clean up
         some code rather than add more cruft.
 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: undo / redo works properly.
 o Test: save / load / reload [after load first pilcrow is missing]
 o Test: copy and paste to and from AbiWord.
 o Test: printing.
 o Test: header/footer editing
 o Test: lists
 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.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.

begin 664 abiword-EOP-2001.02.16-2050.diff.gz
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
1$CA[?F5J%_X/=GWNJ2\P`0``
`
end



This archive was generated by hypermail 2b25 : Fri Feb 16 2001 - 14:04:15 CST