Class DocumentCodeArea<D>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
org.fxmisc.richtext.GenericStyledArea<PS,String,S>
org.fxmisc.richtext.StyledTextArea<Collection<String>,Collection<String>>
org.fxmisc.richtext.StyleClassedTextArea
org.fxmisc.richtext.CodeArea
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, org.fxmisc.flowless.Virtualized, org.fxmisc.richtext.ClipboardActions<Collection<String>,String,Collection<String>>, org.fxmisc.richtext.EditActions<Collection<String>,String,Collection<String>>, org.fxmisc.richtext.model.TwoDimensional, org.fxmisc.richtext.NavigationActions<Collection<String>,String,Collection<String>>, org.fxmisc.richtext.StyleActions<Collection<String>,Collection<String>>, org.fxmisc.richtext.TextEditingArea<Collection<String>,String,Collection<String>>, org.fxmisc.richtext.UndoActions, org.fxmisc.richtext.ViewActions<Collection<String>,String,Collection<String>>
Direct Known Subclasses:
JsonCodeArea, XmlCodeArea

public abstract class DocumentCodeArea<D> extends SimpleCodeArea
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.ReadOnlyObjectProperty<D>
    All operations on document should be synchronized using this editor as monitor object.

    Properties inherited from class com.iamsoft.util.ui.javafx.codearea.SimpleCodeArea

    emptySelection

    Properties inherited from class com.iamsoft.util.ui.javafx.codearea.SimpleEditor

    ctrlDown, mouseOverText, typing

    Properties inherited from class org.fxmisc.richtext.GenericStyledArea

    autoHeight, autoScrollOnDragDesired, beingUpdated, contextMenuObject, contextMenuXOffset, contextMenuYOffset, editable, estimatedScrollX, estimatedScrollY, length, mouseOverTextDelay, onInsideSelectionMousePressReleased, onNewSelectionDragFinished, onNewSelectionDrag, onOutsideSelectionMousePressed, onSelectionDrag, onSelectionDropped, paragraphGraphicFactory, placeholder, text, totalHeightEstimate, totalWidthEstimate, useInitialStyleForInsertion, wrapText

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible

    Properties inherited from interface org.fxmisc.richtext.TextEditingArea

    anchor, caretBounds, caretColumn, caretPosition, currentParagraph, selectedText, selectionBounds, selection, showCaret

    Properties inherited from interface org.fxmisc.richtext.UndoActions

    redoAvailable, undoAvailable
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.iamsoft.util.ui.javafx.codearea.SimpleEditor

    SimpleEditor.AggregatedEventStream, SimpleEditor.HighlightEntry, SimpleEditor.NavigationEntry, SimpleEditor.PosToHighlightMapBuilder

    Nested classes/interfaces inherited from interface org.fxmisc.richtext.NavigationActions

    org.fxmisc.richtext.NavigationActions.SelectionPolicy

    Nested classes/interfaces inherited from interface org.fxmisc.richtext.model.TwoDimensional

    org.fxmisc.richtext.model.TwoDimensional.Bias, org.fxmisc.richtext.model.TwoDimensional.Position
  • Field Summary

    Fields inherited from class org.fxmisc.richtext.CodeArea

    WORD_OR_SYMBOL, WORD_PATTERN

    Fields inherited from class org.fxmisc.richtext.GenericStyledArea

    EMPTY_RANGE, foldCheck

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    javafx.beans.property.ReadOnlyObjectProperty<D>
    All operations on document should be synchronized using this editor as monitor object.
     
    Single thread executor for background tasks.
     
    protected String
    getText(D pDoc)
    Invoked on a background thread.
    void
    ifDocumentReady(Consumer<D> pOperation)
    The specified operation is performed If the document for the current editor text is created (i.e.
    protected D
    Invoked on a background thread.
    protected void
    Invoked after the XML content is highlighted to re-apply additional highlighting, which might be overridden.
    void
    setDoc(D pDoc)
     
    protected void
     
    protected abstract void
     
    void
    If the document for the current editor text is created, the specified operation is performed immediately.

    Methods inherited from class org.fxmisc.richtext.CodeArea

    selectWord, wordBreaksBackwards, wordBreaksForwards

    Methods inherited from class org.fxmisc.richtext.StyleClassedTextArea

    append, foldParagraphs, foldSelectedParagraphs, foldText, getAddFoldStyle, getFoldStyleCheck, getRemoveFoldStyle, insert, replace, setStyleClass, unfoldParagraphs, unfoldText

    Methods inherited from class org.fxmisc.richtext.StyledTextArea

    createStyledTextNode, createStyledTextNode

    Methods inherited from class org.fxmisc.richtext.GenericStyledArea

    addCaret, addSelection, allParToVisibleParIndex, autoHeightProperty, autoScrollOnDragDesiredProperty, beingUpdatedProperty, computePrefHeight, configurePlaceholder, contextMenuObjectProperty, contextMenuXOffsetProperty, contextMenuYOffsetProperty, createMultiChange, createMultiChange, displaceCaret, dispose, editableProperty, estimatedScrollXProperty, estimatedScrollYProperty, fold, foldParagraphs, foldSelectedParagraphs, getAbsolutePosition, getApplyParagraphStyle, getCaretBoundsOnScreen, getCaretSelectionBind, getCharacterBoundsOnScreen, getClassCssMetaData, getContent, getContextMenu, getContextMenuXOffset, getContextMenuYOffset, getCssMetaData, getCurrentLineEndInParargraph, getCurrentLineStartInParargraph, getDocument, getInitialParagraphStyle, getInitialTextStyle, getLocale, getOnInsideSelectionMousePressReleased, getOnNewSelectionDragFinished, getOnOutsideSelectionMousePressed, getOnSelectionDropped, getParagraphBoundsOnScreen, getParagraphGraphic, getParagraphInsertionStyle, getParagraphLinesCount, getParagraphs, getParagraphSelection, getParagraphStyleForInsertionAt, getPlaceholder, getSegOps, getStyleAtPosition, getStyleAtPosition, getStyleCodecs, getStyleOfChar, getStyleOfChar, getStyleRangeAtPosition, getStyleRangeAtPosition, getStyleSpans, getStyleSpans, getStyleSpans, getText, getText, getText, getTextInsertionStyle, getTextStyleForInsertionAt, getUndoManager, getViewportHeight, getVisibleParagraphBoundsOnScreen, getVisibleParagraphs, handleInputMethodEvent, hit, isAutoHeight, isAutoScrollOnDragDesired, isContextMenuPresent, isEditable, isLineHighlighterOn, isPreserveStyle, isWrapText, layoutChildren, lengthProperty, lineEnd, lineIndex, lineStart, mouseOverTextDelayProperty, multiPlainChanges, multiRichChanges, nextLine, nextPage, offsetToPosition, onInsideSelectionMousePressReleasedProperty, onNewSelectionDragFinishedProperty, onNewSelectionDragProperty, onOutsideSelectionMousePressedProperty, onSelectionDragProperty, onSelectionDroppedProperty, paragraphGraphicFactoryProperty, placeholderProperty, plainTextChanges, position, prevLine, prevPage, recreateParagraphGraphic, removeCaret, removeSelection, replace, replace, replaceText, requestFollowCaret, richChanges, scrollBy, scrollXBy, scrollXToPixel, scrollYBy, scrollYToPixel, setAutoHeight, setAutoScrollOnDragDesired, setContextMenu, setContextMenuXOffset, setContextMenuYOffset, setEditable, setLineHighlighterFill, setLineHighlighterOn, setLocale, setOnInsideSelectionMousePressReleased, setOnNewSelectionDragFinished, setOnOutsideSelectionMousePressed, setOnSelectionDropped, setParagraphInsertionStyle, setParagraphStyle, setPlaceholder, setPlaceholder, setStyle, setStyle, setStyle, setStyleCodecs, setStyleSpans, setStyleSpans, setTextInsertionStyle, setUndoManager, setWrapText, showParagraphAtBottom, showParagraphAtCenter, showParagraphAtTop, showParagraphInViewport, showParagraphRegion, subDocument, subDocument, textProperty, totalHeightEstimateProperty, totalWidthEstimateProperty, unfoldParagraphs, useInitialStyleForInsertionProperty, viewportDirtyEvents, visibleParToAllParIndex, wrapTextProperty

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from class javafx.scene.Node

    accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.fxmisc.richtext.ClipboardActions

    copy

    Methods inherited from interface org.fxmisc.richtext.EditActions

    append, append, appendText, clear, deleteNextChar, deletePreviousChar, deleteText, deleteText, deleteText, insert, insert, insert, insertText, insertText, moveSelectedText, replace, replaceSelection, replaceSelection, replaceText

    Methods inherited from interface org.fxmisc.richtext.NavigationActions

    deselect, end, moveTo, moveTo, moveTo, moveTo, nextChar, paragraphEnd, paragraphStart, previousChar, selectAll, selectParagraph, start

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode

    Methods inherited from interface org.fxmisc.richtext.StyleActions

    clearParagraphStyle, clearStyle, clearStyle, clearStyle, getStyleSpans, getStyleSpans, getUseInitialStyleForInsertion, setUseInitialStyleForInsertion

    Methods inherited from interface org.fxmisc.richtext.TextEditingArea

    anchorProperty, caretBoundsProperty, caretColumnProperty, caretPositionProperty, currentParagraphProperty, getAnchor, getCaretBounds, getCaretColumn, getCaretPosition, getCurrentParagraph, getLength, getParagraph, getParagraphLength, getParagraphSelection, getSelectedText, getSelection, getSelectionBounds, getShowCaret, getText, getText, isBeingUpdated, replace, replace, replace, replace, replaceText, replaceText, selectedTextProperty, selectionBoundsProperty, selectionProperty, selectRange, selectRange, setShowCaret, showCaretProperty, subDocument, subDocument

    Methods inherited from interface org.fxmisc.richtext.UndoActions

    isRedoAvailable, isUndoAvailable, redoAvailableProperty, undoAvailableProperty

    Methods inherited from interface org.fxmisc.richtext.ViewActions

    firstVisibleParToAllParIndex, getMouseOverTextDelay, getOnNewSelectionDrag, getOnSelectionDrag, getParagraphGraphicFactory, hideContextMenu, lastVisibleParToAllParIndex, selectLine, setMouseOverTextDelay, setOnNewSelectionDrag, setOnSelectionDrag, setParagraphGraphicFactory

    Methods inherited from interface org.fxmisc.flowless.Virtualized

    getEstimatedScrollX, getEstimatedScrollY, getTotalHeightEstimate, getTotalWidthEstimate, scrollBy, scrollToPixel, scrollToPixel
  • Property Details

    • document

      public javafx.beans.property.ReadOnlyObjectProperty<D> documentProperty
      All operations on document should be synchronized using this editor as monitor object. This is needed, because document might not be thread safe and is created on a background thread.
  • Constructor Details

    • DocumentCodeArea

      public DocumentCodeArea()
  • Method Details

    • documentProperty

      public javafx.beans.property.ReadOnlyObjectProperty<D> documentProperty()
      All operations on document should be synchronized using this editor as monitor object. This is needed, because document might not be thread safe and is created on a background thread.
    • getDoc

      public D getDoc()
    • getPendingTasksMonitor

      public final PendingTasksMonitor getPendingTasksMonitor()
    • getExecutor

      public ExecutorService getExecutor()
      Single thread executor for background tasks.
    • setDoc

      public void setDoc(D pDoc)
    • updateDocument

      protected void updateDocument()
    • cancelDocumentLoading

      protected void cancelDocumentLoading()
    • getText

      protected String getText(D pDoc)
      Invoked on a background thread.
    • parseText

      protected D parseText(String pText) throws Exception
      Invoked on a background thread.
      Throws:
      Exception
    • updateHighlighting

      protected abstract void updateHighlighting(D pDoc)
    • rehighlight

      protected void rehighlight()
      Invoked after the XML content is highlighted to re-apply additional highlighting, which might be overridden.
    • ifDocumentReady

      public void ifDocumentReady(Consumer<D> pOperation)
      The specified operation is performed If the document for the current editor text is created (i.e. if the parsing of the document is finished). The specified operation is performed on the JavaFX thread.
    • whenDocumentReady

      public void whenDocumentReady(Consumer<D> pOperation)
      If the document for the current editor text is created, the specified operation is performed immediately. If the document is currently being parsed, the specified operation is performed when the parsing is finished. The specified operation is not performed if the editor's text is changed during parsing or if the parsing fails. The specified operation is performed on the JavaFX thread.