Re: Brewing a new backend


Subject: Re: Brewing a new backend
From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Tue Dec 26 2000 - 13:45:51 CST


I would REALLY appreciate if someone could have a look at the
BiDi patch so that it could be checked into the tree BEFORE any
rewrite of the /text/ stuff starts. It is bad enough having to reconcile
it with the tree by hand every time changes are made to the /text/
classess (I spent an hour or so doing this on Saturday and that
was mainly due to some cosmetic changes to this part of the tree).

Tomas

> Hi there! (and merry Xmas!)
>
> I've been thinking about making some serious hacking on the backend of
> AbiWord for a while now. There have been a lot of discussions of
> various rewrites/hacks of that part of AbiWord, but it's going to be a
> very big job - and I fear that it'll never happen if we don't get
> started.
>
> So to avoid breaking the existing backend and avoid holding up coming
> releases, I wonder if I could be allowed to clone the existing backend
> (abi/src/text) as abi/src/text2 and check it in. Adding a simple
> compile option would allow people to play with the new backend and
> more importantly allow me to check in changes piecemeal instead of
> waiting for a 100% rewrite to be completed.
>
> I've considered creating a CVS branch instead, but I'd rather have a
> separate directory - allowing people to switch backend with a compile
> option instead of faffing about with CVS.
>
>
>
> These are the issues I would like to address:
>
> o Improve documentation - both overview and API wise using
> Doxygen. [will happen as I fight^Wwork my way through the code]
>
> o Split existing view code into view and controller code.
> o Updating/including Mike's Cursor class.
>
> o Fix fake-run/findPointCoords mess by introducing EOL/EOD runs.
>
> o Move attributes from content Runs to separate attribute
> Runs. Reduces data size, speeds up lookups, allows (if desired)
> full attribute show code feature as in WP.
>
> And eventually:
>
> o Look into caching IP searches on page/column/line levels reducing
> time spent traversing the document.
>
> o Look into representing the document using an AVL tree instead of
> the doubly linked list.
>
>
>
>
> There's a ton of information which I've gone through - and will have
> to go through again - to make all this happen. I would like to have
> provided related pointers for each of the issues, but I'm too
> lazy. Below is the list of postings I've marked in GNUS which are
> going to affect the stuff I do.
>
>
>
> ! [ 0: Mike Nordell ] Cursor (second try)
> ! [ 0: sam th ]
> ! [ 0: Mike Nordell ]
> ! [ 0: Martin Sevior ]
> !A [ 0: Mike Nordell ] asserts and pagebreaks
> ! [ 16: Jesper Skov ]
> ! [ 0: Mike Nordell ]
> ! [ 0: sam th ]
> !A [ 0: sam th ] Summary (was Re: asserts and pagebreaks)
> ! [ 31: Jesper Skov ]
> !A [ 0: Mike Nordell ]
> ! [ 83: Jesper Skov ]
> !A [ 0: Mike Nordell ]
> ! [ 36: Jesper Skov ]
> ! [ 0: Mike Nordell ]
> !A [ 46: Jesper Skov ]
> ! [ 28: Jesper Skov ] LineBreaks vs Page/ColBreaks

