Module jEdit

Class TextArea

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
JEditEmbeddedTextArea, JEditTextArea, StandaloneTextArea

public abstract class TextArea extends JPanel
Abstract TextArea component. The concrete instance used by jEdit itself is called the JEditTextArea. This class uses a minimal set of jEdit APIs because it is the base class of the JEditEmbeddedTextArea and StandaloneTextArea, so it needs to be embeddable and separable.
Version:
$Id: TextArea.java 25322 2020-05-08 17:26:24Z kpouer $
Author:
Slava Pestov, kpouer (rafactoring into standalone text area)
See Also:
  • Field Details

  • Constructor Details

    • TextArea

      protected TextArea(IPropertyManager propertyManager, InputHandlerProvider inputHandlerProvider)
      Creates a new JEditTextArea.
      Parameters:
      propertyManager - the property manager that contains informations like shortcut bindings
      inputHandlerProvider - the inputHandlerProvider
  • Method Details

    • getFoldPainter

      public FoldPainter getFoldPainter()
    • initInputHandler

      public void initInputHandler()
      Creates an actionContext and initializes the input handler for this textarea. Called when creating a standalone textarea from within jEdit.
    • getActionContext

    • setMouseHandler

      public void setMouseHandler(MouseInputAdapter mouseInputAdapter)
    • setTransferHandler

      public void setTransferHandler(TransferHandler newHandler)
      Overrides:
      setTransferHandler in class JComponent
    • toString

      public String toString()
      Overrides:
      toString in class Component
    • dispose

      public void dispose()
      Plugins and macros should not call this method.
      Since:
      jEdit 4.2pre1
    • getInputHandler

      public AbstractInputHandler getInputHandler()
      Since:
      jEdit 4.3pre1
    • getPainter

      public final TextAreaPainter getPainter()
      Returns the object responsible for painting this text area.
    • getGutter

      public final Gutter getGutter()
      Returns the gutter to the left of the text area or null if the gutter is disabled
    • getDisplayManager

      public DisplayManager getDisplayManager()
      Returns:
      the display manager used by this text area.
      Since:
      jEdit 4.2pre1
    • isCaretBlinkEnabled

      public final boolean isCaretBlinkEnabled()
      Returns:
      true if the caret is blinking, false otherwise.
    • setCaretBlinkEnabled

      public void setCaretBlinkEnabled(boolean caretBlinks)
      Toggles caret blinking.
      Parameters:
      caretBlinks - True if the caret should blink, false otherwise
    • getElectricScroll

      public final int getElectricScroll()
      Returns:
      the minimum distance (in number of lines) from the caret to the nearest edge of the screen (top or bottom edge).
    • setElectricScroll

      public final void setElectricScroll(int electricScroll)
      Sets the number of lines from the top and bottom of the text area that are always visible
      Parameters:
      electricScroll - The number of lines always visible from the top or bottom
    • isQuickCopyEnabled

      public final boolean isQuickCopyEnabled()
      Returns if clicking the middle mouse button pastes the most recent selection (% register), and if Control-dragging inserts the selection at the caret.
    • setQuickCopyEnabled

      public final void setQuickCopyEnabled(boolean quickCopy)
      Sets if clicking the middle mouse button pastes the most recent selection (% register), and if Control-dragging inserts the selection at the caret.
      Parameters:
      quickCopy - A boolean flag
    • getBuffer

      public final JEditBuffer getBuffer()
      Returns the buffer this text area is editing.
      Since:
      jedit 4.3pre3 Prior to 4.3pre3, this function returned a "Buffer" type. If this causes your code to break, try calling view.getBuffer() instead of view.getTextArea().getBuffer().
    • setBuffer

      public void setBuffer(JEditBuffer buffer)
      Sets the buffer this text area is editing. If you don't run a standalone textarea in jEdit please do not call this method - use EditPane.setBuffer(org.gjt.sp.jedit.Buffer) instead.
      Parameters:
      buffer - The buffer
    • isEditable

      public final boolean isEditable()
      Returns true if this text area is editable, false otherwise.
    • isDragEnabled

      public boolean isDragEnabled()
      Returns if drag and drop of text is enabled.
      Since:
      jEdit 4.2pre5
    • setDragEnabled

      public void setDragEnabled(boolean dndEnabled)
      Sets if drag and drop of text is enabled.
      Since:
      jEdit 4.2pre5
    • getJoinNonWordChars

      public boolean getJoinNonWordChars()
      If set, double clicking will join non-word characters to form one "word".
      Since:
      jEdit 4.3pre2
    • setJoinNonWordChars

      public void setJoinNonWordChars(boolean joinNonWordChars)
      If set, double clicking will join non-word characters to form one "word".
      Since:
      jEdit 4.3pre2
    • isCtrlForRectangularSelection

      public boolean isCtrlForRectangularSelection()
      If set, CTRL enables rectangular selection mode while pressed.
      Since:
      jEdit 4.3pre10
    • setCtrlForRectangularSelection

      public void setCtrlForRectangularSelection(boolean ctrlForRectangularSelection)
      If set, CTRL enables rectangular selection mode while pressed.
      Since:
      jEdit 4.3pre10
    • getFirstLine

      public final int getFirstLine()
      Returns the vertical scroll bar position.
      Since:
      jEdit 4.2pre1
    • setFirstLine

      public void setFirstLine(int firstLine)
      Sets the vertical scroll bar position
      Parameters:
      firstLine - The scroll bar position
    • getFirstPhysicalLine

      public final int getFirstPhysicalLine()
      Returns the first visible physical line index.
      Since:
      jEdit 4.0pre4
    • setFirstPhysicalLine

      public void setFirstPhysicalLine(int physFirstLine)
      Sets the vertical scroll bar position.
      Parameters:
      physFirstLine - The first physical line to display
      Since:
      jEdit 4.2pre1
    • setFirstPhysicalLine

      public void setFirstPhysicalLine(int physFirstLine, int skew)
      Sets the vertical scroll bar position.
      Parameters:
      physFirstLine - The first physical line to display
      skew - A local screen line delta
      Since:
      jEdit 4.2pre1
    • getLastPhysicalLine

      public final int getLastPhysicalLine()
      Returns the last visible physical line index.
      Since:
      jEdit 4.0pre4
    • getLastScreenLine

      public int getLastScreenLine()
      Returns the last screen line index, it is different from getVisibleLines() because the buffer can have less lines than the visible lines
      Returns:
      the last screen line index.
      Since:
      jEdit 4.3pre1
    • getVisibleLines

      public int getVisibleLines()
      Returns the number of lines visible in this text area.
      Returns:
      the number of visible lines in the textarea
    • getHorizontalOffset

      public final int getHorizontalOffset()
      Returns the horizontal offset of drawn lines.
    • setHorizontalOffset

      public void setHorizontalOffset(int horizontalOffset)
      Sets the horizontal offset of drawn lines. This can be used to implement horizontal scrolling.
      Parameters:
      horizontalOffset - offset The new horizontal offset
    • scrollUpLine

      public void scrollUpLine()
      Scrolls up by one line.
      Since:
      jEdit 2.7pre2
    • scrollUpPage

      public void scrollUpPage()
      Scrolls up by one page.
      Since:
      jEdit 2.7pre2
    • scrollDownLine

      public void scrollDownLine()
      Scrolls down by one line.
      Since:
      jEdit 2.7pre2
    • scrollDownPage

      public void scrollDownPage()
      Scrolls down by one page.
      Since:
      jEdit 2.7pre2
    • scrollToCaret

      public void scrollToCaret(boolean doElectricScroll)
      Ensures that the caret is visible by scrolling the text area if necessary.
      Parameters:
      doElectricScroll - If true, electric scrolling will be performed
    • scrollTo

      public void scrollTo(int offset, boolean doElectricScroll)
      Ensures that the specified location in the buffer is visible.
      Parameters:
      offset - The offset from the start of the buffer
      doElectricScroll - If true, electric scrolling will be performed
      Since:
      jEdit 4.2pre3
    • scrollTo

      public void scrollTo(int line, int offset, boolean doElectricScroll)
      Ensures that the specified location in the buffer is visible.
      Parameters:
      line - The line number
      offset - The offset from the start of the line
      doElectricScroll - If true, electric scrolling will be performed
      Since:
      jEdit 4.0pre6
    • addScrollListener

      public final void addScrollListener(ScrollListener listener)
      Adds a scroll listener to this text area.
      Parameters:
      listener - The listener
      Since:
      jEdit 3.2pre2
    • removeScrollListener

      public final void removeScrollListener(ScrollListener listener)
      Removes a scroll listener from this text area.
      Parameters:
      listener - The listener
      Since:
      jEdit 3.2pre2
    • getPhysicalLineOfScreenLine

      public int getPhysicalLineOfScreenLine(int screenLine)
      Returns the physical line number that contains the specified screen line.
      Parameters:
      screenLine - The screen line
      Since:
      jEdit 4.0pre6
    • getScreenLineOfOffset

      public int getScreenLineOfOffset(int offset)
      Returns the screen (wrapped) line containing the specified offset. Returns -1 if the line is not currently visible on the screen.
      Parameters:
      offset - The offset
      Since:
      jEdit 4.0pre4
    • getScreenLineStartOffset

      public int getScreenLineStartOffset(int line)
      Returns the start offset of the specified screen (wrapped) line.
      Parameters:
      line - The line
      Since:
      jEdit 4.0pre4
    • getScreenLineEndOffset

      public int getScreenLineEndOffset(int line)
      Returns the end offset of the specified screen (wrapped) line.
      Parameters:
      line - The line
      Since:
      jEdit 4.0pre4
    • xyToOffset

      public int xyToOffset(int x, int y)
      Converts a point to an offset. Note that unlike in previous jEdit versions, this method now returns -1 if the y co-ordinate is out of bounds.
      Parameters:
      x - The x co-ordinate of the point
      y - The y co-ordinate of the point
    • xyToOffset

      public int xyToOffset(int x, int y, boolean round)
      Converts a point to an offset. Note that unlike in previous jEdit versions, this method now returns -1 if the y co-ordinate is out of bounds.
      Parameters:
      x - The x co-ordinate of the point
      y - The y co-ordinate of the point
      round - Round up to next character if past the middle of a character?
      Since:
      jEdit 3.2pre6
    • xToScreenLineOffset

      public int xToScreenLineOffset(int screenLine, int x, boolean round)
      Converts a point in a given screen line to an offset.
      Parameters:
      x - The x co-ordinate of the point
      screenLine - The screen line
      round - Round up to next character if past the middle of a character?
      Since:
      jEdit 3.2pre6
    • offsetToXY

      public Point offsetToXY(int offset)
      Converts an offset into a point in the text area painter's co-ordinate space.
      Parameters:
      offset - The offset
      Returns:
      The location of the offset on screen, or null if the specified offset is not visible
    • offsetToXY

      public Point offsetToXY(int line, int offset)
      Converts an offset into a point in the text area painter's co-ordinate space.
      Parameters:
      line - The line
      offset - The offset
      Returns:
      The location of the offset on screen, or null if the specified offset is not visible
    • offsetToXY

      public Point offsetToXY(int line, int offset, Point retVal)
      Converts a line,offset pair into an x,y (pixel) point relative to the upper left corner (0,0) of the text area.
      Parameters:
      line - The physical line number (from top of document)
      offset - The offset in characters, from the start of the line
      retVal - The point to store the return value in
      Returns:
      retVal for convenience, or null if the specified offset is not visible
      Since:
      jEdit 4.0pre4
    • invalidateScreenLineRange

      public void invalidateScreenLineRange(int start, int end)
      Marks a range of screen lines as needing a repaint.
      Parameters:
      start - The first line
      end - The last line
      Since:
      jEdit 4.0pre4
    • invalidateLine

      public void invalidateLine(int line)
      Marks a line as needing a repaint.
      Parameters:
      line - The physical line to invalidate
    • invalidateLineRange

      public void invalidateLineRange(int start, int end)
      Marks a range of physical lines as needing a repaint.
      Parameters:
      start - The first line to invalidate
      end - The last line to invalidate
    • getBufferLength

      public final int getBufferLength()
      Returns the length of the buffer.
    • getLineCount

      public final int getLineCount()
      Returns the number of physical lines in the buffer.
    • getLineOfOffset

      public final int getLineOfOffset(int offset)
      Returns the line containing the specified offset.
      Parameters:
      offset - The offset
    • getLineStartOffset

      public int getLineStartOffset(int line)
      Returns the start offset of the specified line.
      Parameters:
      line - The line (physical line)
      Returns:
      The start offset of the specified line, or -1 if the line is invalid
    • getLineEndOffset

      public int getLineEndOffset(int line)
      Returns the end offset of the specified line.
      Parameters:
      line - The line (physical line)
      Returns:
      The end offset of the specified line, or -1 if the line is invalid.
    • getLineLength

      public int getLineLength(int line)
      Returns the length of the specified line.
      Parameters:
      line - The line
    • getText

      public final String getText(int start, int len)
      Returns the specified substring of the buffer.
      Parameters:
      start - The start offset
      len - The length of the substring
      Returns:
      The substring
    • getText

      public final void getText(int start, int len, Segment segment)
      Copies the specified substring of the buffer into a segment.
      Parameters:
      start - The start offset
      len - The length of the substring
      segment - The segment
    • getText

      public String getText()
      Returns the entire text of this text area.
    • getLineText

      public final String getLineText(int lineIndex)
      Returns the text on the specified line.
      Parameters:
      lineIndex - the line number
      Returns:
      The text, or null if the lineIndex is invalid
    • getLineText

      public final void getLineText(int lineIndex, Segment segment)
      Copies the text on the specified line into a Segment. If lineIndex is invalid, the segment will contain a null string.
      Parameters:
      lineIndex - The line number (physical line)
      segment - the segment into which the data will be stored.
    • getVisibleLineText

      public String getVisibleLineText(int screenLine)
      Returns the visible part of the given line
      Parameters:
      screenLine - the screenLine
      Returns:
      the visible text
      Since:
      4.5pre1
    • getVisibleLineText

      public void getVisibleLineText(int screenLine, Segment segment)
      Returns the visible part of the given line
      Parameters:
      screenLine - the screenLine
      segment - the segment into which the data will be stored.
      Since:
      4.5pre1
    • getVisibleLineSegment

      public CharSequence getVisibleLineSegment(int screenLine)
      Returns the visible part of the given line in a CharSequence. The buffer data are not copied. so this should be used in EDT thread
      Parameters:
      screenLine - the screenLine
      Returns:
      the visible text
      Since:
      4.5pre1
    • setText

      public void setText(String text)
      Sets the entire text of this text area.
      Parameters:
      text - the new content of the buffer
    • selectAll

      public final void selectAll()
      Selects all text in the buffer. Preserves the scroll position.
    • selectLine

      public void selectLine()
      Selects the current line.
      Since:
      jEdit 2.7pre2
    • selectParagraph

      public void selectParagraph()
      Selects the paragraph at the caret position.
      Since:
      jEdit 2.7pre2
    • selectWord

      public void selectWord()
      Selects the word at the caret position.
      Since:
      jEdit 2.7pre2
    • selectToMatchingBracket

      public Selection selectToMatchingBracket(int position, boolean quickCopy)
      Selects from the bracket at the specified position to the corresponding bracket.
      Since:
      jEdit 4.2pre1
    • selectToMatchingBracket

      public void selectToMatchingBracket()
      Selects from the bracket at the caret position to the corresponding bracket.
      Since:
      jEdit 4.0pre2
    • selectBlock

      public void selectBlock()
      Selects the code block surrounding the caret.
      Since:
      jEdit 2.7pre2
    • lineInStructureScope

      public boolean lineInStructureScope(int line)
      Returns if the specified line is contained in the currently matched structure's scope.
      Since:
      jEdit 4.2pre3
    • invertSelection

      public final void invertSelection()
      Inverts the selection.
      Since:
      jEdit 4.0pre1
    • getSelectionCount

      public int getSelectionCount()
      Returns the number of selections. This can be used to test for the existence of selections.
      Since:
      jEdit 3.2pre2
    • getSelection

      @Nonnull public Selection[] getSelection()
      Returns the current selection.
      Since:
      jEdit 3.2pre1
    • getSelection

      public Selection getSelection(int index)
      Returns the selection with the specified index. This must be between 0 and the return value of getSelectionCount().
      Parameters:
      index - the index of the selection you want
      Since:
      jEdit 4.3pre1
    • getSelectionIterator

      public Iterator<Selection> getSelectionIterator()
      Returns the current selection.
      Since:
      jEdit 4.3pre1
    • selectNone

      public void selectNone()
      Deselects everything.
    • setSelection

      public void setSelection(Selection[] selection)
      Sets the selection. Nested and overlapping selections are merged where possible. Null elements of the array are ignored.
      Parameters:
      selection - The new selection since jEdit 3.2pre1
    • setSelection

      public void setSelection(Selection selection)
      Sets the selection. Nested and overlapping selections are merged where possible.
      Parameters:
      selection - The new selection since jEdit 3.2pre1
    • addToSelection

      public void addToSelection(Selection[] selection)
      Adds to the selection. Nested and overlapping selections are merged where possible.
      Parameters:
      selection - The new selection since jEdit 3.2pre1
    • addToSelection

      public void addToSelection(Selection selection)
      Adds to the selection. Nested and overlapping selections are merged where possible.
      Parameters:
      selection - The new selection since jEdit 3.2pre1
    • getSelectionAtOffset

      public Selection getSelectionAtOffset(int offset)
      Returns the selection containing the specific offset, or null if there is no selection at that offset.
      Parameters:
      offset - The offset
      Since:
      jEdit 3.2pre1
    • removeFromSelection

      public void removeFromSelection(Selection sel)
      Deactivates the specified selection.
      Parameters:
      sel - The selection
      Since:
      jEdit 3.2pre1
    • removeFromSelection

      public void removeFromSelection(int offset)
      Deactivates the selection at the specified offset. If there is no selection at that offset, does nothing.
      Parameters:
      offset - The offset
      Since:
      jEdit 3.2pre1
    • resizeSelection

      public void resizeSelection(int offset, int end, int extraEndVirt, boolean rect)
      Resizes the selection at the specified offset, or creates a new one if there is no selection at the specified offset. This is a utility method that is mainly useful in the mouse event handler because it handles the case of end being before offset gracefully (unlike the rest of the selection API).
      Parameters:
      offset - The offset
      end - The new selection end
      extraEndVirt - Only for rectangular selections - specifies how far it extends into virtual space.
      rect - Make the selection rectangular?
      Since:
      jEdit 3.2pre1
    • extendSelection

      public void extendSelection(int offset, int end)
      Extends the selection at the specified offset, or creates a new one if there is no selection at the specified offset. This is different from resizing in that the new chunk is added to the selection in question, instead of replacing it.
      Parameters:
      offset - The offset
      end - The new selection end
      Since:
      jEdit 3.2pre1
    • extendSelection

      public void extendSelection(int offset, int end, int extraStartVirt, int extraEndVirt)
      Extends the selection at the specified offset, or creates a new one if there is no selection at the specified offset. This is different from resizing in that the new chunk is added to the selection in question, instead of replacing it.
      Parameters:
      offset - The offset
      end - The new selection end
      extraStartVirt - Extra virtual space at the start
      extraEndVirt - Extra virtual space at the end
      Since:
      jEdit 4.2pre1
    • getSelectedText

      public String getSelectedText(Selection s)
      Returns the text in the specified selection.
      Parameters:
      s - The selection
      Since:
      jEdit 3.2pre1
    • getSelectedText

      public String getSelectedText(String separator)
      Returns the text in all active selections.
      Parameters:
      separator - The string to insert between each text chunk (for example, a newline)
      Since:
      jEdit 3.2pre1
    • getSelectedText

      public String getSelectedText()
      Returns the text in all active selections, with a newline between each text chunk.
    • setSelectedText

      public void setSelectedText(Selection s, String selectedText)
      Replaces the selection with the specified text.
      Parameters:
      s - The selection
      selectedText - The new text
      Since:
      jEdit 3.2pre1
    • setSelectedText

      public void setSelectedText(String selectedText)
      Replaces the selection at the caret with the specified text. If there is no selection at the caret, the text is inserted at the caret position.
    • setSelectedText

      public void setSelectedText(String selectedText, boolean moveCaret)
      Replaces the selection at the caret with the specified text. If there is no selection at the caret, the text is inserted at the caret position.
      Parameters:
      selectedText - The new selection
      moveCaret - Move caret to insertion location if necessary
      Since:
      jEdit 4.2pre5
    • replaceSelection0

      public int replaceSelection0(String selectedText)
      Set the selection, but does not deactivate it, and does not move the caret. Please use setSelectedText(String) instead.
      Parameters:
      selectedText - The new selection
      Returns:
      The new caret position
      Since:
      4.3pre1
    • getSelectedLines

      public int[] getSelectedLines()
      Returns a sorted array of line numbers on which a selection or selections are present.

      This method is the most convenient way to iterate through selected lines in a buffer. The line numbers in the array returned by this method can be passed as a parameter to such methods as JEditBuffer.getLineText(int).

      Returns:
      Non-null, non-zero sized array of line indexes. If no lines are actually selected, return the caret line in the array.
      Since:
      jEdit 3.2pre1
    • caretAutoScroll

      public boolean caretAutoScroll()
      Return if change in buffer should scroll this text area.
      Since:
      jEdit 4.3pre2
    • addStructureMatcher

      public void addStructureMatcher(StructureMatcher matcher)
      Adds a structure matcher.
      Since:
      jEdit 4.2pre3
    • removeStructureMatcher

      public void removeStructureMatcher(StructureMatcher matcher)
      Removes a structure matcher.
      Since:
      jEdit 4.2pre3
    • getStructureMatch

      public StructureMatcher.Match getStructureMatch()
      Returns the structure element (bracket, or XML tag, etc) matching the one before the caret.
      Since:
      jEdit 4.2pre3
    • blinkCaret

      public final void blinkCaret()
      Blinks the caret.
    • centerCaret

      public void centerCaret()
      Centers the caret on the screen.
      Since:
      jEdit 2.7pre2
    • scrollAndCenterCaret

      public void scrollAndCenterCaret()
      Tries to scroll the textArea so that the caret is centered on the screen. Sometimes gets confused by folds but at least makes the caret visible and guesses better on subsequent attempts.
      Since:
      jEdit 4.3pre15
    • setCaretPosition

      public void setCaretPosition(int newCaret)
      Sets the caret position and deactivates the selection.
      Parameters:
      newCaret - The caret position
    • setCaretPosition

      public void setCaretPosition(int newCaret, boolean doElectricScroll)
      Sets the caret position and deactivates the selection.
      Parameters:
      newCaret - The caret position
      doElectricScroll - Do electric scrolling?
    • moveCaretPosition

      public void moveCaretPosition(int newCaret)
      Sets the caret position without deactivating the selection.
      Parameters:
      newCaret - The caret position
    • moveCaretPosition

      public void moveCaretPosition(int newCaret, boolean doElectricScroll)
      Sets the caret position without deactivating the selection.
      Parameters:
      newCaret - The caret position
      doElectricScroll - Do electric scrolling?
    • moveCaretPosition

      public void moveCaretPosition(int newCaret, int scrollMode)
      Sets the caret position without deactivating the selection.
      Parameters:
      newCaret - The caret position
      scrollMode - The scroll mode (NO_SCROLL, NORMAL_SCROLL, or ELECTRIC_SCROLL).
      Since:
      jEdit 4.2pre1
    • getCaretPosition

      public int getCaretPosition()
      Returns a zero-based index of the caret position.
    • getCaretLine

      public int getCaretLine()
      Returns the line number containing the caret.
    • getMagicCaretPosition

      public int getMagicCaretPosition()
      Returns an internal position used to keep the caret in one column while moving around lines of varying lengths.
      Since:
      jEdit 4.2pre1
    • setMagicCaretPosition

      public void setMagicCaretPosition(int magicCaret)
      Sets the `magic' caret position. This can be used to preserve the column position when moving up and down lines.
      Parameters:
      magicCaret - The magic caret position
      Since:
      jEdit 4.2pre1
    • addCaretListener

      public final void addCaretListener(CaretListener listener)
      Adds a caret change listener to this text area.
      Parameters:
      listener - The listener
    • removeCaretListener

      public final void removeCaretListener(CaretListener listener)
      Removes a caret change listener from this text area.
      Parameters:
      listener - The listener
    • goToNextBracket

      public void goToNextBracket(boolean select)
      Moves the caret to the next closing bracket.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2.
    • goToNextCharacter

      public void goToNextCharacter(boolean select)
      Moves the caret to the next character.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2.
    • goToNextLine

      public void goToNextLine(boolean select)
      Move the caret to the next line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToNextPage

      public void goToNextPage(boolean select)
      Moves the caret to the next screenful.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2.
    • goToNextParagraph

      public void goToNextParagraph(boolean select)
      Moves the caret to the start of the next paragraph.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToNextWord

      public void goToNextWord(boolean select)
      Moves the caret to the start of the next word. Note that if the "view.eatWhitespace" boolean propery is false, this method moves the caret to the end of the current word instead.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToNextWord

      public void goToNextWord(boolean select, boolean eatWhitespace)
      Moves the caret to the start of the next word.
      Since:
      jEdit 4.1pre5
    • goToPrevBracket

      public void goToPrevBracket(boolean select)
      Moves the caret to the previous bracket.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToPrevCharacter

      public void goToPrevCharacter(boolean select)
      Moves the caret to the previous character.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2.
    • goToPrevLine

      public void goToPrevLine(boolean select)
      Moves the caret to the previous line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToPrevPage

      public void goToPrevPage(boolean select)
      Moves the caret to the previous screenful.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToPrevParagraph

      public void goToPrevParagraph(boolean select)
      Moves the caret to the start of the previous paragraph.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToPrevWord

      public void goToPrevWord(boolean select)
      Moves the caret to the start of the previous word.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToPrevWord

      public void goToPrevWord(boolean select, boolean eatWhitespace)
      Moves the caret to the start of the previous word.
      Parameters:
      eatWhitespace - If true, will eat whitespace
      Since:
      jEdit 4.1pre5
    • goToPrevWord

      public void goToPrevWord(boolean select, boolean eatWhitespace, boolean eatOnlyAfterWord)
      Moves the caret to the start of the previous word.
      Parameters:
      eatWhitespace - If true, will eat whitespace
      eatOnlyAfterWord - Eat only whitespace after a word, in effect this goes to actual word starts even if eating
      Since:
      jEdit 4.4pre1
    • home

      public void home(boolean select)
      A "dumb home" action which only has 2 states: start of the whitespace or start of line
      Parameters:
      select - true if we also want to select from the cursor
      Since:
      jedit 4.3pre18
    • end

      public void end(boolean select)
      a dumb end action which only has 2 states: end of whitespace or end of line
      Parameters:
      select - true if we also want to select from the cursor
      Since:
      jedit 4.3pre18
    • smartHome

      public void smartHome(boolean select)
      On subsequent invocations, first moves the caret to the first non-whitespace character of the line, then the beginning of the line, then to the first visible line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.3pre7
    • smartEnd

      public void smartEnd(boolean select)
      Has 4 states based on # of invocations: 1. last character of code (before inline comment) 2. last non whitespace character of the line 3. end of line 4. end of last visible line
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.3pre18
    • goToStartOfLine

      public void goToStartOfLine(boolean select)
      Moves the caret to the beginning of the current line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToEndOfLine

      public void goToEndOfLine(boolean select)
      Moves the caret to the end of the current line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToEndOfCode

      public void goToEndOfCode(boolean select)
      Moves the caret to the end of the code present on the current line, before the comments and whitespace.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.3pre18
    • goToStartOfWhiteSpace

      public void goToStartOfWhiteSpace(boolean select)
      Moves the caret to the first non-whitespace character of the current line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToEndOfWhiteSpace

      public void goToEndOfWhiteSpace(boolean select)
      Moves the caret to the last non-whitespace character of the current line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToFirstVisibleLine

      public void goToFirstVisibleLine(boolean select)
      Moves the caret to the first visible line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToLastVisibleLine

      public void goToLastVisibleLine(boolean select)
      Moves the caret to the last visible line.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 2.7pre2
    • goToBufferStart

      public void goToBufferStart(boolean select)
      Moves the caret to the beginning of the buffer.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.0pre3
    • goToBufferEnd

      public void goToBufferEnd(boolean select)
      Moves the caret to the end of the buffer.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.0pre3
    • goToMatchingBracket

      public void goToMatchingBracket()
      Moves the caret to the bracket matching the one before the caret.
      Since:
      jEdit 2.7pre3
    • userInput

      public void userInput(char ch)
      Handles the insertion of the specified character. It performs the following operations above and beyond simply inserting the text:
      • Inserting a TAB with a selection will shift to the right
      • Inserting a BACK_SPACE or a DELETE will remove a character
      • Inserting an indent open/close bracket will re-indent the current line as necessary
      Parameters:
      ch - The character
      Since:
      jEdit 4.3pre7
      See Also:
    • isOverwriteEnabled

      public final boolean isOverwriteEnabled()
      Returns true if overwrite mode is enabled, false otherwise.
    • setOverwriteEnabled

      public final void setOverwriteEnabled(boolean overwrite)
      Sets overwrite mode.
    • toggleOverwriteEnabled

      public final void toggleOverwriteEnabled()
      Toggles overwrite mode.
      Since:
      jEdit 2.7pre2
    • backspace

      public void backspace()
      Deletes the character before the caret, or the selection, if one is active.
      Since:
      jEdit 2.7pre2
    • backspaceWord

      public void backspaceWord()
      Deletes the word before the caret.
      Since:
      jEdit 2.7pre2
    • backspaceWord

      public void backspaceWord(boolean eatWhitespace)
      Deletes the word before the caret.
      Parameters:
      eatWhitespace - If true, will eat whitespace
      Since:
      jEdit 4.2pre5
    • backspaceWord

      public void backspaceWord(boolean eatWhitespace, boolean eatOnlyAfterWord)
      Deletes the word before the caret.
      Parameters:
      eatWhitespace - If true, will eat whitespace
      eatOnlyAfterWord - Eat only whitespace after a word, in effect this goes to actual word starts even if eating
      Since:
      jEdit 4.4pre1
    • delete

      public void delete()
      Deletes the character after the caret.
      Since:
      jEdit 2.7pre2
    • deleteToEndOfLine

      public void deleteToEndOfLine()
      Deletes from the caret to the end of the current line.
      Since:
      jEdit 2.7pre2
    • deleteLine

      public void deleteLine()
      Deletes the line containing the caret.
      Since:
      jEdit 2.7pre2
    • deleteParagraph

      public void deleteParagraph()
      Deletes the paragraph containing the caret.
      Since:
      jEdit 2.7pre2
    • deleteToStartOfLine

      public void deleteToStartOfLine()
      Deletes from the caret to the beginning of the current line.
      Since:
      jEdit 2.7pre2
    • deleteWord

      public void deleteWord()
      Deletes the word in front of the caret.
      Since:
      jEdit 2.7pre2
    • deleteWord

      public void deleteWord(boolean eatWhitespace)
      Deletes the word in front of the caret. . * @param eatWhitespace If true, will eat whitespace
      Since:
      jEdit 4.2pre5
    • isMultipleSelectionEnabled

      public final boolean isMultipleSelectionEnabled()
      Returns if multiple selection is enabled.
      Since:
      jEdit 3.2pre1
    • toggleMultipleSelectionEnabled

      public final void toggleMultipleSelectionEnabled()
      Toggles multiple selection.
      Since:
      jEdit 3.2pre1
    • setMultipleSelectionEnabled

      public final void setMultipleSelectionEnabled(boolean multi)
      Set multiple selection on or off according to the value of multi. This only affects the ability to make multiple selections in the user interface; macros and plugins can manipulate them regardless of the setting of this flag. In fact, in most cases, calling this method should not be necessary.
      Parameters:
      multi - Should multiple selection be enabled?
      Since:
      jEdit 3.2pre1
    • isRectangularSelectionEnabled

      public final boolean isRectangularSelectionEnabled()
      Returns if rectangular selection is enabled.
      Since:
      jEdit 4.2pre1
    • toggleRectangularSelectionEnabled

      public final void toggleRectangularSelectionEnabled()
      Toggles rectangular selection.
      Since:
      jEdit 4.2pre1
    • setRectangularSelectionEnabled

      public final void setRectangularSelectionEnabled(boolean rectangularSelectionMode)
      Set rectangular selection on or off according to the value of rectangularSelectionMode. This only affects the ability to make multiple selections from the keyboard. A rectangular selection can always be created by dragging with the mouse by holding down Control, regardless of the state of this flag.
      Parameters:
      rectangularSelectionMode - Should rectangular selection be enabled?
      Since:
      jEdit 4.2pre1
    • goToParentFold

      public void goToParentFold()
      Moves the caret to the fold containing the one at the caret position.
      Since:
      jEdit 4.0pre3
    • goToNextFold

      public void goToNextFold(boolean select)
      Moves the caret to the next fold.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.0pre3
    • goToPrevFold

      public void goToPrevFold(boolean select)
      Moves the caret to the previous fold.
      Parameters:
      select - true if you want to extend selection
      Since:
      jEdit 4.0pre3
    • collapseFold

      public void collapseFold()
      Like DisplayManager.collapseFold(int), but also moves the caret to the first line of the fold.
      Since:
      jEdit 4.0pre3
    • collapseFold

      public void collapseFold(int line)
      Like DisplayManager.collapseFold(int), but also moves the caret to the first line of the fold.
      Parameters:
      line - the physical line index of the fold that we want to collapse
      Since:
      jEdit 4.3pre7
    • expandFold

      public void expandFold(boolean fully)
      Like DisplayManager.expandFold(int,boolean), but also moves the caret to the first sub-fold.
      Parameters:
      fully - If true, all subfolds will also be expanded
      Since:
      jEdit 4.0pre3
    • selectFold

      public void selectFold()
      Selects the fold that contains the caret line number.
      Since:
      jEdit 3.1pre3
    • selectFold

      public void selectFold(int line)
      Selects the fold that contains the specified line number.
      Parameters:
      line - The line number
      Since:
      jEdit 4.0pre1
    • narrowToFold

      public void narrowToFold()
      Hides all lines except those in the fold containing the caret.
      Since:
      jEdit 4.0pre1
    • narrowToSelection

      public void narrowToSelection()
      Hides all lines except those in the selection.
      Since:
      jEdit 4.0pre1
    • addExplicitFold

      public void addExplicitFold() throws TextAreaException
      Surrounds the selection with explicit fold markers.
      Throws:
      TextAreaException - an exception thrown if the folding mode is not explicit
      Since:
      jEdit 4.0pre3
    • lineComment

      public void lineComment()
      Prepends each line of the selection with the line comment string.
      Since:
      jEdit 3.2pre1
    • rangeComment

      public void rangeComment()
      Adds comment start and end strings to the beginning and end of the selection.
      Since:
      jEdit 3.2pre1
    • formatParagraph

      public void formatParagraph() throws TextAreaException
      Formats the paragraph containing the caret.
      Throws:
      TextAreaException
      Since:
      jEdit 2.7pre2
    • spacesToTabs

      public void spacesToTabs()
      Converts spaces to tabs in the selection.
      Since:
      jEdit 2.7pre2
    • tabsToSpaces

      public void tabsToSpaces()
      Converts tabs to spaces in the selection.
      Since:
      jEdit 2.7pre2
    • toUpperCase

      public void toUpperCase()
      Converts the selected text to upper case.
      Since:
      jEdit 2.7pre2
    • toLowerCase

      public void toLowerCase()
      Converts the selected text to lower case.
      Since:
      jEdit 2.7pre2
    • removeTrailingWhiteSpace

      public void removeTrailingWhiteSpace()
      Removes trailing whitespace from all lines in the selection.
      Since:
      jEdit 2.7pre2
    • insertEnterAndIndent

      public void insertEnterAndIndent()
      Inserts a line break and indents the new line. Moves the caret to the first non-whitespace character of the new line. If the newline character is an electric key the current line will also be re-indented.
    • insertTabAndIndent

      public void insertTabAndIndent()
    • indentSelectedLines

      public void indentSelectedLines()
      Indents all selected lines.
      Since:
      jEdit 3.1pre3
    • turnOnElasticTabstops

      public void turnOnElasticTabstops()
      Turn ON elastic tab stops.
    • shiftIndentLeft

      public void shiftIndentLeft()
      Shifts the indent to the left.
      Since:
      jEdit 2.7pre2
    • shiftIndentRight

      public void shiftIndentRight()
      Shifts the indent to the right.
      Since:
      jEdit 2.7pre2
    • joinLines

      public void joinLines()
      Joins the current and the next line, or joins all lines in selections.
      Since:
      jEdit 2.7pre2
    • addLeftOfScrollBar

      public void addLeftOfScrollBar(Component comp)
      Adds a component to the left side of the box left of the vertical scroll bar. The ErrorList plugin uses this to show a global error overview, for example. It is possible for more than one component to be added, each is added to the left side of the box in turn. Adding to the left ensures the scrollbar is always right of all added components.
      Parameters:
      comp - The component
      Since:
      jEdit 4.2pre1
    • removeLeftOfScrollBar

      public void removeLeftOfScrollBar(Component comp)
      Removes a component from the box left of the vertical scroll bar.
      Parameters:
      comp - The component
      Since:
      jEdit 4.2pre1
    • addNotify

      public void addNotify()
      Called by the AWT when this component is added to a parent. Adds document listener.
      Overrides:
      addNotify in class JComponent
    • removeNotify

      public void removeNotify()
      Called by the AWT when this component is removed from it's parent. This clears the pointer to the currently focused component. Also removes document listener.
      Overrides:
      removeNotify in class JComponent
    • getFocusTraversalKeysEnabled

      public boolean getFocusTraversalKeysEnabled()
      Java 1.4 compatibility fix to make Tab key work.
      Overrides:
      getFocusTraversalKeysEnabled in class Component
      Since:
      jEdit 3.2pre4
    • getFocusCycleRoot

      public boolean getFocusCycleRoot()
      Java 1.4 compatibility fix to make Tab traversal work in a sane manner.
      Since:
      jEdit 4.2pre3
    • processKeyEvent

      public void processKeyEvent(KeyEvent evt)
      Overrides:
      processKeyEvent in class JComponent
    • addTopComponent

      public void addTopComponent(Component comp)
      Adds a component above the gutter, text area, and vertical scroll bar.
      Since:
      jEdit 4.2pre3
    • removeTopComponent

      public void removeTopComponent(Component comp)
      Removes a component from above the gutter, text area, and vertical scroll bar.
      Since:
      jEdit 4.2pre3
    • addTopLeftComponent

      public void addTopLeftComponent(Component comp)
      Adds a component above the gutter.
      Since:
      jEdit 5.2pre1
    • addTopRightComponent

      public void addTopRightComponent(Component comp)
      Adds a component above the vertical scroll bar.
      Since:
      jEdit 5.2pre1
    • addBottomLeftComponent

      public void addBottomLeftComponent(Component comp)
      Adds a component below the gutter.
      Since:
      jEdit 5.2pre1
    • addBottomRightComponent

      public void addBottomRightComponent(Component comp)
      Adds a component below the vertical scroll bar.
      Since:
      jEdit 5.2pre1
    • getInputMethodRequests

      public InputMethodRequests getInputMethodRequests()
      Overrides:
      getInputMethodRequests in class Component
    • addStatusListener

      public final void addStatusListener(StatusListener listener)
      Adds a scroll listener to this text area.
      Parameters:
      listener - The listener
      Since:
      jEdit 4.3pre2
    • removeStatusListener

      public final void removeStatusListener(StatusListener listener)
      Removes a scroll listener from this text area.
      Parameters:
      listener - The listener
      Since:
      jEdit 4.3pre2
    • propertiesChanged

      public void propertiesChanged()
      Called by jEdit when necessary. Plugins should not call this method.
    • addActionSet

      public void addActionSet(JEditActionSet<JEditBeanShellAction> actionSet)
      Adds a new action set to the textarea's list of ActionSets. Call this only on standalone textarea
      Parameters:
      actionSet - the actionSet to add
      Since:
      jEdit 4.3pre13
    • getMarkPosition

      @Deprecated public final int getMarkPosition()
      Deprecated.
      Do not use.
    • isCaretVisible

      public final boolean isCaretVisible()
      Returns true if the caret is visible, false otherwise.
    • isStructureHighlightVisible

      public final boolean isStructureHighlightVisible()
      Returns true if the structure highlight is visible, false otherwise.
      Since:
      jEdit 4.2pre3
    • insert

      protected void insert(String str, boolean indent)
    • userInputTab

      protected void userInputTab()
    • doWordWrap

      protected boolean doWordWrap(boolean spaceInserted)
      Does hard wrap.
    • addExplicitFold

      protected int addExplicitFold(int caretStart, int caretEnd, int lineStart, int lineEnd)
      Add an explicit fold. You should call this method inside a compoundEdit in the buffer. You must also check if the buffer fold mode is explicit before calling this method.
      Parameters:
      caretStart - the starting offset
      caretEnd - the end offset
      lineStart - the start line
      lineEnd - the end line
      Since:
      jEdit 4.3pre3
    • isRightClickPopupEnabled

      public boolean isRightClickPopupEnabled()
      Returns if the right click popup menu is enabled. The Gestures plugin uses this API.
      Since:
      jEdit 4.2pre13
    • setRightClickPopupEnabled

      public void setRightClickPopupEnabled(boolean popupEnabled)
      Sets if the right click popup menu is enabled. The Gestures plugin uses this API.
      Since:
      jEdit 4.2pre13
    • getRightClickPopup

      public final JPopupMenu getRightClickPopup()
      Returns the right click popup menu.
    • setRightClickPopup

      public final void setRightClickPopup(JPopupMenu popup)
      Sets the right click popup menu.
      Parameters:
      popup - The popup
    • handlePopupTrigger

      public void handlePopupTrigger(MouseEvent evt)
      Do the same thing as right-clicking on the text area. The Gestures plugin uses this API.
      Since:
      jEdit 4.2pre13
    • createPopupMenu

      public void createPopupMenu(MouseEvent evt)
      Creates the popup menu. If you want a popup menu, don't forget in your class to call setRightClickPopupEnabled(boolean) to enable the popup menu
      Since:
      4.3pre15
    • showPopupMenu

      public void showPopupMenu()
      Shows the popup menu below the current caret position.
      Since:
      4.3pre10
    • showPopupMenu

      @Deprecated public static void showPopupMenu(JPopupMenu popup, Component comp, int x, int y, boolean point)
      Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.
      Parameters:
      popup - The popup menu
      comp - The component to show it for
      x - The x co-ordinate
      y - The y co-ordinate
      point - If true, then the popup originates from a single point; otherwise it will originate from the component itself. This affects positioning in the case where the popup does not fit onscreen. FIXME: move parts of GUIUtilities compatible with standalone TextArea in a separate class, to prevent such copies
      Since:
      jEdit 4.1pre1
    • getTabExpander

      public TabExpander getTabExpander()