CodePane

class CodePane(workbench: AvailWorkbench, isEditable: Boolean = true, kit: CodeKit = CodeKit(workbench)) : JTextPane

A text suitable for editing Avail source code. It is editable by default, but may be locked down after construction.

Currently supports:

  • Basic editing.

  • Basic undo/redo.

  • Template expansion, with prefix shortening and explicit single caret positioning.

Author

Todd L Smith

Parameters

workbench

The associated AvailWorkbench.

kit

Constructors

Link copied to clipboard
constructor(workbench: AvailWorkbench, isEditable: Boolean = true, kit: CodeKit = CodeKit(workbench))

Construct a CodePane.

Types

Link copied to clipboard
object Companion
Link copied to clipboard
data class TemplateSelectionState(val startPosition: Int, val templatePrefix: String, val candidateExpansions: List<String>)

The state of an ongoing template selection.

Properties

Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(description = "The preferred horizontal alignment of the component.")
var alignmentX: Float
Link copied to clipboard
@set:BeanProperty(description = "The preferred vertical alignment of the component.")
var alignmentY: Float
Link copied to clipboard
@set:BeanProperty(bound = false, expert = true, description = "Determines if this component automatically scrolls its contents when dragged.")
var autoscrolls: Boolean
Link copied to clipboard
@set:BeanProperty(preferred = true, visualUpdate = true, description = "The background color of the component.")
var background: Color
Link copied to clipboard
@set:BeanProperty(preferred = true, visualUpdate = true, description = "The component's border.")
var border: Border
Link copied to clipboard

Whether the receiver can really be edited.

Link copied to clipboard
@set:BeanProperty(expert = true, description = "the caret used to select/navigate")
var caret: Caret
Link copied to clipboard
@set:BeanProperty(preferred = true, description = "the color used to render the caret")
var caretColor: Color
Link copied to clipboard

Given a JTextPane that has previously had scrollTextWithLineNumbers run against it to wrap it appropriately before adding to the component hierarchy, extract the CodeOverlay associated with it. If it doesn't have one, fail.

Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(preferred = true, description = "color used to render disabled text")
var disabledTextColor: Color
Link copied to clipboard
@set:BeanProperty(bound = false, description = "determines whether automatic drag handling is enabled")
var dragEnabled: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(description = "specifies if the text can be edited")
var editable: Boolean
Link copied to clipboard
@set:BeanProperty(expert = true, preferred = true, visualUpdate = true, description = "The enabled state of the component.")
var enabled: Boolean
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(description = "accelerator character used to grab focus")
var focusAccelerator: Char
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(preferred = true, visualUpdate = true, description = "The font for the component.")
var font: Font
Link copied to clipboard
@set:BeanProperty(preferred = true, visualUpdate = true, description = "The foreground color of the component.")
var foreground: Color
Link copied to clipboard
@get:BeanProperty(bound = false)
val height: Int
Link copied to clipboard
@set:BeanProperty(expert = true, description = "object responsible for background highlights")
var highlighter: Highlighter
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(description = "The component's input verifier.")
var inputVerifier: InputVerifier
Link copied to clipboard
@set:BeanProperty(description = "set of key event to action bindings to use")
var keymap: Keymap
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(description = "desired space between the border and text area")
var margin: Insets
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(preferred = true, description = "color used to render selected text")
var selectedTextColor: Color
Link copied to clipboard
@set:BeanProperty(preferred = true, description = "color used to render selection background")
var selectionColor: Color
Link copied to clipboard
Link copied to clipboard
@set:BeanProperty(description = "Whether the Component verifies input before accepting focus.")
var verifyInputWhenFocusTarget: Boolean
Link copied to clipboard
@set:BeanProperty(hidden = true, visualUpdate = true)
var visible: Boolean
Link copied to clipboard
@get:BeanProperty(bound = false)
val width: Int
Link copied to clipboard
@get:BeanProperty(bound = false)
val x: Int
Link copied to clipboard
@get:BeanProperty(bound = false)
val y: Int

