Class Text

All Implemented Interfaces:
Drawable

public class Text extends Scrollable
Instances of this class are selectable user interface objects that allow the user to enter and modify text. Text controls can be either single or multi-line. When a text control is created with a border, the operating system includes a platform specific inset around the contents of the control. When created without a border, an effort is made to remove the inset such that the preferred size of the control is the same size as the contents.
Styles:
CENTER, ICON_CANCEL, ICON_SEARCH, LEFT, MULTI, PASSWORD, SEARCH, SINGLE, RIGHT, READ_ONLY, WRAP
Events:
DefaultSelection, Modify, Verify, OrientationChange

Note: Only one of the styles MULTI and SINGLE may be specified, and only one of the styles LEFT, CENTER, and RIGHT may be specified.

Note: The styles ICON_CANCEL and ICON_SEARCH are hints used in combination with SEARCH. When the platform supports the hint, the text control shows these icons. When an icon is selected, a default selection event is sent with the detail field set to one of ICON_CANCEL or ICON_SEARCH. Normally, application code does not need to check the detail. In the case of ICON_CANCEL, the text is cleared before the default selection event is sent causing the application to search for an empty string.

Note: Some text actions such as Undo are not natively supported on all platforms.

IMPORTANT: This class is not intended to be subclassed.

See Also:
  • Field Details

    • bufferHandle

      long bufferHandle
    • imContext

      long imContext
    • tabs

      int tabs
    • lastEventTime

      int lastEventTime
    • gdkEventKey

      long gdkEventKey
    • fixStart

      int fixStart
    • fixEnd

      int fixEnd
    • doubleClick

      boolean doubleClick
    • message

      String message
    • textHandle

      long textHandle
      GTK4 only field, holds the address to the underlying GtkText widget.
    • LTR_MARK

      static final char LTR_MARK
      See Also:
    • RTL_MARK

      static final char RTL_MARK
      See Also:
    • segments

      int[] segments
    • ITER_SIZEOF

      static final int ITER_SIZEOF
    • SPACE_FOR_CURSOR

      static final int SPACE_FOR_CURSOR
      See Also:
    • LIMIT

      public static final int LIMIT
      The maximum number of characters that can be entered into a text widget.

      Note that this value is platform dependent, based upon the native widget implementation.

    • DELIMITER

      public static final String DELIMITER
      The delimiter used by multi-line text widgets. When text is queried and from the widget, it will be delimited using this delimiter.
    • background

      GdkRGBA background
    • foreground

      GdkRGBA foreground
    • indexMark

      long indexMark
    • cachedAdjustment

      double cachedAdjustment
    • currentAdjustment

      double currentAdjustment
  • Constructor Details

    • Text

      public Text(Composite parent, int style)
      Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

      The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

      Parameters:
      parent - a composite control which will be the parent of the new instance (cannot be null)
      style - the style of control to construct
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the parent is null
      SWTException -
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
      • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
      See Also:
  • Method Details

    • checkStyle

      static int checkStyle(int style)
    • createHandle

      void createHandle(int index)
      Overrides:
      createHandle in class Widget
    • applyThemeBackground

      int applyThemeBackground()
      Overrides:
      applyThemeBackground in class Scrollable
      Returns:
    • 0 to remove THEME_BACKGROUND
    • 1 to apply THEME_BACKGROUND
    • otherwise don't change THEME_BACKGROUND state
    • createWidget

      void createWidget(int index)
      Overrides:
      createWidget in class Scrollable
    • addModifyListener

      public void addModifyListener(ModifyListener listener)
      Adds the listener to the collection of listeners who will be notified when the receiver's text is modified, by sending it one of the messages defined in the ModifyListener interface.
      Parameters:
      listener - the listener which should be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • addSegmentListener

      public void addSegmentListener(SegmentListener listener)
      Adds a segment listener.

      A SegmentEvent is sent whenever text content is being modified or a segment listener is added or removed. You can customize the appearance of text by indicating certain characters to be inserted at certain text offsets. This may be used for bidi purposes, e.g. when adjacent segments of right-to-left text should not be reordered relative to each other. E.g., multiple Java string literals in a right-to-left language should generally remain in logical order to each other, that is, the way they are stored.

      Warning: This API is currently only implemented on Windows and GTK. SegmentEvents won't be sent on Cocoa.

      Parameters:
      listener - the listener which should be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.8
      See Also:
    • addSelectionListener

      public void addSelectionListener(SelectionListener listener)
      Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in the SelectionListener interface.

      widgetSelected is not called for texts. widgetDefaultSelected is typically called when ENTER is pressed in a single-line text, or when ENTER is pressed in a search text. If the receiver has the SWT.SEARCH | SWT.ICON_CANCEL style and the user cancels the search, the event object detail field contains the value SWT.ICON_CANCEL. Likewise, if the receiver has the SWT.ICON_SEARCH style and the icon search is selected, the event object detail field contains the value SWT.ICON_SEARCH.

      Parameters:
      listener - the listener which should be notified when the control is selected by the user
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • addVerifyListener

      public void addVerifyListener(VerifyListener listener)
      Adds the listener to the collection of listeners who will be notified when the receiver's text is verified, by sending it one of the messages defined in the VerifyListener interface.
      Parameters:
      listener - the listener which should be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • append

      public void append(String string)
      Appends a string.

      The new text is appended to the text at the end of the widget.

      Parameters:
      string - the string to be appended
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the string is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • applySegments

      void applySegments()
    • clearSegments

      void clearSegments(boolean applyText)
    • clearSelection

      public void clearSelection()
      Clears the selection.
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • computeSizeInPixels

      Point computeSizeInPixels(int wHint, int hHint, boolean changed)
      Overrides:
      computeSizeInPixels in class Control
    • computeTrimInPixels

      Rectangle computeTrimInPixels(int x, int y, int width, int height)
      Overrides:
      computeTrimInPixels in class Scrollable
    • copy

      public void copy()
      Copies the selected text.

      The current selection is copied to the clipboard.

      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • cut

      public void cut()
      Cuts the selected text.

      The current selection is first copied to the clipboard and then deleted from the widget.

      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • deprocessText

      char[] deprocessText(char[] text, int start, int end)
    • defaultBackground

      GdkRGBA defaultBackground()
      Overrides:
      defaultBackground in class Control
    • deregister

      void deregister()
      Overrides:
      deregister in class Scrollable
    • dragDetect

      boolean dragDetect(int x, int y, boolean filter, boolean dragOnTimeout, boolean[] consume)
      Overrides:
      dragDetect in class Control
    • eventWindow

      long eventWindow()
      Overrides:
      eventWindow in class Control
    • filterKey

      boolean filterKey(long event)
      Overrides:
      filterKey in class Control
    • fixIM

      void fixIM()
    • getBorderWidthInPixels

      int getBorderWidthInPixels()
      Overrides:
      getBorderWidthInPixels in class Scrollable
    • getCaretLineNumber

      public int getCaretLineNumber()
      Returns the line number of the caret.

      The line number of the caret is returned.

      Returns:
      the line number
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getCaretLocation

      public Point getCaretLocation()
      Returns a point describing the location of the caret relative to the receiver.
      Returns:
      a point, the location of the caret
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getCaretPosition

      public int getCaretPosition()
      Returns the character position of the caret.

      Indexing is zero based.

      Returns:
      the position of the caret
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getCharCount

      public int getCharCount()
      Returns the number of characters.
      Returns:
      number of characters in the widget
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getDoubleClickEnabled

      public boolean getDoubleClickEnabled()
      Returns the double click enabled flag.

      The double click flag enables or disables the default action of the text widget when the user double clicks.

      Returns:
      whether or not double click is enabled
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getEchoChar

      public char getEchoChar()
      Returns the echo character.

      The echo character is the character that is displayed when the user enters text or the text is changed by the programmer.

      Returns:
      the echo character
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • getEditable

      public boolean getEditable()
      Returns the editable state.
      Returns:
      whether or not the receiver is editable
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getLineCount

      public int getLineCount()
      Returns the number of lines.
      Returns:
      the number of lines in the widget
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getLineDelimiter

      public String getLineDelimiter()
      Returns the line delimiter.
      Returns:
      a string that is the line delimiter
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • getLineHeight

      public int getLineHeight()
      Returns the height of a line.
      Returns:
      the height of a row of text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getMessage

      public String getMessage()
      Returns the widget message. The message text is displayed as a hint for the user, indicating the purpose of the field.

      Typically this is used in conjunction with SWT.SEARCH.

      Returns:
      the widget message
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.3
    • getOrientation

      public int getOrientation()
      Returns the orientation of the receiver, which will be one of the constants SWT.LEFT_TO_RIGHT or SWT.RIGHT_TO_LEFT.
      Overrides:
      getOrientation in class Control
      Returns:
      the orientation style
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      2.1.2
    • getPosition

      int getPosition(Point point)
    • getSelection

      public Point getSelection()
      Returns a Point whose x coordinate is the character position representing the start of the selected text, and whose y coordinate is the character position representing the end of the selection. An "empty" selection is indicated by the x and y coordinates having the same value.

      Indexing is zero based. The range of a selection is from 0..N where N is the number of characters in the widget.

      Returns:
      a point representing the selection start and end
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getSelectionCount

      public int getSelectionCount()
      Returns the number of selected characters.
      Returns:
      the number of selected characters.
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getSelectionText

      public String getSelectionText()
      Gets the selected text, or an empty string if there is no current selection.
      Returns:
      the selected text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getTabs

      public int getTabs()
      Returns the number of tabs.

      Tab stop spacing is specified in terms of the space (' ') character. The width of a single tab stop is the pixel width of the spaces.

      Returns:
      the number of tab characters
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getTabWidth

      int getTabWidth(int tabs)
    • getText

      public String getText()
      Returns the widget text.

      The text for a text widget is the characters in the widget, or an empty string if this has never been set.

      Returns:
      the widget text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getText

      public String getText(int start, int end)
      Returns a range of text. Returns an empty string if the start of the range is greater than the end.

      Indexing is zero based. The range of a selection is from 0..N-1 where N is the number of characters in the widget.

      Parameters:
      start - the start of the range
      end - the end of the range
      Returns:
      the range of text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getTextChars

      public char[] getTextChars()
      Returns the widget's text as a character array.

      The text for a text widget is the characters in the widget, or a zero-length array if this has never been set.

      Note: Use this API to prevent the text from being written into a String object whose lifecycle is outside of your control. This can help protect the text, for example, when the widget is used as a password field. However, the text can't be protected if an SWT.Segments or SWT.Verify listener has been added to the widget.

      Returns:
      a character array that contains the widget's text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.7
      See Also:
    • getTextLimit

      public int getTextLimit()
      Returns the maximum number of characters that the receiver is capable of holding.

      If this has not been changed by setTextLimit(), it will be the constant Text.LIMIT.

      Returns:
      the text limit
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • getTopIndex

      public int getTopIndex()
      Returns the zero-relative index of the line which is currently at the top of the receiver.

      This index can change when lines are scrolled or new lines are added or removed.

      Returns:
      the index of the top line
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getTopPixel

      public int getTopPixel()
      Returns the top SWT logical point.

      The top point is the SWT logical point position of the line that is currently at the top of the widget. On some platforms, a text widget can be scrolled by points instead of lines so that a partial line is displayed at the top of the widget.

      The top SWT logical point changes when the widget is scrolled. The top SWT logical point does not include the widget trimming.

      Returns:
      the SWT logical point position of the top line
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • gtk_activate

      long gtk_activate(long widget)
      Overrides:
      gtk_activate in class Widget
    • gtk_button_press_event

      long gtk_button_press_event(long widget, long event)
      Overrides:
      gtk_button_press_event in class Control
    • gtk_changed

      long gtk_changed(long widget)
      Overrides:
      gtk_changed in class Widget
    • gtk_commit

      long gtk_commit(long imContext, long text)
      Overrides:
      gtk_commit in class Control
    • gtk_delete_range

      long gtk_delete_range(long widget, long iter1, long iter2)
      Overrides:
      gtk_delete_range in class Widget
    • gtk_delete_text

      long gtk_delete_text(long widget, long start_pos, long end_pos)
      Overrides:
      gtk_delete_text in class Widget
    • gtk3_event_after

      long gtk3_event_after(long widget, long gdkEvent)
      Overrides:
      gtk3_event_after in class Control
    • gtk_draw

      long gtk_draw(long widget, long cairo)
      Overrides:
      gtk_draw in class Scrollable
    • mustBeVisibleOnInitBounds

      boolean mustBeVisibleOnInitBounds()
      Description copied from class: Control
      Widgets with unusual bounds calculation behavior can override this method to return true if the widget must be visible during call to Control.setInitialBounds().
      Overrides:
      mustBeVisibleOnInitBounds in class Control
      Returns:
      false by default on modern GTK 3 versions (3.20+).
    • gtk_focus_out_event

      long gtk_focus_out_event(long widget, long event)
      Overrides:
      gtk_focus_out_event in class Control
    • gtk_grab_focus

      long gtk_grab_focus(long widget)
      Overrides:
      gtk_grab_focus in class Widget
    • gtk_icon_release

      long gtk_icon_release(long widget, long icon_pos, long event)
      Overrides:
      gtk_icon_release in class Widget
    • gtk_insert_text

      long gtk_insert_text(long widget, long new_text, long new_text_length, long position)
      Overrides:
      gtk_insert_text in class Widget
    • gtk3_key_press_event

      long gtk3_key_press_event(long widget, long event)
      Overrides:
      gtk3_key_press_event in class Control
    • gtk_populate_popup

      long gtk_populate_popup(long widget, long menu)
      Overrides:
      gtk_populate_popup in class Widget
    • gtk_text_buffer_insert_text

      long gtk_text_buffer_insert_text(long widget, long iter, long text, long length)
      Overrides:
      gtk_text_buffer_insert_text in class Widget
    • hookEvents

      void hookEvents()
      Overrides:
      hookEvents in class Control
    • insert

      public void insert(String string)
      Inserts a string.

      The old selection is replaced with the new text.

      Parameters:
      string - the string
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the string is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • scrollIfNotVisible

      private void scrollIfNotVisible(byte[] iter, byte[] scrollTo, boolean insert)
      Methods that insert or select text should not modify the topIndex of the viewer. To avoid this issue we calculate the visible area, positions of the topIndex, and the insertion/selection points. If the insertion/selection points are outside the visible area, then scroll to them. Otherwise do nothing, which preserves the topIndex.
      Parameters:
      iter - the GtkTextIter representing the insertion/selection point
      scrollTo - the GtkTextIter representing the point to be scrolled to (can be null)
      insert - true if insertion is being performed, false if selection
    • paintWindow

      long paintWindow()
      Overrides:
      paintWindow in class Control
    • paste

      public void paste()
      Pastes text from clipboard.

      The selected text is deleted from the widget and new text inserted from the clipboard.

      Note: Pasting data to controls may occurs asynchronously. The widget text may not reflect the updated value immediately after calling this method. The new text will appear once pending events are processed in the event loop. Use Display.asyncExec(Runnable) before accessing getText().

      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • register

      void register()
      Overrides:
      register in class Scrollable
    • releaseWidget

      void releaseWidget()
      Overrides:
      releaseWidget in class Control
    • removeModifyListener

      public void removeModifyListener(ModifyListener listener)
      Removes the listener from the collection of listeners who will be notified when the receiver's text is modified.
      Parameters:
      listener - the listener which should no longer be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • removeSegmentListener

      public void removeSegmentListener(SegmentListener listener)
      Removes the listener from the collection of listeners who will be notified when the receiver's text is modified.
      Parameters:
      listener - the listener which should no longer be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.8
      See Also:
    • removeSelectionListener

      public void removeSelectionListener(SelectionListener listener)
      Removes the listener from the collection of listeners who will be notified when the control is selected by the user.
      Parameters:
      listener - the listener which should no longer be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • removeVerifyListener

      public void removeVerifyListener(VerifyListener listener)
      Removes the listener from the collection of listeners who will be notified when the control is verified.
      Parameters:
      listener - the listener which should no longer be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • selectAll

      public void selectAll()
      Selects all the text in the receiver.
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getContextBackgroundGdkRGBA

      GdkRGBA getContextBackgroundGdkRGBA()
      Overrides:
      getContextBackgroundGdkRGBA in class Control
    • getContextColorGdkRGBA

      GdkRGBA getContextColorGdkRGBA()
      Overrides:
      getContextColorGdkRGBA in class Control
    • setBackgroundGdkRGBA

      void setBackgroundGdkRGBA(long context, long handle, GdkRGBA rgba)
      Overrides:
      setBackgroundGdkRGBA in class Control
    • setForegroundGdkRGBA

      void setForegroundGdkRGBA(GdkRGBA rgba)
      Overrides:
      setForegroundGdkRGBA in class Control
    • setCursor

      void setCursor(long cursor)
      Overrides:
      setCursor in class Control
    • setDoubleClickEnabled

      public void setDoubleClickEnabled(boolean doubleClick)
      Sets the double click enabled flag.

      The double click flag enables or disables the default action of the text widget when the user double clicks.

      Note: This operation is a hint and is not supported on platforms that do not have this concept.

      Parameters:
      doubleClick - the new double click flag
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setEchoChar

      public void setEchoChar(char echo)
      Sets the echo character.

      The echo character is the character that is displayed when the user enters text or the text is changed by the programmer. Setting the echo character to '\0' clears the echo character and redraws the original text. If for any reason the echo character is invalid, or if the platform does not allow modification of the echo character, the default echo character for the platform is used.

      Parameters:
      echo - the new echo character
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setEditable

      public void setEditable(boolean editable)
      Sets the editable state.
      Parameters:
      editable - the new editable state
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setFontDescription

      void setFontDescription(long font)
      Overrides:
      setFontDescription in class Control
    • setMessage

      public void setMessage(String message)
      Sets the widget message. The message text is displayed as a hint for the user, indicating the purpose of the field.

      Typically this is used in conjunction with SWT.SEARCH.

      Parameters:
      message - the new message
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the message is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.3
    • setOrientation

      public void setOrientation(int orientation)
      Sets the orientation of the receiver, which must be one of the constants SWT.LEFT_TO_RIGHT or SWT.RIGHT_TO_LEFT.

      Note: This operation is a hint and is not supported on platforms that do not have this concept.

      Overrides:
      setOrientation in class Control
      Parameters:
      orientation - new orientation style
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      2.1.2
    • setSelection

      public void setSelection(int start)
      Sets the selection.

      Indexing is zero based. The range of a selection is from 0..N where N is the number of characters in the widget.

      Text selections are specified in terms of caret positions. In a text widget that contains N characters, there are N+1 caret positions, ranging from 0..N. This differs from other functions that address character position such as getText () that use the regular array indexing rules.

      Parameters:
      start - new caret position
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setSelection

      public void setSelection(int start, int end)
      Sets the selection to the range specified by the given start and end indices.

      Indexing is zero based. The range of a selection is from 0..N where N is the number of characters in the widget.

      Text selections are specified in terms of caret positions. In a text widget that contains N characters, there are N+1 caret positions, ranging from 0..N. This differs from other functions that address character position such as getText () that use the usual array indexing rules.

      Parameters:
      start - the start of the range
      end - the end of the range
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setSelection

      public void setSelection(Point selection)
      Sets the selection to the range specified by the given point, where the x coordinate represents the start index and the y coordinate represents the end index.

      Indexing is zero based. The range of a selection is from 0..N where N is the number of characters in the widget.

      Text selections are specified in terms of caret positions. In a text widget that contains N characters, there are N+1 caret positions, ranging from 0..N. This differs from other functions that address character position such as getText () that use the usual array indexing rules.

      Parameters:
      selection - the point
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the point is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setTabs

      public void setTabs(int tabs)
      Sets the number of tabs.

      Tab stop spacing is specified in terms of the space (' ') character. The width of a single tab stop is the pixel width of the spaces.

      Parameters:
      tabs - the number of tabs
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setTabStops

      void setTabStops(int tabs)
    • setText

      public void setText(String string)
      Sets the contents of the receiver to the given string. If the receiver has style SINGLE and the argument contains multiple lines of text, the result of this operation is undefined and may vary from platform to platform.

      Note: If control characters like '\n', '\t' etc. are used in the string, then the behavior is platform dependent.

      Parameters:
      string - the new text
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the string is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setTextChars

      public void setTextChars(char[] text)
      Sets the contents of the receiver to the characters in the array. If the receiver has style SWT.SINGLE and the argument contains multiple lines of text then the result of this operation is undefined and may vary between platforms.

      Note: Use this API to prevent the text from being written into a String object whose lifecycle is outside of your control. This can help protect the text, for example, when the widget is used as a password field. However, the text can't be protected if an SWT.Segments or SWT.Verify listener has been added to the widget.

      Parameters:
      text - a character array that contains the new text
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the array is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.7
      See Also:
    • setText

      void setText(char[] text)
    • setTextLimit

      public void setTextLimit(int limit)
      Sets the maximum number of characters that the receiver is capable of holding to be the argument.

      Instead of trying to set the text limit to zero, consider creating a read-only text widget.

      To reset this value to the default, use setTextLimit(Text.LIMIT). Specifying a limit value larger than Text.LIMIT sets the receiver's limit to Text.LIMIT.

      Parameters:
      limit - new text limit
      Throws:
      IllegalArgumentException -
      • ERROR_CANNOT_BE_ZERO - if the limit is zero
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • setTopIndex

      public void setTopIndex(int index)
      Sets the zero-relative index of the line which is currently at the top of the receiver. This index can change when lines are scrolled or new lines are added and removed.
      Parameters:
      index - the index of the top item
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • showSelection

      public void showSelection()
      Shows the selection.

      If the selection is already showing in the receiver, this method simply returns. Otherwise, lines are scrolled until the selection is visible.

      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • translateOffset

      int translateOffset(int offset)
    • translateTraversal

      boolean translateTraversal(long event)
      Overrides:
      translateTraversal in class Control
    • traversalCode

      int traversalCode(int key, long event)
      Overrides:
      traversalCode in class Control
    • untranslateOffset

      int untranslateOffset(int offset)
    • verifyText

      String verifyText(String string, int start, int end)
    • windowProc

      long windowProc(long handle, long user_data)
      Overrides:
      windowProc in class Widget
    • windowProc

      long windowProc(long handle, long arg0, long user_data)
      Overrides:
      windowProc in class Control
    • windowProc

      long windowProc(long handle, long arg0, long arg1, long user_data)
      Overrides:
      windowProc in class Widget
    • windowProc

      long windowProc(long handle, long arg0, long arg1, long arg2, long user_data)
      Overrides:
      windowProc in class Widget