Replaces the given text range with new text.
If the widget has the SWT.SINGLE style and "text" contains more than
one line, only the first line is rendered but the text is stored
unchanged. A subsequent call to getText will return the same text
that was set. Note that only a single line of text should be set when
the SWT.SINGLE style is used.
<p>
<b>NOTE:</b> During the replace operation the current selection is
changed as follows:
<ul>
<li>selection before replaced text: selection unchanged
<li>selection after replaced text: adjust the selection so that same text
remains selected
<li>selection intersects replaced text: selection is cleared and caret
is placed after inserted text
</ul>
</p>
@param start offset of first character to replace
@param length number of characters to replace. Use 0 to insert text
@param text new text. May be empty to delete text.
@exception SWTException <ul>
<li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
<li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
</ul>
@exception IllegalArgumentException <ul>
<li>ERROR_INVALID_RANGE when either start or end is outside the valid range (0 <= offset <= getCharCount())</li>
<li>ERROR_INVALID_ARGUMENT when either start or end is inside a multi byte line delimiter.
Splitting a line delimiter for example by inserting text in between the CR and LF and deleting part of a line delimiter is not supported</li>
</ul>
Replaces the given text range with new text. If the widget has the SWT.SINGLE style and "text" contains more than one line, only the first line is rendered but the text is stored unchanged. A subsequent call to getText will return the same text that was set. Note that only a single line of text should be set when the SWT.SINGLE style is used. <p> <b>NOTE:</b> During the replace operation the current selection is changed as follows: <ul> <li>selection before replaced text: selection unchanged <li>selection after replaced text: adjust the selection so that same text remains selected <li>selection intersects replaced text: selection is cleared and caret is placed after inserted text </ul> </p>
@param start offset of first character to replace @param length number of characters to replace. Use 0 to insert text @param text new text. May be empty to delete text. @exception SWTException <ul> <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> </ul> @exception IllegalArgumentException <ul> <li>ERROR_INVALID_RANGE when either start or end is outside the valid range (0 <= offset <= getCharCount())</li> <li>ERROR_INVALID_ARGUMENT when either start or end is inside a multi byte line delimiter. Splitting a line delimiter for example by inserting text in between the CR and LF and deleting part of a line delimiter is not supported</li> </ul>