[comp.windows.x] User interface for text manipulation

wjh+@andrew.cmu.edu (Fred Hansen) (05/29/89)

It seems to me we can more calmly discuss the user interface for
move/delete/copy/replace of text and objects if we have a shared
knowledge of the various interfaces actually in use.

Herewith a repeat of the interface for ATK.  If people will send me
descriptions of other user interfaces, I will collate the answers and
make the results available.

Fred Hansen



The Move/Delete/Copy/Replace interface to ATK

The following is a list of typical text manipulation tasks.  Let "xxx"
stand for some piece of text, a picture element, or some other
selectable quantity.

	1.  Delete xxx.

	2.  Make a copy of xxx and insert it somewhere else.

	3.  Make a copy of xxx and use it to replace something somewhere else.

	4.  Make a copy of xxx and insert it at several places.

	5.  Move xxx from where it is to some other place.

Problem statement:  Describe the user's actions to achieve each of the
tasks above, where an action is 

	X	select xxx 
	T	select target 
	K	type a key
	M	pick a menu item
	C	click a mouse button
	D	drag with mouse button down
	B	click the mouse on a screen button
	or whatever

Action letters may be suffixed with lower case letters to indicate which
key, button, or item.  To indicate actions where some key or button is
held down while other actions are done, the suffixes ! and ^ indicate
the downstroke and upstroke respectively.

Example: Here is the description of the tasks for Andrew.  In each case
the menu selection (M) could be a key stroke (K).  In ATK the S and T
selections are done with the left and right mouse buttons.  Clicking the
left button selects a point between characters.  Dragging with the left
button down selects everything from where the button goes down to where
it goes up.  The right button extends the selection from the furthest
point of the previously existing selection to the point where the right
button goes up.  (In ATK there is always exactly one selection in each
text;  there is no secondary selection or independent typing point.)

1.  Delete:	S  Mcut

2.  Copy once:	S  Mcopy  T  Mpaste

3.  Replace:	S  Mcopy  T  Mreplace

4.  Several copies:	S  Mcopy  T  Mpaste  T  Mpaste  T  Mpaste

5.  Move:	S  Mcut  T  Mpaste