Functions

Link copied to clipboard
open fun action(p0: Event, p1: Any): Boolean
Link copied to clipboard
open fun add(p0: PopupMenu)
open fun add(p0: Component): Component
open fun add(p0: Component, p1: Any)
open fun add(p0: Component, p1: Int): Component
open fun add(p0: String, p1: Component): Component
open fun add(p0: Component, p1: Any, p2: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun addNotify()
Link copied to clipboard
open fun addStyle(p0: String, p1: Style): Style
Link copied to clipboard
Link copied to clipboard
open override fun areFocusTraversalKeysSet(p0: Int): Boolean
Link copied to clipboard
open fun bounds(): Rectangle
Link copied to clipboard

Center the current line of the receiver in its enclosing viewport by moving the caret. If no viewport encloses the receiver, then do not move the caret.

Link copied to clipboard
fun changeFont(name: String, updatedSize: Float)

Change the font to the provided font name and size.

Link copied to clipboard
fun changeFontSize(updatedSize: Float)

Change the font size to the provided font size.

Link copied to clipboard
open fun checkImage(p0: Image, p1: ImageObserver): Int
open fun checkImage(p0: Image, p1: Int, p2: Int, p3: ImageObserver): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open operator fun contains(p0: Point): Boolean
open override fun contains(p0: Int, p1: Int): Boolean
Link copied to clipboard
open fun copy()
Link copied to clipboard
open fun countComponents(): Int
Link copied to clipboard
open fun createImage(p0: Int, p1: Int): Image
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun cut()
Link copied to clipboard
open override fun deliverEvent(p0: Event)
Link copied to clipboard
open override fun disable()
Link copied to clipboard
Link copied to clipboard
open override fun doLayout()
Link copied to clipboard
Link copied to clipboard
open fun enable(p0: Boolean)
open override fun enable()
Link copied to clipboard
Link copied to clipboard
open fun findComponentAt(p0: Int, p1: Int): Component
Link copied to clipboard
Link copied to clipboard
open fun firePropertyChange(p0: String, p1: Byte, p2: Byte)
open fun firePropertyChange(p0: String, p1: Double, p2: Double)
open fun firePropertyChange(p0: String, p1: Float, p2: Float)
open fun firePropertyChange(p0: String, p1: Long, p2: Long)
open fun firePropertyChange(p0: String, p1: Short, p2: Short)
open override fun firePropertyChange(p0: String, p1: Boolean, p2: Boolean)
open override fun firePropertyChange(p0: String, p1: Char, p2: Char)
open override fun firePropertyChange(p0: String, p1: Int, p2: Int)
Link copied to clipboard

Locate the position of the beginning of the first line enclosing the active selection.

Link copied to clipboard
@BeanProperty(bound = false)
open override fun getAccessibleContext(): AccessibleContext
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false)
open fun getActions(): Array<Action>
Link copied to clipboard
Link copied to clipboard
open override fun getBaseline(p0: Int, p1: Int): Int
Link copied to clipboard
Link copied to clipboard
open fun getBounds(): Rectangle
open override fun getBounds(p0: Rectangle): Rectangle
Link copied to clipboard
Link copied to clipboard
open fun getCaretPosition(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getComponent(p0: Int): Component
Link copied to clipboard
open override fun getComponentAt(p0: Point): Component
open override fun getComponentAt(p0: Int, p1: Int): Component
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDocument(): Document
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getFontMetrics(p0: Font): FontMetrics
Link copied to clipboard
@BeanProperty(bound = false)
open override fun getGraphics(): Graphics
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false)
open override fun getInputMethodRequests(): InputMethodRequests
Link copied to clipboard
@BeanProperty(expert = true)
open override fun getInsets(): Insets
open fun getInsets(p0: Insets): Insets
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun <T : EventListener> getListeners(p0: Class<T>): Array<T>
Link copied to clipboard
open fun getLocation(): Point
open override fun getLocation(p0: Point): Point
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getMaximumSize(): Dimension
Link copied to clipboard
open override fun getMinimumSize(): Dimension
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getPage(): URL
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false)
open override fun getPreferredScrollableViewportSize(): Dimension
Link copied to clipboard
open override fun getPreferredSize(): Dimension
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false)
open fun getRootPane(): JRootPane
Link copied to clipboard
open override fun getScrollableBlockIncrement(p0: Rectangle, p1: Int, p2: Int): Int
Link copied to clipboard
@BeanProperty(bound = false)
open override fun getScrollableTracksViewportHeight(): Boolean
Link copied to clipboard
@BeanProperty(bound = false)
open override fun getScrollableTracksViewportWidth(): Boolean
Link copied to clipboard
open override fun getScrollableUnitIncrement(p0: Rectangle, p1: Int, p2: Int): Int
Link copied to clipboard
@BeanProperty(bound = false)
open fun getSelectedText(): String
Link copied to clipboard
open fun getSelectionEnd(): Int
Link copied to clipboard
Link copied to clipboard
open fun getSize(): Dimension
open override fun getSize(p0: Dimension): Dimension
Link copied to clipboard
open fun getStyle(p0: String): Style
Link copied to clipboard
Link copied to clipboard
open override fun getText(): String
open fun getText(p0: Int, p1: Int): String
Link copied to clipboard
open fun getToolkit(): Toolkit
Link copied to clipboard
Link copied to clipboard
open override fun getToolTipText(p0: MouseEvent): String
Link copied to clipboard
@BeanProperty(bound = false)
open fun getTopLevelAncestor(): Container
Link copied to clipboard
open override fun getTransferHandler(): TransferHandler
Link copied to clipboard
Link copied to clipboard
open override fun getUI(): TextUI
Link copied to clipboard
@BeanProperty(bound = false)
open override fun getUIClassID(): String
Link copied to clipboard
@BeanProperty(bound = false)
open fun getVisibleRect(): Rectangle
Link copied to clipboard
open fun gotFocus(p0: Event, p1: Any): Boolean
Link copied to clipboard
fun JTextComponent.goTo(line: Int, characterInLine: Int = 0)

