public class SimpleEditor
extends org.fxmisc.richtext.CodeArea
Modifier and Type | Class and 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.PosToHighlightMapBuilder
Used for building position-to-highlight maps, which are used to
apply highlights.
|
Modifier and Type | Field and 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.
|
Constructor and 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) |
Modifier and Type | Method and 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.
|
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) |
com.iamsoft.util.collections.model.DelegatingNavigableMapModel<Integer,Integer> |
getFoundRangeMap() |
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) |
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) |
javafx.beans.property.BooleanProperty |
typingProperty() |
void |
updateFindHighlighting(NavigableMap<Integer,Integer> pFoundRangeMap) |
protected void |
updateVisibleParagraphRange() |
javafx.beans.property.ObjectProperty<javafx.scene.control.IndexRange> |
visibleParagraphRange() |
selectWord, wordBreaksBackwards, wordBreaksForwards
append, foldParagraphs, foldSelectedParagraphs, foldText, getAddFoldStyle, getFoldStyleCheck, getRemoveFoldStyle, insert, replace, setStyleClass, unfoldParagraphs, unfoldText
createStyledTextNode, createStyledTextNode
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
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, impl_computeContains, impl_computeGeomBounds, impl_computeLayoutBounds, impl_createPeer, impl_notifyLayoutBoundsChanged, impl_pickNodeLocal, impl_updatePeer, 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, snapSize, snapSpace, snapToPixelProperty, widthProperty
getBaselineOffset, getChildren, getChildrenUnmodifiable, getImpl_traversalEngine, getManagedChildren, getStylesheets, impl_getAllParentStylesheets, impl_processCSS, impl_processMXNode, impl_traversalEngineProperty, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setImpl_traversalEngine, setNeedsLayout, updateBounds
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, containsBounds, 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, 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, hasProperties, hoverProperty, idProperty, impl_clearDirty, impl_computeIntersects, impl_cssGetCursorInitialValue, impl_cssGetFocusTraversableInitialValue, impl_findStyles, impl_geomChanged, impl_getLeafTransform, impl_getMatchingStyles, impl_getPeer, impl_getPivotX, impl_getPivotY, impl_getPivotZ, impl_getStyleMap, impl_hasTransforms, impl_intersects, impl_intersectsBounds, impl_isDirty, impl_isDirtyEmpty, impl_isShowMnemonics, impl_isTreeVisible, impl_layoutBoundsChanged, impl_markDirty, impl_pickNode, impl_processCSS, impl_reapplyCSS, impl_setShowMnemonics, impl_setStyleMap, impl_showMnemonicsProperty, impl_syncPeer, impl_transformsChanged, impl_traverse, impl_treeVisibleProperty, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
append, append, appendText, clear, deleteNextChar, deletePreviousChar, deleteText, deleteText, deleteText, insert, insert, insert, insertText, insertText, moveSelectedText, replace, replaceSelection, replaceSelection, replaceText
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
deselect, end, moveTo, moveTo, moveTo, moveTo, nextChar, paragraphEnd, paragraphStart, previousChar, selectAll, selectParagraph, start
clearParagraphStyle, clearStyle, clearStyle, clearStyle, getStyleSpans, getStyleSpans, getUseInitialStyleForInsertion, setUseInitialStyleForInsertion
isRedoAvailable, isUndoAvailable, redo, redoAvailableProperty, undo, undoAvailableProperty
firstVisibleParToAllParIndex, getMouseOverTextDelay, getOnNewSelectionDrag, getOnSelectionDrag, getParagraphGraphicFactory, hideContextMenu, lastVisibleParToAllParIndex, selectLine, setMouseOverTextDelay, setOnNewSelectionDrag, setOnSelectionDrag, setParagraphGraphicFactory
protected static final double DEFAULT_PREVENT_MERGE_MILLIS
protected static final double DEFAULT_AGGREGATED_CHANGE_MILLIS
protected static final double VISIBLE_PARAGRAPH_RANGE_UPDATE_DELAY
public SimpleEditor()
public SimpleEditor(double pPreventUndoMergeMillis)
public SimpleEditor(double pPreventUndoMergeMillis, double pAggreagatedChangeMillis)
public SimpleEditor(javafx.beans.value.ObservableValue<Boolean> pSuppressAggregatedStream)
public SimpleEditor(double pPreventUndoMergeMillis, double pAggregatedChangeMillis, javafx.beans.value.ObservableValue<Boolean> pSuppressAggregatedStream)
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.public javafx.beans.property.ObjectProperty<javafx.scene.control.IndexRange> visibleParagraphRange()
public javafx.scene.control.IndexRange getVisibleParagraphRange()
public javafx.beans.property.BooleanProperty typingProperty()
public boolean isTyping()
public com.iamsoft.util.collections.model.DelegatingNavigableMapModel<Integer,Integer> getFoundRangeMap()
protected void updateVisibleParagraphRange()
public javafx.scene.control.IndexRange getSafeVisibleParagraphRange()
public SimpleEditor.AggregatedEventStream aggregatedMultiChanges()
public org.reactfx.EventStream<org.fxmisc.richtext.model.PlainTextChange> aggregatedPlainChanges()
aggregatedMultiChanges()
public void clearStyles(int pStart, int pEnd, Collection<String> pStyles)
public void updateFindHighlighting(NavigableMap<Integer,Integer> pFoundRangeMap)
public void applyFoundHighlighting(NavigableMap<Integer,Integer> pHighlightMap)
public void overlayHighlighting(NavigableMap<Integer,SimpleEditor.HighlightEntry> pHighlightMap, int pFromPos, int pToPos)
public void overlayHighlighting(NavigableMap<Integer,SimpleEditor.HighlightEntry> pHighlightMap)
public void clearFoundHighlighting()
protected void applyChange(org.fxmisc.richtext.model.PlainTextChange pChange)
protected void revertChange(org.fxmisc.richtext.model.PlainTextChange pChange)
public void applyHighlighting(NavigableMap<Integer,SimpleEditor.HighlightEntry> pPosToHighlightMap)
public void clearRedoHistory()
protected void edit(Runnable pEditOp)
pEditOp
- edit operationprotected void edit(Runnable pEditOp, boolean pSelect)
pEditOp
- edit operationpSelect
- If true
, the the affected range is selected.protected void edit(Runnable pEditOp, Consumer<javafx.scene.control.IndexRange> pRangeConsumer)
pEditOp
- An edit operation to be performed.pRangeConsumer
- A range consumer, which will be notified about the affected
range.protected void logSpans(int pStart, org.fxmisc.richtext.model.StyleSpans<? extends Collection<?>> pSpans)
public static org.javatuples.Triplet<Integer,Integer,Integer> aggregate(List<org.fxmisc.richtext.model.PlainTextChange> pChanges)
public static boolean isEmptyChange(List<org.fxmisc.richtext.model.PlainTextChange> pChanges)
Copyright © 2023. All rights reserved.