HI Thomas,
Thanks very much for the time and effort you've put into this.
I've known that our List implementation was not as USer Friendly as I
would like and certainly the dialog looks ugly. I'll respond to your
points.

On Fri, 4 Aug 2000, Thomas Fletcher wrote:

> Martin (and to the list out of interest and discussion),
>
> Just wanted to congratulate you on the work you have
> been doing on the lists thus far. The work is excellent
> so far. I have encountered some bugs, but all in all
> things look good.
>

Thanks but there are still some bad bugs. Especially on multi-level lists.
I think we not using "changestrux" correctly which means that if you
delete a the list label on a paragraph with formating different from
"Normal" all formating reverts to normal. I think I know how to fix this.
It will either be simple and I can use an existly setBlockFormat method or
it will be hard I'll have to roll my(our) own method. There is also
something wrong with logic dealing with multi-level lists but I'm still
trying to sort out single level lists once and for all first.

> I'm not sure if you have had a chance to compare against
> the word behaviour (if you have, then just put up with
> me for the next few lines), but there is something not
> quite right with a couple of things.
>
> Comment #1
> ----------
>
> You should be able to turn a list item on/off by clicking
> on the appropriate icon on the toolbar. For example if I
> type the line:
>
> This is very cool |
>
> Then press the numbered list button I get (| is my cursor).
>
> 1. This is very cool |
>
> Now if I press the numbered list button again I get
>
> [1. ] |This is very cool
>
> Where [] indicates a selection. Unfortunately I can't
> delete this area like it would seem. In any case you
> shouldn't have to. Pressing the list icon should create
> a list for the current line/block and Un-pressing the
> list icon should un-do the list for the current line/block
> (effectively joining it with the previous line).
>

This is a bug. I haven't noticed this. Certainly the list label
should have dissapeared. I might have fixed this with the latest
list update from yesterday. Can you check?

should > For example if I have
created: >
> 1. A line
> 2. Another line
> 3. Yet another line
>
> Put my cursor on line 2 and "un-press" the list icon then
> in Word I get:
>
> 1. A line
> Another line
> 2. Yet another line
>

We should get this now. I'm sure I got that in Linux.

> The same thing with highlighting. If I highlight the
> following:
>
> A line
> Another line
> Yet another line
>
> And press the list icon then in Word I get:
>
> 1. A line
> 2. Another line
> 3. Yet another line
>
> These are both very desirable behaviours since it means that
> you can quickly and efficiently create lists and manipulate
> them around (joining/createing grouped list paragraphs and
> the like). This is especially useful when you get the lists
> bound to a key combination so that bulleting becomes just
> like centering.
>

I agree that would be cool. This could be implemented. We will do it.
(Bruce Pearson appears to have taken an interest in Lists and I wouldn't
want to deprive him of his fun.:-)

>
> Comment #2
> ----------
>
> Word doesn't let you have an empty list item, which means
> that you can quickly terminate a list at any time by hitting
> return twice. For example if I have:
>
> 1. A line
> 2. Another line |
>
> Then hit return once I get
>
> 1. A line
> 2. Another line
> 3. |
>
> Then hitting return again, Word detects that I've done a
> double return and rips out the 3rd list item and does this:
>
> 1. A line
> 2. Another line
>
> |
>
> Which is most likely what we would want since generally you
> start a new paragraph/add a line of whitespace after a list.

I agree with Bob here. If you want the list to stop just delete the list
label. I hope this happens now.

> Alternately if I was at the
>
> 1. A line
> 2. Another line
> 3. |
>
> And hit backspace ONCE then line 3. dissappears and we get
>
> 1. A line
> 2. Another line
> |
>
> Currently we have to backspace TWICE to get this behaviour,
> and then when we do the list button doesn't toggle off to
> indicate that we are no longer in list selection mode, so
> you can't re-toggle it to give you a 3.

You hit backspace once to delete the tab and again to delete the list
label. It is easier to program it this way but also there is an argument
that this actually desirable behaviour. The user might want to get rid of
the whitspace in front of the list label and just keep the list Label. You
can't do this in Word. Hitting the backspace twice isn't that hard and it
is obvious what each key press is doing.

So do we want to immediately deleted the tab and list label with a single
key press?

The list button should pop out at this point. The fact that it doesn't is
a bug. If you press it again anyway you will start a new list with a "1".
If you want a "3" you can either go back to the previous line and press
"return" or open the dialog and press "resume list".