Move the caret to the specified line and optional intra-line position. Normalize the positions, to ensure that the document and line limits are not exceeded.

Link copied to clipboard
open fun grabFocus()
Link copied to clipboard
open fun handleEvent(p0: Event): Boolean
Link copied to clipboard
open fun hasFocus(): Boolean
Link copied to clipboard
open override fun hide()
Link copied to clipboard
open override fun imageUpdate(p0: Image, p1: Int, p2: Int, p3: Int, p4: Int, p5: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open fun insertIcon(p0: Icon)
Link copied to clipboard
open fun insets(): Insets
Link copied to clipboard
open fun inside(p0: Int, p1: Int): Boolean
Link copied to clipboard
open override fun invalidate()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isCursorSet(): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun isDoubleBuffered(): Boolean
Link copied to clipboard
open override fun isFocusCycleRoot(p0: Container): Boolean
Link copied to clipboard
open fun isFocusOwner(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isFontSet(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false)
open fun isManagingFocus(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun isOpaque(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false)
open fun isPaintingTile(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isShowing(): Boolean
Link copied to clipboard
open override fun isValidateRoot(): Boolean
Link copied to clipboard
open fun keyDown(p0: Event, p1: Int): Boolean
Link copied to clipboard
open fun keyUp(p0: Event, p1: Int): Boolean
Link copied to clipboard

Locate the position of the end of the last line enclosing the active selection.

Link copied to clipboard
open override fun layout()
Link copied to clipboard

Locate the ends of all lines enclosing the active selection. If no text is selected, then locate the end of the line containing the caret.

Link copied to clipboard

Locate the beginnings of all lines enclosing the active selection. If no text is selected, then locate the beginning of the line containing the caret.

Link copied to clipboard
open fun list()
open fun list(p0: PrintStream)
open fun list(p0: PrintWriter)
open override fun list(p0: PrintStream, p1: Int)
open override fun list(p0: PrintWriter, p1: Int)
Link copied to clipboard
open override fun locate(p0: Int, p1: Int): Component
Link copied to clipboard
open fun location(): Point
Link copied to clipboard
open fun lostFocus(p0: Event, p1: Any): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun minimumSize(): Dimension
Link copied to clipboard
open fun modelToView(p0: Int): Rectangle
Link copied to clipboard
Link copied to clipboard
open fun mouseDown(p0: Event, p1: Int, p2: Int): Boolean
Link copied to clipboard
open fun mouseDrag(p0: Event, p1: Int, p2: Int): Boolean
Link copied to clipboard
open fun mouseEnter(p0: Event, p1: Int, p2: Int): Boolean
Link copied to clipboard
open fun mouseExit(p0: Event, p1: Int, p2: Int): Boolean
Link copied to clipboard
open fun mouseMove(p0: Event, p1: Int, p2: Int): Boolean
Link copied to clipboard
open fun mouseUp(p0: Event, p1: Int, p2: Int): Boolean
Link copied to clipboard
open fun move(p0: Int, p1: Int)
Link copied to clipboard
open fun moveCaretPosition(p0: Int)
Link copied to clipboard
open fun nextFocus()
Link copied to clipboard
open override fun paint(p0: Graphics)
Link copied to clipboard
open fun paintAll(p0: Graphics)
Link copied to clipboard
Link copied to clipboard
open fun paintImmediately(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
open fun paste()
Link copied to clipboard
open override fun postEvent(p0: Event): Boolean
Link copied to clipboard
open override fun preferredSize(): Dimension
Link copied to clipboard
open fun prepareImage(p0: Image, p1: Int, p2: Int, p3: ImageObserver): Boolean
Link copied to clipboard
open override fun print(p0: Graphics)
open fun print(): Boolean
Link copied to clipboard
open override fun printAll(p0: Graphics)
Link copied to clipboard
Link copied to clipboard
fun putClientProperty(p0: Any, p1: Any)
Link copied to clipboard
open fun read(p0: InputStream, p1: Any)
open fun read(p0: Reader, p1: Any)
Link copied to clipboard
Link copied to clipboard
open override fun remove(p0: MenuComponent)
open fun remove(p0: Component)
open fun remove(p0: Int)
Link copied to clipboard
open fun removeAll()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun removeNotify()
Link copied to clipboard
open fun removeStyle(p0: String)
Link copied to clipboard
open fun repaint()
open fun repaint(p0: Long)
open fun repaint(p0: Int, p1: Int, p2: Int, p3: Int)
open fun repaint(p0: Rectangle)
open override fun repaint(p0: Long, p1: Int, p2: Int, p3: Int, p4: Int)
Link copied to clipboard
open override fun replaceSelection(p0: String)
Link copied to clipboard
Link copied to clipboard
open override fun requestFocus()
open override fun requestFocus(p0: Boolean): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun reshape(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
open fun resize(p0: Dimension)
open fun resize(p0: Int, p1: Int)
Link copied to clipboard
open override fun revalidate()
Link copied to clipboard

Either places the given component inside a JScrollPane or answers the JScrollPane that it's already inside.

Link copied to clipboard
Link copied to clipboard
fun JTextPane.scrollTextWithLineNumbers(workbench: AvailWorkbench, guideLines: List<Int> = listOf(80)): JLayer<JScrollPane>

Create or look up the JLayer that contains a JScrollPane holding the receiver JTextPane plus a CodeOverlay that manages line numbers as row headers, line guides, and whatever else a CodeOverlay presents.

Link copied to clipboard
Link copied to clipboard
open fun select(p0: Int, p1: Int)
Link copied to clipboard
open fun selectAll()
Link copied to clipboard
open fun setBounds(p0: Rectangle)
open fun setBounds(p0: Int, p1: Int, p2: Int, p3: Int)
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false, description = "the caret position")
open fun setCaretPosition(p0: Int)
Link copied to clipboard
Link copied to clipboard
@BeanProperty(preferred = true, description = "Popup to show")
open fun setComponentPopupMenu(p0: JPopupMenu)
Link copied to clipboard
open fun setComponentZOrder(p0: Component, p1: Int)
Link copied to clipboard
@BeanProperty(bound = false, description = "the type of content")
fun setContentType(p0: String)
Link copied to clipboard
@BeanProperty(bound = false, preferred = true, enumerationValues = ["DebugGraphics.NONE_OPTION", "DebugGraphics.LOG_OPTION", "DebugGraphics.FLASH_OPTION", "DebugGraphics.BUFFERED_OPTION"], description = "Diagnostic options for graphics operations.")
open fun setDebugGraphicsOptions(p0: Int)
Link copied to clipboard
open override fun setDocument(p0: Document)
Link copied to clipboard
Link copied to clipboard
override fun setEditorKit(p0: EditorKit)
Link copied to clipboard
Link copied to clipboard
open override fun setFocusTraversalKeys(p0: Int, p1: MutableSet<out AWTKeyStroke>)
Link copied to clipboard
@BeanProperty(description = "Whether or not the JPopupMenu is inherited")
open fun setInheritsPopupMenu(p0: Boolean)
Link copied to clipboard
fun setInputMap(p0: Int, p1: InputMap)
Link copied to clipboard
open fun setLayout(p0: LayoutManager)
Link copied to clipboard
open fun setLocation(p0: Point)
open fun setLocation(p0: Int, p1: Int)
Link copied to clipboard
open fun setLogicalStyle(p0: Style)
Link copied to clipboard
@BeanProperty(description = "The maximum size of the component.")
open override fun setMaximumSize(p0: Dimension)
Link copied to clipboard
@BeanProperty(description = "The minimum size of the component.")
open override fun setMinimumSize(p0: Dimension)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@BeanProperty(expert = true, description = "The component's opacity")
open fun setOpaque(p0: Boolean)
Link copied to clipboard
@BeanProperty(expert = true, description = "the URL used to set content")
open fun setPage(p0: URL)
open fun setPage(p0: String)
Link copied to clipboard
Link copied to clipboard
@BeanProperty(preferred = true, description = "The preferred size of the component.")
open override fun setPreferredSize(p0: Dimension)
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false, description = "ending location of the selection.")
open fun setSelectionEnd(p0: Int)
Link copied to clipboard
@BeanProperty(bound = false, description = "starting location of the selection.")
open fun setSelectionStart(p0: Int)
Link copied to clipboard
open fun setSize(p0: Dimension)
open fun setSize(p0: Int, p1: Int)
Link copied to clipboard
Link copied to clipboard
@BeanProperty(bound = false, description = "the text of this component")
open override fun setText(p0: String)
Link copied to clipboard
@BeanProperty(bound = false, preferred = true, description = "The text to display in a tool tip.")
open fun setToolTipText(p0: String)
Link copied to clipboard
@BeanProperty(hidden = true, description = "Mechanism for transfer of data to and from the component")
open fun setTransferHandler(p0: TransferHandler)
Link copied to clipboard
open fun setUI(p0: TextUI)
Link copied to clipboard
open fun show()
open fun show(p0: Boolean)
Link copied to clipboard
fun JTextComponent.showTextRange(rangeStart: Int, rangeEnd: Int)

Scroll the given JTextPane to ensure the given text range is visible, and preferably not jammed against the top or bottom border.

Link copied to clipboard
open fun size(): Dimension
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open fun transferFocus()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun update(p0: Graphics)
Link copied to clipboard
open override fun updateUI()
Link copied to clipboard
open override fun validate()
Link copied to clipboard
open fun viewToModel(p0: Point): Int
Link copied to clipboard
open fun viewToModel2D(p0: Point2D): Int
Link copied to clipboard
open fun write(p0: Writer)