> !A [ 0: Martin Sevior ]
> ! [ 42: Jesper Skov ]
> ! [ 0: Randy Kramer ]
> ! [ 0: sam th ]
> !A [ 0: Eric W. Sink ]
> ! [ 44: Jesper Skov ]
> ! [ 0: Justin Bradford ] Re: Summary (was Re: asserts and pagebrea
ks)
> ! [ 0: Mike Nordell ] Re: FieldStart/End Runs
> !S [ 0: Mike Nordell ] Preliminary Cursor patch
> ! [ 0: Joaquín Cuenca Abela]
> ! [ 0: Mike Nordell ]
> ! [ 0: Mike Nordell ] patch for the cursor patch
> ! [ 0: sam th ] A Proposal (why we should have setBold(true))
> ! [ 0: Bruce Pearson ]
> ! [ 0: sam th ]
> ! [ 0: Martin Sevior ]
> ! [ 0: Mike Nordell ]
> ! [ 0: jeff@abisource.com ]
> ! [ 0: sam th ]
> ! < 0: Eric W. Sink >
> ! [ 0: sam th ]
> ! < 0: Paul Rohr >
> ! [ 0: sam th ]
> ! [ 0: Paul Rohr ]
> ! [ 0: sam th ]
> ! [ 0: Paul Rohr ]
> ! [ 0: sam th ]
> ! [ 0: Jesper Skov ] [RFC] New fl_BlockLayout::findPointCoords implementation
> ! [ 0: Martin Sevior ]
> ! [ 0: Jesper Skov ]
> ! [ 0: Martin Sevior ]
> ! [ 0: Jesper Skov ]
> ! [ 0: sam th ]
> ! [ 0: Martin Sevior ]
> ! [ 0: Mike Nordell ]
> ! [ 0: Mike Nordell ]
> ! [ 0: Jesper Skov ] IP and Fields (and another Field problem)
> ! [ 0: Martin Sevior ]
> ! [ 0: Jesper Skov ]
> ! [ 0: Martin Sevior ]
> ! [ 0: Jesper Skov ]
> !A [ 0: Martin Sevior ] Calculating Cursor Size ar Run boundaries.
> ! [ 83: Jesper Skov ]
> ! [ 0: sam th ]
> ! [ 0: Paul Rohr ] raw material for fields design
> ! [ 0: Paul Rohr ] fields -- known bugs in the existing implementation
> ! [ 0: Martin Sevior ]
> ! [ 0: Paul Rohr ] fields -- file format issues
> ! [ 0: Paul Rohr ] fields -- miscellaneous design details
> ! [ 0: Paul Rohr ] fields -- proposed designs on the table
> ! [ 0: Paul Rohr ] fields -- related issues for later
> ! [ 0: Jesper Skov ] [RFC] new findPointCoords implementation
> ! < 0: Martin Sevior >
> ! [ 0: Jesper Skov ] findPointCoords changes checked in
> ! [ 0: sam th ] re: [RFC2] new findPointCoords implementation (fwd)
> ! [ 0: sam th ] Re: [RFC2] new findPointCoords implementation (and bug triage(sp?
)) (fwd)
> ! [ 0: Martin Sevior ] Re: [RFC2] new findPointCoords implementation (and bug triage(sp?
))
> ! [ 0: sam th ]
> ! [ 0: Jesper Skov ] [RFC] fp_EmptyTextRun
> ! [ 0: Martin Sevior ]
> ! [ 0: Paul Rohr ] empty blocks vs. zero-length runs
> ! [ 0: Jesper Skov ]
> ! [ 0: Paul Cubbage ]
> ! [ 0: Paul Rohr ]
> !A [ 0: Jesper Skov ]
> ! [ 32: Jesper Skov ]
> ! [ 0: Paul Rohr ] fields design -- proposed edit/select behaviors
> ! [ 0: Martin Sevior ]
> ! [ 0: Paul Rohr ]
> ! [ 0: Justin Bradford ]
> ! [ 0: Paul Rohr ] fields design -- no field codes
> ! [ 0: Paul Rohr ] commit -- sample documents with fields
> ! [ 0: Paul Egli ] Blank Paragraphs
> ! [ 30: Jesper Skov ]
> ! [ 0: Aaron Lehmann ] commit -- fixed -- Martin's segfault on startup
> !A [ 0: Jesper Skov ] Thoughts on text styles, Show Paragraphs, and internal representa
tion
> ! [ 0: Randy Kramer ]
> ! [ 0: Randy Kramer ]
> ! [ 0: Jesper Skov ]
> !A [ 0: Randy Kramer ]
> ! [ 16: Jesper Skov ]
> ! [ 16: Jesper Skov ]
> ! [ 0: Randy Kramer ]
> ! [ 0: Big Ed ] Cursor movement
> ! [ 0: Martin Sevior ]
> ! [ 0: sam th ]
> !A [ 0: Mike Nordell ]
> ! [ 0: sam th ]
> ! [ 0: WJCarpenter ] navigating the sources (was Re: patch: do-again for Background Ch
ecks patch)
> ! [ 0: Martin Sevior ] Fields Update.
> ! [ 0: Paul Rohr ] fields design -- assumptions
> ! [ 0: Paul Rohr ] fields design -- FIELDs vs. CHUNKs (LONG)
> ! [ 0: Paul Rohr ] chunks design -- ABW-format selections on the clipboard
> ! [ 0: Martin Sevior ]
> ! [ 0: Paul Rohr ] Re: chunks design -- ...
> ! [ 0: Martin Sevior ]
> ! [ 0: Paul Rohr ]
> ! [ 0: Paul Rohr ] fields design -- FIELD is a strux
> ! [ 0: Martin Sevior ]
> ! [ 0: Paul Rohr ] fields design -- editing operations
> ! [ 0: Paul Rohr ] fields design -- separate endStrux() APIs??
> ! [ 0: Paul Rohr ] one more try on fields design
> ! [ 0: Paul Rohr ] fields -- ASSERT(field updates are rare, and undoable)
> ! [ 0: Paul Rohr ] fields -- ASSERT(headers and footers are a special case)
> ! [ 0: Paul Rohr ] fields -- ASSERT(all fields are actually chunks)
> ! [ 0: Martin Sevior ] Yet another Fields update.
> ! [ 0: sam th ]
> ! [ 0: Martin Sevior ]
> ! [ 0: sam th ]
> ! [ 0: Martin Sevior ] Re: Field bugs was Re: commit: undebugged Lists and Fields.
> ! < 0: Martin Sevior >
> ! [ 0: Sam TH ]
>
>
>
>
> There's a lot, huh? :)
>
> I expect that this will probably take months to do - if I don't get
> fed up with it all and give up on the way. So I'll try to post
> occasional progress reports and battle plans on the list so people can
> track the progress (or lack thereof).
>
> I'll also use a ChangeLog and ask anyone who decide to hack on the
> same files to do the same. That way it should be easier for people to
> both track what has been done, and how.
>
>
> I'll be interested in hearing comments, complaints, whatever...
>
> Cheers,
> Jesper
>



This archive was generated by hypermail 2b25 : Tue Dec 26 2000 - 13:50:40 CST