Cursor movement, insertion point


Subject: Cursor movement, insertion point
From: Mike Nordell (tamlin@algonet.se)
Date: Thu May 11 2000 - 06:21:08 CDT


I've done some local patching in fl_BlockLayout.cpp, and _think_ I've got
the same behaviour as e.g. MSWord regarding BOL, EOL, move right from EOL
position and so on, but I don't think it's the right way to do it.
Example: You have one paragraph containing two lines. On the first line
you press END to get to EOL. The cursor moves to after the space in the
last word on the first line. I think this is the wanted behaviour. But,
when you the press cursor-right to move to the beginning of the next
line, it moves the cursor to the _second_ position on the second line. It
might be just me, but I don't like it.

Now, what cursor-moving behaviour do we really want?
Maybe this is something where all the wrinkles have already been ironed
out and I'm just ignorant of where to find this information, but I think
it would be nice to have the opinions and decision in a central place. If
this poll turns out to be useful, I suggest we put it in an AbiWord
document like "abi/docs/CursorMovements.abw", and maybe even on the web.

I created an ASCII table for it, and hope you would give your input. I
included it as a file, since it alos contains some terminlogy used. I
hope you can stand CR/LF. If not, would someone with accesss to a tool
strip'em and repost? Thanks.

Note that I'm not discussing the issue of platform dependent behaviour
for PgUp/PgDn. I think that's the next point regarding cursor
movement/document scrolling.

I got an idea right now. Maybe it's the insertion point that ought to
know where it is, not the document/world that ought to know where the
insertion point is! Think about it. Does the "world" around you know
where you are? No, you (hopefully :-) ) know where you are in the world.
If anyone tells you to go somewhere, it might be a matter of culture
_how_ you decide to go there (see the analogy with PgUp/PgDn on different
platforms). If at all. Cursor would have to know about "line" and "run",
but if it's using their public interfaces... It's also a propert of the
cursor, rather than the view, if it should "blink".
Please, comment!

At last, my personal feeling about this is:

     | BOL | AOL | EOL | AFL | ALL | AEL
=====+========+========+========+========+========+=======
Home | BOL | BOL | BOL | BOL | BOL | BOL
-----+--------+--------+--------+--------+--------+-------
End | EOL | EOL | EOL | EOL | EOL | EOL
-----+--------+--------+--------+--------+--------+-------
U | -1 BOL | -1 CX | -1 EOL | NOP | -1 CP | -1 CX
-----+--------+--------+--------+--------+--------+-------
D | +1 BOL | +1 CX | +1 EOL | +1 CX | NOP | +1 CX
-----+--------+--------+--------+--------+--------+-------
L | -1 AEL | PP | AEL | X-1 | X-1 | X-1
-----+--------+--------+--------+--------+--------+-------
R | X+1 | X+1 | +1 BOL | X+1 | X+1 | EOL
-----+--------+--------+--------+--------+--------+-------

/Mike - please reply to AbiWord-dev only




This archive was generated by hypermail 2b25 : Thu May 11 2000 - 05:22:10 CDT