Browse Prior Art Database

Detecting and Replicating Updates to a WC_MLE Control

IP.com Disclosure Number: IPCOM000111458D
Original Publication Date: 1994-Feb-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 2 page(s) / 67K

Publishing Venue

IBM

Related People

Key, A: AUTHOR [+2]

Abstract

Disclosed is a technique for implementing a shared standard text editor on an OS/2* PM or Windows** system. It is easy to implement, and updates are dynamically propagated.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Detecting and Replicating Updates to a WC_MLE Control

      Disclosed is a technique for implementing a shared standard
text editor on an OS/2* PM or Windows** system.  It is easy to
implement, and updates are dynamically propagated.

      A PM WC_MLE control is a type of Presentation Manager* window
which provides the major share of an implementation of a simple text
editor.  It is used wherever multiple line entry is required, and
forms the basis of the System Editor provided by OS/2.  The MLE views
its textual contents as a linear array of characters.  There is a
range of characters from X to Y which is considered the selection.
Characters at positions >= X and < Y are drawn in inverse video.
Also, if X=Y, then 0 characters are selected, and a single bar '7/8'
cursor is drawn before character X.

All editing operations that can be performed on a MLE can be either:-

     .    change selection to X to Y
      or
        .    replace from position X to Y with N characters which are
{C1,C2,,,CN}

e.g.:  If a MLE holds the text "Heloo Fred", and the cursor is
between
        the two o's.
        The act of deleting to the left is:-
           replace from position 4 to 5 with 0 characters {}
        The result is "Helo Fred"

e.g.:  If a MLE holds the text "Helo Fred", and the cursor is after
the
        1.
        The act of inserting an l is:-
           replace from position 3 to 3 with 1 character {'l'}
        The result is "Hello Fred"

e.g.:  If a MLE holds the text "Hello Fred" and Fred is selected.
        The act of pasting "Bill" from the clipboard is:-
           replace from position 6 to 10 with 4 characters {'b', 'i',
           'l', 'l'}
        The result is "Hello Bill"

      By subclassing a MLE control, it is possible to intercept all
keystrokes and mousemoves, etc., before they take effect on the MLE.
Some keystrokes and mousemoves simply change the...