Class HighlightLayerCodeArea<K extends java.lang.Enum<K> & HighlightLayerCodeArea.LayerId>
- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- org.fxmisc.richtext.GenericStyledArea<PS,java.lang.String,S>
-
- org.fxmisc.richtext.StyledTextArea<java.util.Collection<java.lang.String>,java.util.Collection<java.lang.String>>
-
- org.fxmisc.richtext.StyleClassedTextArea
-
- org.fxmisc.richtext.CodeArea
-
- net.sourceforge.pmd.util.fxdesigner.util.codearea.SyntaxHighlightingCodeArea
-
- net.sourceforge.pmd.util.fxdesigner.util.codearea.HighlightLayerCodeArea<K>
-
- Type Parameters:
K
- Enum type listing the layer ids to use
- All Implemented Interfaces:
javafx.css.Styleable
,javafx.event.EventTarget
,org.fxmisc.flowless.Virtualized
,org.fxmisc.richtext.ClipboardActions<java.util.Collection<java.lang.String>,java.lang.String,java.util.Collection<java.lang.String>>
,org.fxmisc.richtext.EditActions<java.util.Collection<java.lang.String>,java.lang.String,java.util.Collection<java.lang.String>>
,org.fxmisc.richtext.model.TwoDimensional
,org.fxmisc.richtext.NavigationActions<java.util.Collection<java.lang.String>,java.lang.String,java.util.Collection<java.lang.String>>
,org.fxmisc.richtext.StyleActions<java.util.Collection<java.lang.String>,java.util.Collection<java.lang.String>>
,org.fxmisc.richtext.TextEditingArea<java.util.Collection<java.lang.String>,java.lang.String,java.util.Collection<java.lang.String>>
,org.fxmisc.richtext.UndoActions
,org.fxmisc.richtext.ViewActions<java.util.Collection<java.lang.String>,java.lang.String,java.util.Collection<java.lang.String>>
public class HighlightLayerCodeArea<K extends java.lang.Enum<K> & HighlightLayerCodeArea.LayerId> extends SyntaxHighlightingCodeArea
Code area that can manipulate different layers of styling independently, in addition to syntax highlighting. Layers are identified by aHighlightLayerCodeArea.LayerId
, which are listed in an enum.- Since:
- 6.5.0
- Author:
- Clément Fournier
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
HighlightLayerCodeArea.LayerId
Identifier for a highlighting layer.
-
Field Summary
-
Fields inherited from class net.sourceforge.pmd.util.fxdesigner.util.codearea.SyntaxHighlightingCodeArea
syntaxHighlight
-
-
Constructor Summary
Constructors Constructor Description HighlightLayerCodeArea(java.lang.Class<K> idEnum)
Builds a new code area with the given enum type as layer id provider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearStyleLayer(K id)
Clears a style layer.void
clearStyleLayers()
Clears all style layers from their contents, including syntax highlighting.void
styleNodes(java.util.Collection<? extends net.sourceforge.pmd.lang.ast.Node> nodes, K layerId, boolean resetLayer)
Styles some nodes in a given layer and updates the visual appearance of the area.protected org.fxmisc.richtext.model.StyleSpans<java.util.Collection<java.lang.String>>
styleSyntaxHighlightChange(java.util.Optional<org.fxmisc.richtext.model.StyleSpans<java.util.Collection<java.lang.String>>> oldSyntax, org.fxmisc.richtext.model.StyleSpans<java.util.Collection<java.lang.String>> newSyntax)
Attempts to preserve the other layers when syntax highlighting changes.-
Methods inherited from class net.sourceforge.pmd.util.fxdesigner.util.codearea.SyntaxHighlightingCodeArea
additiveOverlay, clearSyntaxHighlighting, emptySpan, setSyntaxHighlighter, syntaxHighlightingEnabledProperty, updateSyntaxHighlightingSynchronously, wrapNode
-
Methods inherited from class org.fxmisc.richtext.StyledTextArea
createStyledTextNode, createStyledTextNode
-
Methods inherited from class org.fxmisc.richtext.GenericStyledArea
addCaret, addSelection, allParToVisibleParIndex, autoScrollOnDragDesiredProperty, beingUpdatedProperty, contextMenuObjectProperty, contextMenuXOffsetProperty, contextMenuYOffsetProperty, createMultiChange, createMultiChange, displaceCaret, dispose, editableProperty, estimatedScrollXProperty, estimatedScrollYProperty, getAbsolutePosition, getApplyParagraphStyle, getCaretBoundsOnScreen, getCaretSelectionBind, getCharacterBoundsOnScreen, getClassCssMetaData, getContent, getContextMenu, getContextMenuXOffset, getContextMenuYOffset, getCssMetaData, getDocument, getInitialParagraphStyle, getInitialTextStyle, getOnInsideSelectionMousePressReleased, getOnNewSelectionDragFinished, getOnOutsideSelectionMousePressed, getOnSelectionDropped, getParagraphBoundsOnScreen, getParagraphLinesCount, getParagraphs, getParagraphSelection, getParagraphStyleForInsertionAt, getSegOps, getStyleAtPosition, getStyleAtPosition, getStyleCodecs, getStyleOfChar, getStyleOfChar, getStyleRangeAtPosition, getStyleRangeAtPosition, getStyleSpans, getStyleSpans, getStyleSpans, getText, getText, getText, getTextStyleForInsertionAt, getUndoManager, getViewportHeight, getVisibleParagraphBoundsOnScreen, getVisibleParagraphs, hit, isAutoScrollOnDragDesired, isContextMenuPresent, isEditable, isPreserveStyle, isWrapText, layoutChildren, lengthProperty, lineEnd, lineIndex, lineStart, mouseOverTextDelayProperty, multiPlainChanges, multiRichChanges, nextPage, offsetToPosition, onInsideSelectionMousePressReleasedProperty, onInsideSelectionMousePressReleaseProperty, onNewSelectionDragFinishedProperty, onNewSelectionDragProperty, onOutsideSelectionMousePressedProperty, onOutsideSelectionMousePressProperty, onSelectionDragProperty, onSelectionDroppedProperty, onSelectionDropProperty, paragraphGraphicFactoryProperty, plainTextChanges, position, prevPage, removeCaret, removeSelection, replace, replace, replaceText, requestFollowCaret, richChanges, scrollBy, scrollXBy, scrollXToPixel, scrollYBy, scrollYToPixel, setAutoScrollOnDragDesired, setContextMenu, setContextMenuXOffset, setContextMenuYOffset, setEditable, setOnInsideSelectionMousePressReleased, setOnNewSelectionDragFinished, setOnOutsideSelectionMousePressed, setOnSelectionDropped, setParagraphStyle, setStyle, setStyle, setStyle, setStyleCodecs, setStyleSpans, setStyleSpans, setUndoManager, setWrapText, showParagraphAtBottom, showParagraphAtTop, showParagraphInViewport, showParagraphRegion, subDocument, subDocument, textProperty, totalHeightEstimateProperty, totalWidthEstimateProperty, useInitialStyleForInsertionProperty, viewportDirtyEvents, visibleParToAllParIndex, wrapTextProperty
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, 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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.fxmisc.richtext.EditActions
append, appendText, clear, deleteNextChar, deletePreviousChar, deleteText, deleteText, deleteText, 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, selectWord, start, wordBreaksBackwards, wordBreaksForwards
-
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, getOnInsideSelectionMousePressRelease, getOnNewSelectionDrag, getOnOutsideSelectionMousePress, getOnSelectionDrag, getOnSelectionDrop, getParagraphGraphicFactory, hideContextMenu, lastVisibleParToAllParIndex, selectLine, setMouseOverTextDelay, setOnInsideSelectionMousePressRelease, setOnNewSelectionDrag, setOnOutsideSelectionMousePress, setOnSelectionDrag, setOnSelectionDrop, setParagraphGraphicFactory
-
-
-
-
Constructor Detail
-
HighlightLayerCodeArea
public HighlightLayerCodeArea(java.lang.Class<K> idEnum)
Builds a new code area with the given enum type as layer id provider. Constants of the enum will identify layers of the code area.- Parameters:
idEnum
- Enum type
-
-
Method Detail
-
styleNodes
public void styleNodes(java.util.Collection<? extends net.sourceforge.pmd.lang.ast.Node> nodes, K layerId, boolean resetLayer)
Styles some nodes in a given layer and updates the visual appearance of the area.Each layer has its own style class, that is assigned to the nodes that belong to it.
- Parameters:
nodes
- Nodes to stylelayerId
- Id of the layer in which to save the node highlightresetLayer
- Whether to replace the contents of the layer with the styling for these nodes, or just add them.
-
clearStyleLayers
public void clearStyleLayers()
Clears all style layers from their contents, including syntax highlighting.
-
clearStyleLayer
public void clearStyleLayer(K id)
Clears a style layer.- Parameters:
id
- layer id.
-
styleSyntaxHighlightChange
protected final org.fxmisc.richtext.model.StyleSpans<java.util.Collection<java.lang.String>> styleSyntaxHighlightChange(java.util.Optional<org.fxmisc.richtext.model.StyleSpans<java.util.Collection<java.lang.String>>> oldSyntax, org.fxmisc.richtext.model.StyleSpans<java.util.Collection<java.lang.String>> newSyntax)
Attempts to preserve the other layers when syntax highlighting changes. The result misplaces some style classes, which is undesirable, but covered up by the subsequent parsing update.- Overrides:
styleSyntaxHighlightChange
in classSyntaxHighlightingCodeArea
-
-