Class NodeEditionCodeArea
- 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
-
- net.sourceforge.pmd.util.fxdesigner.util.codearea.SyntaxHighlightingCodeArea
-
- net.sourceforge.pmd.util.fxdesigner.util.codearea.HighlightLayerCodeArea<net.sourceforge.pmd.util.fxdesigner.util.controls.NodeEditionCodeArea.StyleLayerIds>
-
- net.sourceforge.pmd.util.fxdesigner.util.controls.NodeEditionCodeArea
-
- All Implemented Interfaces:
javafx.css.Styleable
,javafx.event.EventTarget
,ApplicationComponent
,NodeSelectionSource
,RichTextMapper
,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>>
public class NodeEditionCodeArea extends HighlightLayerCodeArea<net.sourceforge.pmd.util.fxdesigner.util.controls.NodeEditionCodeArea.StyleLayerIds> implements NodeSelectionSource, RichTextMapper
A layered code area made to display nodes. Handles the presentation of nodes in place ofSourceEditorController
.This type of area has a special "node selection mode", in which you can select any node by hovering the mouse above its text.
- Since:
- 6.12.0
- Author:
- Clément Fournier
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sourceforge.pmd.util.fxdesigner.util.codearea.HighlightLayerCodeArea
HighlightLayerCodeArea.LayerId
-
Nested classes/interfaces inherited from interface org.fxmisc.richtext.NavigationActions
org.fxmisc.richtext.NavigationActions.SelectionPolicy
-
Nested classes/interfaces inherited from interface net.sourceforge.pmd.util.fxdesigner.app.NodeSelectionSource
NodeSelectionSource.NodeSelectionEvent
-
-
Field Summary
-
Fields inherited from class net.sourceforge.pmd.util.fxdesigner.util.codearea.SyntaxHighlightingCodeArea
syntaxHighlight
-
Fields inherited from interface net.sourceforge.pmd.util.fxdesigner.app.NodeSelectionSource
CARET_POSITION, SELECTION_RECOVERY
-
-
Constructor Summary
Constructors Constructor Description NodeEditionCodeArea()
Only provided for scenebuilder, not used at runtime.NodeEditionCodeArea(DesignerRoot root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NonNull javafx.scene.control.Label
buildExpectedLabel(IntFunction<org.reactfx.value.Val<Integer>> numViolationsPerLine, int idx)
org.reactfx.value.Var<List<net.sourceforge.pmd.lang.ast.Node>>
currentErrorNodesProperty()
org.reactfx.value.Var<List<net.sourceforge.pmd.lang.ast.Node>>
currentRelatedNodesProperty()
org.reactfx.value.Var<List<net.sourceforge.pmd.lang.ast.Node>>
currentRuleResultsProperty()
IntFunction<javafx.scene.Node>
defaultLineNumberFactory()
DesignerRoot
getDesignerRoot()
void
moveCaret(int line, int column)
Moves the caret to a position and makes the view follow it.void
setFocusNode(net.sourceforge.pmd.lang.ast.Node node, DataHolder options)
Updates the UI to react to a change in focus node.IntFunction<javafx.scene.Node>
testCaseLineNumberFactory(LiveTestCase liveTestCase)
void
updateSyntaxHighlighter(net.sourceforge.pmd.lang.Language language)
-
Methods inherited from class net.sourceforge.pmd.util.fxdesigner.util.codearea.HighlightLayerCodeArea
clearStyleLayer, clearStyleLayers, styleNodes, styleNodesUpdate, styleSyntaxHighlightChange, updateStyling
-
Methods inherited from class net.sourceforge.pmd.util.fxdesigner.util.codearea.SyntaxHighlightingCodeArea
additiveOverlay, clearSyntaxHighlighting, emptySpan, ensureSyntaxUpToDate, setStyleSpans, 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, 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 net.sourceforge.pmd.util.fxdesigner.app.ApplicationComponent
getDebugName, getLogCategory, getLogger, getMainStage, getService, globalLanguageProperty, isDeveloperMode, languageBindingsProperty, logInternalDebugInfo, logInternalDebugInfo, logInternalException, logUserException, raiseParsableSourceFlag, raiseParsableXPathFlag
-
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 net.sourceforge.pmd.util.fxdesigner.app.NodeSelectionSource
initNodeSelectionHandling
-
Methods inherited from interface net.sourceforge.pmd.util.fxdesigner.app.services.RichTextMapper
wrapNode
-
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
-
NodeEditionCodeArea
public NodeEditionCodeArea()
Only provided for scenebuilder, not used at runtime.
-
NodeEditionCodeArea
public NodeEditionCodeArea(DesignerRoot root)
-
-
Method Detail
-
defaultLineNumberFactory
public IntFunction<javafx.scene.Node> defaultLineNumberFactory()
-
testCaseLineNumberFactory
public IntFunction<javafx.scene.Node> testCaseLineNumberFactory(LiveTestCase liveTestCase)
-
buildExpectedLabel
public @NonNull javafx.scene.control.Label buildExpectedLabel(IntFunction<org.reactfx.value.Val<Integer>> numViolationsPerLine, int idx)
-
currentRuleResultsProperty
public final org.reactfx.value.Var<List<net.sourceforge.pmd.lang.ast.Node>> currentRuleResultsProperty()
-
currentErrorNodesProperty
public final org.reactfx.value.Var<List<net.sourceforge.pmd.lang.ast.Node>> currentErrorNodesProperty()
-
currentRelatedNodesProperty
public org.reactfx.value.Var<List<net.sourceforge.pmd.lang.ast.Node>> currentRelatedNodesProperty()
-
moveCaret
public void moveCaret(int line, int column)
Moves the caret to a position and makes the view follow it.
-
setFocusNode
public void setFocusNode(net.sourceforge.pmd.lang.ast.Node node, DataHolder options)
Description copied from interface:NodeSelectionSource
Updates the UI to react to a change in focus node. This is called whenever some selection source in the tree records a change.- Specified by:
setFocusNode
in interfaceNodeSelectionSource
-
getDesignerRoot
public DesignerRoot getDesignerRoot()
- Specified by:
getDesignerRoot
in interfaceApplicationComponent
-
updateSyntaxHighlighter
public void updateSyntaxHighlighter(net.sourceforge.pmd.lang.Language language)
-
-