Also are you sure you want a "3." here? You might also want to start a new
list.
>
> Comment #3
> ----------
>
> Word has three different modes/categories for their lists.
> Bullets and Numbered lists are a single depth list very
> much like what we have now. Their third category is
> Outline Numbered which is like:
>
> 1.
> a.
> i.
>

I think this is what I've been thinking of as multi-level lists but right
now these are:

1.
2.
3.
4.1
4.2
4.3
4.4.1
4.4.2

etc. so there are no indents are extra level. We can choosing the style of
the list label. You do this by starting a new list on an already existing
list. I think we should debate whether word or the present system is more
desirable. Apart from my laziness I think if the current system worked
correctly it has some desirable features. For a start, you want you can
place the list label where ever you want by inserting a tab before it. You
don't have to live with what word does.

Next this is roughly what Latex does by default and love latex.

> Moving from one list state to the next is very simple and
> is done through what I have previously called promote/demote,
> but is just increasing/decreasing the indent level. In
> Word if you start off with
>
> 1. A line
> 2. |
>
> Then at this point, before typing anything hit TAB then
> you promote the indent level so that now you get:
>
> 1. A line
> a. |
>
> Hitting TAB again gets you the next level:
>
> 1. A line
> i. |
>
> If you DELETE/BACKSPACE before typing in any characters
> then you will demote the indent level, so one backspace
> from here gets:
>
> 1. A line
> a. |
>
> If you type and work at this level then the next return
> will maintain you indent level:
>
> 1. A line
> a. Another line
> b. |
>
> If you type in any character and then double backspace
> then you with loose the list label but not the indent
> level.
>
> 1. A line
> a. Another line
> | (after typing something and backspacing over list)
>
> NOTE: This doesn't un-indent you back to 2.
>
> I think that we should follow all of these same behaviours
> when the time comes for us to support outline numbered lists.
>
>

Hmm this would require a lot of thought to get right right. We don't
presently have the infrastructure to do this.

> Comment #4
> ----------
>
> I really want to re-work our list dialog to be simple and
> straightforward. I think that the Word dialog does very
> well in this regard. They have three tabs:
>
> [Bullets][Numbered][Outline Numbered]
>
> On each tab you get to choose one of six small previews
> or select a customize button to roll your own. I don't
> think that we should worry too much about the roll our
> own just yet (and where to store that information?) ...
> but if we aren't going to follow Word's dialog then I
> would suggest the following dialog design:
>
> ------------------------------------------------------|
> |
> Style: [Drop Down List] /--------------------\ |
> | | |
> | | |
> Type: [Drop Down Types] | PREVIEW | |
> | | |
> | | |
> [Customize Button] | | |
> \--------------------/ |
> |
> () Restart Numbering () Continue Numbering |
> |
> |
> [Apply/OK] [Close] |
> ------------------------------------------------------|
>
> Here the Style indicates one of three types of lists,
> Bulleted Lists, Numbered Lists or Outline Numbered lists
> the same as in Word.
>
> The Types is a friendly name for the indentation types,
> or a user provided name in the case of user configurations.
> For example:
> Bulleted: Numbered Lists
> -Dots -Arabic Dot (1., 2. )
> -Stars -Roman Dot (i., ii. )
> -Dashes -Lower Paren (a), b) )
> -Dingbats -Upper Dot (A., B., )
>
> Outline Numbered
> -Arabic Roman (1., i. ..)
> etc.
>
> Of course looking at this it almost seems like really we
> would want to have a type (character, number etc) then
> a delimiter (dot, dash, parentheses) as well as an indent
> level when we allow the user to customize it.
>
> In any case I know that this has been a rather long e-mail.
> Took quite some time to compose, but I think that we have
> had some really great work done on the list code and I'm
> looking forward to seeing this feature go rock solid like
> the other great features which have been added as of late.

OK this is certainly looks more appealling but I'm not sure you've
given access to all the functionality available.

Do you mean "restart numbering" to be "stop list"? I don't see a stop list
button on the dialog. Does the position of the cursor imply whether we are
changing or starting a new list? With the present system we start a
multilevel level list if we "start" a list within an already active list.
With the system above it is not clear if we are changing the style of the
present list or starting a new list at a higher level.

I agree the preview should be implemented.

OK you've given us a lot to think about. Thanks very much for the
feedback.