Re: support for Tables


Subject: Re: support for Tables
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Fri Oct 13 2000 - 17:06:06 CDT


On Fri, 13 Oct 2000, Vlad Harchev wrote:

> Hi,
>
> Just curious, how much code is already present in AW to support tables?
> Is support for tables planned in the not-so-distant future?
>
> Seems this is the only major feature AW lacks compared to other word
> processors.
>
> If detailed discussion is available in list archive, I would love to see it
> too.
>

There have been discussions but nothing that would really advance the
cause. We would all LOVE tables support but the concencous is that we
should complete the current list of features before attempting tables.

For example before tables we should have:

1. Page Numbers (some code from Sam not finished yet).

2. Headers/Footers. The infrastructure is in place but it is not connected
to a GUI yet. It has not been extensively tested and appears to be buggy.
(It is partly the reason Sam has not been able to finish Page Numbers.)

3. Page setup. We should be able to choose the size and orientation
(portrait/landscape) of the page as well as headers/footers.

4. Styles. We should have a nice GUI to allow users to choose and define
their own style.

5. Sophisticated fields. I think I'm on the right track here but Paul Rohr
would like a different design. Given that I have code that's almost ready
and he has the weight of good arguments I'm in a quandry about what to do.

6.? Table of contents. I guess this is a test case for the sophisticated
Fields implementation. I think I know how to do it with the framework I'm
working with. This is not on the feature list for 1.0 but it is a good
proof of concept we're on the right track for sophisticated fields.

At present these are the main features we're lacking for a 1.0 release.

On the way to implementing Tables we should first develop:
A. Text boxes (like a latex mini-page) that have a defined height and
width and are formatted on a line like an image.

B. Frames. More sophisticated Text boxes that are basically mini-pages
which allow images and text to be intermingled. So images and figures can
have figure caption for example.

That said, I've been thinking about how we would implement A, B and then
tables later. As I see it tables are a special case of Text boxes arranged
to be contiguous and to share a common vertical height.

AbiWord currently has the concept of a "container" that is used to contain
formatted text. (Look in fp_Column.cpp) These are presently used to
define columns and headers and footers. I believe it will be pretty easy
to add new types of containers like text boxes and frames. The part that's
not done will be to allow these to float around the page as if they are
images.

We will also have to come up with a good GUI design to allow the user to
easily manipulate these as well as cut/paste and undo/redo support.

Once we have A and B done we will be well on the way to doing tables.
Having worked through all that was needed for the sophisticated Lists
support we now have I think it would not be much more work to do text
boxes and Frames. After that we should look carefully at how other
programs handle tables.

Regarding equations in gnome there have been at least 3 attempts to start
an equation editor component but they've all been still born. Maybe after
Abiword gets bonobo support there will be sufficient motivation to finish
it off.

Cheers

Martin



This archive was generated by hypermail 2b25 : Fri Oct 13 2000 - 17:06:22 CDT