Class CodeAreaControl

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

public class CodeAreaControl extends Object implements qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
Code area control using RichTextFX.
  • Property Details

    • text

      public StringProperty textProperty
      Specified by:
      textProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      See Also:
    • selectedText

      public ObservableValue<String> selectedTextProperty
      Specified by:
      selectedTextProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      See Also:
    • wrapText

      public BooleanProperty wrapTextProperty
      Specified by:
      wrapTextProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      See Also:
    • caretPosition

      public ReadOnlyIntegerProperty caretPositionProperty
      Specified by:
      caretPositionProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      See Also:
  • Method Details

    • createCodeEditor

      public static CodeAreaControl createCodeEditor()
      Create an editable control for writing code.
      Returns:
    • createLog

      public static CodeAreaControl createLog()
      Create a non-editable control for showing log messages.
      Returns:
    • textProperty

      public StringProperty textProperty()
      Specified by:
      textProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      the text property
      See Also:
    • setText

      public void setText(String text)
      Sets the value of the text property.
      Specified by:
      setText in interface qupath.lib.gui.scripting.EditableText
      Property description:
      Parameters:
      text - the value for the text property
      See Also:
    • getText

      public String getText()
      Gets the value of the text property.
      Specified by:
      getText in interface qupath.lib.gui.scripting.EditableText
      Property description:
      Returns:
      the value of the text property
      See Also:
    • selectedTextProperty

      public ObservableValue<String> selectedTextProperty()
      Specified by:
      selectedTextProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      the selectedText property
      See Also:
    • getSelectedText

      public String getSelectedText()
      Gets the value of the selectedText property.
      Specified by:
      getSelectedText in interface qupath.lib.gui.scripting.EditableText
      Property description:
      Returns:
      the value of the selectedText property
      See Also:
    • getRegion

      public org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea> getRegion()
      Specified by:
      getRegion in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • isUndoable

      public boolean isUndoable()
      Specified by:
      isUndoable in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • isRedoable

      public boolean isRedoable()
      Specified by:
      isRedoable in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • undo

      public void undo()
      Specified by:
      undo in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • redo

      public void redo()
      Specified by:
      redo in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • copy

      public void copy()
      Specified by:
      copy in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • cut

      public void cut()
      Specified by:
      cut in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • paste

      public void paste()
      Specified by:
      paste in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • appendText

      public void appendText(String text)
      Specified by:
      appendText in interface qupath.lib.gui.scripting.EditableText
      Specified by:
      appendText in interface qupath.lib.gui.logging.TextAppendable
    • clear

      public void clear()
      Specified by:
      clear in interface qupath.lib.gui.scripting.EditableText
    • getCaretPosition

      public int getCaretPosition()
      Gets the value of the caretPosition property.
      Specified by:
      getCaretPosition in interface qupath.lib.gui.scripting.EditableText
      Property description:
      Returns:
      the value of the caretPosition property
      See Also:
    • insertText

      public void insertText(int pos, String text)
      Specified by:
      insertText in interface qupath.lib.gui.scripting.EditableText
    • deleteText

      public void deleteText(int startIdx, int endIdx)
      Specified by:
      deleteText in interface qupath.lib.gui.scripting.EditableText
    • deselect

      public void deselect()
      Specified by:
      deselect in interface qupath.lib.gui.scripting.EditableText
    • getSelection

      public IndexRange getSelection()
      Specified by:
      getSelection in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • selectRange

      public void selectRange(int startIdx, int endIdx)
      Specified by:
      selectRange in interface qupath.lib.gui.scripting.EditableText
    • wrapTextProperty

      public BooleanProperty wrapTextProperty()
      Specified by:
      wrapTextProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      the wrapText property
    • positionCaret

      public void positionCaret(int index)
      Specified by:
      positionCaret in interface qupath.lib.gui.scripting.EditableText
    • requestFollowCaret

      public void requestFollowCaret()
      Specified by:
      requestFollowCaret in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • replaceSelection

      public void replaceSelection(String text)
      Specified by:
      replaceSelection in interface qupath.lib.gui.scripting.EditableText
    • setContextMenu

      public void setContextMenu(ContextMenu menu)
      Specified by:
      setContextMenu in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • getContextMenu

      public ContextMenu getContextMenu()
      Specified by:
      getContextMenu in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • requestFocus

      public void requestFocus()
      Specified by:
      requestFocus in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • caretPositionProperty

      public ReadOnlyIntegerProperty caretPositionProperty()
      Specified by:
      caretPositionProperty in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
      Returns:
      the caretPosition property
      See Also:
    • setLanguage

      public void setLanguage(qupath.lib.scripting.languages.ScriptLanguage language)
      Specified by:
      setLanguage in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • getLanguage

      public qupath.lib.scripting.languages.ScriptLanguage getLanguage()
      Specified by:
      getLanguage in interface qupath.lib.gui.scripting.ScriptEditorControl<org.fxmisc.flowless.VirtualizedScrollPane<org.fxmisc.richtext.CodeArea>>
    • setSmartEditing

      public void setSmartEditing(boolean smartEditing)
      Request smart editing, e.g. to insert closing parentheses.
      Parameters:
      smartEditing -
    • getSmartEditing

      public boolean getSmartEditing()
      Check whether smart editing is requested.
      Returns: