Called by StyledText to add itself as an Observer to content changes. See TextChangeListener for a description of the listener methods that are called when text changes occur. <p>
Return the number of characters in the content. <p>
Return the line at the given line index without delimiters. <p>
Return the line index at the given character offset. <p>
Return the number of lines. Should answer 1 when no text is specified. The StyledText widget relies on this behavior for drawing the cursor. <p>
Return the line delimiter that should be used by the StyledText widget when inserting new lines. New lines entered using key strokes and paste operations use this line delimiter. Implementors may use System.getProperty("line.separator") to return the platform line delimiter. <p>
Return the character offset of the first character of the given line. <p> <b>NOTE:</b> When there is no text (i.e., no lines), getOffsetAtLine(0) is a valid call that should return 0. </p>
Returns a string representing the content at the given range. <p>
Remove the specified text changed listener. <p>
Replace the text with "newText" starting at position "start" for a length of "replaceLength". <p> Implementors have to notify the TextChangeListeners that were added using <code>addTextChangeListener</code> before and after the content is changed. A <code>TextChangingEvent</code> has to be sent to the textChanging method before the content is changed and a <code>TextChangedEvent</code> has to be sent to the textChanged method after the content has changed. The text change that occurs after the <code>TextChangingEvent</code> has been sent has to be consistent with the data provided in the <code>TextChangingEvent</code>. This data will be cached by the widget and will be used when the <code>TextChangedEvent</code> is received. <p> The <code>TextChangingEvent</code> should be set as follows: <ul> <li>event.start = start of the replaced text <li>event.newText = text that is going to be inserted or empty String if no text will be inserted <li>event.replaceCharCount = length of text that is going to be replaced <li>event.newCharCount = length of text that is going to be inserted <li>event.replaceLineCount = number of lines that are going to be replaced <li>event.newLineCount = number of new lines that are going to be inserted </ul> <b>NOTE:</b> newLineCount is the number of inserted lines and replaceLineCount is the number of deleted lines based on the change that occurs visually. For example: <ul> <li>(replaceText, newText) is> (replaceLineCount, newLineCount) <li>("", "\n") is> (0, 1) <li>("\n\n", "a") is> (2, 0) <li>("a", "\n\n") is> (0, 2) <li>("\n", "") is> (1, 0) </ul> </p>
Set text to "text". Implementors have to send a <code>TextChangedEvent</code> to the textSet method of the TextChangeListeners that were added using <code>addTextChangeListener</code>. <p>
Clients may implement the StyledTextContent interface to provide a custom store for the StyledText widget content. The StyledText widget interacts with its StyledTextContent in order to access and update the text that is being displayed and edited in the widget. A custom content implementation can be set in the widget using the StyledText.setContent API.