                        Interactive Text Editing

                            CLIO Version 1.0




Introduction

    The  CLIO  specification   does  not   describe  how   a  user   can
    interactively  select  or   modify  text   objects,  because   these
    operations will generally differ  when implementing different  "look
    and feel" style guides.  This document discusses user operations for
    text manipulation  provided  by  the  implementation in CLIO Version
    1.0, which are generally  consistent with Level  1 of the  OPEN LOOK
    Graphical User Interface and Style Guide.

    The type  of  interactive  text  operations  provided depends on the
    class of a CLIO text object.

        Class                           Interactive Operations
        ----------------------------------------------------------------
        Display Text Field              None

        Display Text                    Select
                                        Copy to clipboard

        Edit Text Field, Edit Text      Select
        
                                        Copy to clipboard
                                        Cut to clipboard
                                        Paste from clipboard

                                        Insert/delete characters
                                        Delete to end of line

                                        Click to move insert point 
                                        Move with arrow keys
                                        Move to start of line
                                        Move to end of line
                                        


Keyboard Commands

    Many text  operations  are  controlled  with  the  pointer, but some
    operations are invoked by entering commands via the keyboard.   Only
    Edit Text Field and Edit Text objects allow keyboard commands.
        
    Any input key can invoke a command, depending on the contents of the
    command  table(s)  belonging  to  the  text  object.    The keyboard
    commands described  in  this  document  are  those  provided  by the
    default command tables used in CLIO.


Selecting Text

    Text is selected using pointer  :button-1.  To start the  selection,
    move the pointer to  the beginning of  the first selected  character
    and press :button-1.  With :button-1 down, drag the pointer to  then
    end of  the  last  selected  character.   Complete  the selection by
    releasing :button-1.

    The end of the selected text can be adjusted by moving the pointer
    to the new end position and clicking pointer :button-2.

    With Edit Text Field  and Edit Text  objects, when selected  text is
    highlighted, any of  the keyboard  commands described  below can  be
    used to move the end of the selection.


Copying Text To The Clipboard

    Clicking pointer :button-1  while pressing  the Meta  key causes any
    selected text to be copied to the clipboard.

    With Edit Text Field  and Edit Text  objects, the #\Meta-\w  command
    performs the same operation.


Cutting Text To The Clipboard

    Clicking pointer :button-1 while pressing the Control key causes any
    selected text to be copied  to the clipboard, then  deleted from the
    source.

    With Edit Text Field  and Edit Text  objects, the #\Control-\w  command
    performs the same operation.


Pasting Text from The Clipboard

    The #\Control-\y command causes the contents of the clipboard to  be
    copied and inserted in the source at the current insert point.


Inserting And Deleting Characters
        
    The default command invoked by most :key-press events simply inserts
    the corresponding character (if any) into the source at the  current
    insert point and  then moves  the point  to the  next position.  Any
    selected text is deleted and replaced by the inserted character.

    The #\Rubout command causes any selected text to be deleted.  If  no
    text is  selected,  then  #\Rubout  moves  the  insert  point to the
    previous position and deletes the character at that position.
        
    The #\Control-\k command  causes the  text from  the current  insert
    point up to the end of the current line to be deleted.


Moving The Insert Point

    Use the pointer to  move the insert  point by moving  the pointer to
    the new position and clicking :button-1.

    The #\Left-Arrow  and  #\Right-Arrow  commands  move  the  point one
    position to the  left and  right.  The  #\Up-Arrow and  #\Down-Arrow
    commands move the point up and down one line.
 
    The #\Control-\a command  moves the  point to  the beginning  of the
    current line.

    The #\Control-\e command moves the  point to the end  of the current
    line.
