Class SimpleEditor

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  SimpleEditor.AggregatedEventStream
      A stream which collects text changes and waits for the specified time interval before emitting the changes.
      static class  SimpleEditor.HighlightEntry
      Represents a highlight entry used to set corresponding styles.
      static class  SimpleEditor.NavigationEntry  
      static class  SimpleEditor.PosToHighlightMapBuilder
      Used for building position-to-highlight maps, which are used to apply highlights.
      • 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 
      Modifier and Type Field Description
      protected static double DEFAULT_AGGREGATED_CHANGE_MILLIS
      The default maximum duration (in milliseconds) to wait for any new text changes before forcing the propagation of the currently aggregated text changes, if any.
      protected static double DEFAULT_PREVENT_MERGE_MILLIS
      The default maximum duration (in milliseconds) after which undoable edit should be completed if there is no user input.
      protected static double VISIBLE_PARAGRAPH_RANGE_UPDATE_DELAY
      Used to delay the update of the visible paragraph range, so that updates will not be made more often than 25 times per second.
      • 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
      SimpleEditor()  
      SimpleEditor​(double pPreventUndoMergeMillis)  
      SimpleEditor​(double pPreventUndoMergeMillis, double pAggreagatedChangeMillis)  
      SimpleEditor​(double pPreventUndoMergeMillis, double pAggregatedChangeMillis, javafx.beans.value.ObservableValue<Boolean> pSuppressAggregatedStream)  
      SimpleEditor​(javafx.beans.value.ObservableValue<Boolean> pSuppressAggregatedStream)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static org.javatuples.Triplet<Integer,​Integer,​Integer> aggregate​(List<org.fxmisc.richtext.model.PlainTextChange> pChanges)
      Triplet: offset, old length, new length.
      SimpleEditor.AggregatedEventStream aggregatedMultiChanges()
      Text changes are propagated not on every keystroke, but only if the user stops typing for a specified time interval, or the editor looses the focus.
      org.reactfx.EventStream<org.fxmisc.richtext.model.PlainTextChange> aggregatedPlainChanges()
      A stream, on top of stream, which merges multi-changes into a single change.
      protected void applyChange​(org.fxmisc.richtext.model.PlainTextChange pChange)  
      void applyFoundHighlighting​(NavigableMap<Integer,​Integer> pHighlightMap)  
      void applyHighlighting​(NavigableMap<Integer,​SimpleEditor.HighlightEntry> pPosToHighlightMap)
      Note that highlight entries should not be disjoint.
      void clearFoundHighlighting()  
      void clearRedoHistory()  
      void clearStyles​(int pStart, int pEnd, Collection<String> pStyles)
      Remove specified styles from range.
      javafx.beans.property.ReadOnlyBooleanProperty ctrlDownProperty()  
      protected void edit​(Runnable pEditOp)
      Performs the specified edit operation, then selects the affected range and scroll, if needed, so that caret is visible.
      protected void edit​(Runnable pEditOp, boolean pSelect)
      Performs the specified edit operation and scroll, if needed, so that caret is visible.
      protected void edit​(Runnable pEditOp, Consumer<javafx.scene.control.IndexRange> pRangeConsumer)  
      void ensureVisible​(int pStart, int pEnd)  
      void ensureVisible​(Map.Entry<Integer,​Integer> pRange)  
      com.iamsoft.util.collections.model.DelegatingNavigableMapModel<Integer,​Integer> getFoundRangeMap()  
      int getParagraphByOffset​(int pCharOffset)  
      javafx.scene.control.IndexRange getSafeVisibleParagraphRange()
      Sometimes the visible paragraph range may not be calculated on time and may include non-existing lines.
      javafx.scene.control.IndexRange getVisibleParagraphRange()  
      static boolean isEmptyChange​(List<org.fxmisc.richtext.model.PlainTextChange> pChanges)  
      boolean isTyping()  
      protected void logSpans​(int pStart, org.fxmisc.richtext.model.StyleSpans<? extends Collection<?>> pSpans)  
      javafx.beans.value.ObservableValue<Integer> mouseOverTextProperty()  
      void overlayHighlighting​(NavigableMap<Integer,​SimpleEditor.HighlightEntry> pHighlightMap)  
      void overlayHighlighting​(NavigableMap<Integer,​SimpleEditor.HighlightEntry> pHighlightMap, int pFromPos, int pToPos)
      Note that highlight entries should not be disjoint.
      protected void revertChange​(org.fxmisc.richtext.model.PlainTextChange pChange)  
      void selectAndScrollTo​(Map.Entry<Integer,​Integer> pRange)  
      void setCtrlClickNavigation​(NavigableMap<Integer,​SimpleEditor.NavigationEntry> pNavMap, Collection<String> pLinkStyles)  
      javafx.beans.property.BooleanProperty typingProperty()  
      void updateFindHighlighting​(NavigableMap<Integer,​Integer> pFoundRangeMap)  
      protected void updateVisibleParagraphRange()  
      javafx.beans.property.ObjectProperty<javafx.scene.control.IndexRange> visibleParagraphRange()  
      • 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, 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, 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 interface org.fxmisc.richtext.ClipboardActions

        copy, cut, paste
      • 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, redo, redoAvailableProperty, undo, 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
    • Field Detail

      • DEFAULT_PREVENT_MERGE_MILLIS

        protected static final double DEFAULT_PREVENT_MERGE_MILLIS
        The default maximum duration (in milliseconds) after which undoable edit should be completed if there is no user input.
        See Also:
        Constant Field Values
      • DEFAULT_AGGREGATED_CHANGE_MILLIS

        protected static final double DEFAULT_AGGREGATED_CHANGE_MILLIS
        The default maximum duration (in milliseconds) to wait for any new text changes before forcing the propagation of the currently aggregated text changes, if any.
        See Also:
        Constant Field Values
      • VISIBLE_PARAGRAPH_RANGE_UPDATE_DELAY

        protected static final double VISIBLE_PARAGRAPH_RANGE_UPDATE_DELAY
        Used to delay the update of the visible paragraph range, so that updates will not be made more often than 25 times per second.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SimpleEditor

        public SimpleEditor()
      • SimpleEditor

        public SimpleEditor​(double pPreventUndoMergeMillis)
      • SimpleEditor

        public SimpleEditor​(double pPreventUndoMergeMillis,
                            double pAggreagatedChangeMillis)
      • SimpleEditor

        public SimpleEditor​(javafx.beans.value.ObservableValue<Boolean> pSuppressAggregatedStream)
      • SimpleEditor

        public SimpleEditor​(double pPreventUndoMergeMillis,
                            double pAggregatedChangeMillis,
                            javafx.beans.value.ObservableValue<Boolean> pSuppressAggregatedStream)
        Parameters:
        pPreventUndoMergeMillis - Specifies the time interval (in milliseconds) after which undoable edit should be completed if there is no user input.
        pAggregatedChangeMillis - Specifies the maximum duration (in milliseconds) to wait for any new text changes before forcing the propagation of the currently aggregated text changes, if any.
        pSuppressAggregatedStream - Used to suppress the aggregated stream. Note that all pending changes are emitted when the stream is suppressed.
    • Method Detail

      • visibleParagraphRange

        public javafx.beans.property.ObjectProperty<javafx.scene.control.IndexRange> visibleParagraphRange()
      • getVisibleParagraphRange

        public javafx.scene.control.IndexRange getVisibleParagraphRange()
      • typingProperty

        public javafx.beans.property.BooleanProperty typingProperty()
      • isTyping

        public boolean isTyping()
      • mouseOverTextProperty

        public javafx.beans.value.ObservableValue<Integer> mouseOverTextProperty()
      • ctrlDownProperty

        public javafx.beans.property.ReadOnlyBooleanProperty ctrlDownProperty()
      • getFoundRangeMap

        public com.iamsoft.util.collections.model.DelegatingNavigableMapModel<Integer,​Integer> getFoundRangeMap()
      • updateVisibleParagraphRange

        protected void updateVisibleParagraphRange()
      • getSafeVisibleParagraphRange

        public javafx.scene.control.IndexRange getSafeVisibleParagraphRange()
        Sometimes the visible paragraph range may not be calculated on time and may include non-existing lines. In such cases this method can be used to get a valid paragraph range - one that doesn't include non-existing lines.
        Returns:
        index range
      • aggregatedMultiChanges

        public SimpleEditor.AggregatedEventStream aggregatedMultiChanges()
        Text changes are propagated not on every keystroke, but only if the user stops typing for a specified time interval, or the editor looses the focus.
        Returns:
        event stream
      • aggregatedPlainChanges

        public org.reactfx.EventStream<org.fxmisc.richtext.model.PlainTextChange> aggregatedPlainChanges()
        A stream, on top of stream, which merges multi-changes into a single change. The stream also meets the following requirement - if a new change is emitted, applying the change to the text that was in the editor prior that change, is equal to the current text in the editor.
        Returns:
        event stream
        See Also:
        aggregatedMultiChanges()
      • clearStyles

        public void clearStyles​(int pStart,
                                int pEnd,
                                Collection<String> pStyles)
        Remove specified styles from range.
      • clearFoundHighlighting

        public void clearFoundHighlighting()
      • applyChange

        protected void applyChange​(org.fxmisc.richtext.model.PlainTextChange pChange)
      • revertChange

        protected void revertChange​(org.fxmisc.richtext.model.PlainTextChange pChange)
      • clearRedoHistory

        public void clearRedoHistory()
      • edit

        protected void edit​(Runnable pEditOp)
        Performs the specified edit operation, then selects the affected range and scroll, if needed, so that caret is visible.
        Parameters:
        pEditOp - edit operation
      • edit

        protected void edit​(Runnable pEditOp,
                            boolean pSelect)
        Performs the specified edit operation and scroll, if needed, so that caret is visible.
        Parameters:
        pEditOp - edit operation
        pSelect - If true, the the affected range is selected.
      • edit

        protected void edit​(Runnable pEditOp,
                            Consumer<javafx.scene.control.IndexRange> pRangeConsumer)
        Parameters:
        pEditOp - An edit operation to be performed.
        pRangeConsumer - A range consumer, which will be notified about the affected range.
      • logSpans

        protected void logSpans​(int pStart,
                                org.fxmisc.richtext.model.StyleSpans<? extends Collection<?>> pSpans)
      • getParagraphByOffset

        public int getParagraphByOffset​(int pCharOffset)
      • ensureVisible

        public void ensureVisible​(int pStart,
                                  int pEnd)
      • aggregate

        public static org.javatuples.Triplet<Integer,​Integer,​Integer> aggregate​(List<org.fxmisc.richtext.model.PlainTextChange> pChanges)
        Triplet: offset, old length, new length.
      • isEmptyChange

        public static boolean isEmptyChange​(List<org.fxmisc.richtext.model.PlainTextChange> pChanges)