Class CodeAreaControl

java.lang.Object
qupath.lib.gui.scripting.richtextfx.CodeAreaControl
All Implemented Interfaces:
TextAppendable, EditableText, ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>

public class CodeAreaControl extends Object implements ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
Code area control using RichTextFX.
Author:
Pete Bankhead
  • Property Details

  • Method Details

    • textProperty

      public StringProperty textProperty()
      Description copied from interface: ScriptEditorControl
      Text currently in the editor control.
      Specified by:
      textProperty in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      See Also:
    • setText

      public void setText(String text)
      Sets the value of the property text.
      Specified by:
      setText in interface EditableText
      Property description:
    • getText

      public String getText()
      Gets the value of the property text.
      Specified by:
      getText in interface EditableText
      Property description:
      Returns:
    • selectedTextProperty

      public ObservableValue<String> selectedTextProperty()
      Description copied from interface: ScriptEditorControl
      Text currently selected in the editor control.
      Specified by:
      selectedTextProperty in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      See Also:
    • getSelectedText

      public String getSelectedText()
      Gets the value of the property selectedText.
      Specified by:
      getSelectedText in interface EditableText
      Property description:
      Returns:
    • getRegion

      public org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea> getRegion()
      Description copied from interface: ScriptEditorControl
      Get the region representing this control, so it may be added to a scene.
      Specified by:
      getRegion in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
    • isUndoable

      public boolean isUndoable()
      Description copied from interface: ScriptEditorControl
      Returns true if 'undo' can be applied to the control.
      Specified by:
      isUndoable in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
    • isRedoable

      public boolean isRedoable()
      Description copied from interface: ScriptEditorControl
      Returns true if 'redo' can be applied to the control.
      Specified by:
      isRedoable in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
    • undo

      public void undo()
      Description copied from interface: ScriptEditorControl
      Request undo.
      Specified by:
      undo in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • redo

      public void redo()
      Description copied from interface: ScriptEditorControl
      Request redo.
      Specified by:
      redo in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • copy

      public void copy()
      Description copied from interface: ScriptEditorControl
      Request copy the current selection.
      Specified by:
      copy in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • cut

      public void cut()
      Description copied from interface: ScriptEditorControl
      Request cut the current selection.
      Specified by:
      cut in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • paste

      public void paste()
      Description copied from interface: ScriptEditorControl
      Request paste from the system clipboard.
      Specified by:
      paste in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • appendText

      public void appendText(String text)
      Description copied from interface: TextAppendable
      Append the specified text to the appendable.
      Specified by:
      appendText in interface EditableText
      Specified by:
      appendText in interface TextAppendable
      Parameters:
      text - the text to be appended
    • clear

      public void clear()
      Description copied from interface: EditableText
      Request clear the contents of the control.
      Specified by:
      clear in interface EditableText
    • getCaretPosition

      public int getCaretPosition()
      Gets the value of the property caretPosition.
      Specified by:
      getCaretPosition in interface EditableText
      Property description:
      Returns:
    • insertText

      public void insertText(int pos, String text)
      Description copied from interface: EditableText
      Request inserting the specified text.
      Specified by:
      insertText in interface EditableText
      Parameters:
      pos - position to insert the text
      text - the text to insert
    • deleteText

      public void deleteText(int startIdx, int endIdx)
      Description copied from interface: EditableText
      Request deleting the text within the specified range.
      Specified by:
      deleteText in interface EditableText
    • deselect

      public void deselect()
      Description copied from interface: EditableText
      Deselect any currently-selected text.
      Specified by:
      deselect in interface EditableText
    • getSelection

      public IndexRange getSelection()
      Description copied from interface: ScriptEditorControl
      Get the range of the currently-selected text.
      Specified by:
      getSelection in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
    • selectRange

      public void selectRange(int startIdx, int endIdx)
      Description copied from interface: EditableText
      Set the range of the selected text.
      Specified by:
      selectRange in interface EditableText
    • wrapTextProperty

      public BooleanProperty wrapTextProperty()
      Description copied from interface: ScriptEditorControl
      Request wordwrap.
      Specified by:
      wrapTextProperty in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
    • positionCaret

      public void positionCaret(int index)
      Description copied from interface: EditableText
      Set the caret position to the specified index
      Specified by:
      positionCaret in interface EditableText
    • requestFollowCaret

      public void requestFollowCaret()
      Description copied from interface: ScriptEditorControl
      Request that the X and Y scrolls are adjusted to ensure the caret is visible.

      This method does nothing by default. This means that a class extending this interface must specifically implement this method if a different behavior is expected.

      Specified by:
      requestFollowCaret in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • replaceSelection

      public void replaceSelection(String text)
      Description copied from interface: EditableText
      Insert the specified text, replacing any existing selection.
      Specified by:
      replaceSelection in interface EditableText
      Parameters:
      text - the text to insert
    • setContextMenu

      public void setContextMenu(ContextMenu menu)
      Description copied from interface: ScriptEditorControl
      Set the context menu for the control.
      Specified by:
      setContextMenu in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • getContextMenu

      public ContextMenu getContextMenu()
      Description copied from interface: ScriptEditorControl
      Get the context menu for the control.
      Specified by:
      getContextMenu in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
    • requestFocus

      public void requestFocus()
      Description copied from interface: ScriptEditorControl
      Request that the control is focused.
      Specified by:
      requestFocus in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • caretPositionProperty

      public ReadOnlyIntegerProperty caretPositionProperty()
      Description copied from interface: ScriptEditorControl
      Property for the current caret position.
      Specified by:
      caretPositionProperty in interface ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      See Also: