Package org.antlr.v4.gui
Class TreeViewer
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.antlr.v4.gui.TreeViewer
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
public class TreeViewer extends javax.swing.JComponent
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TreeViewer.DefaultTreeTextProvider
static class
TreeViewer.VariableExtentProvide
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected int
arcSize
protected java.awt.Color
borderColor
protected java.awt.Color
boxColor
protected java.awt.Font
font
protected java.lang.String
fontName
protected int
fontSize
protected int
fontStyle
protected double
gapBetweenLevels
protected double
gapBetweenNodes
protected java.awt.Color
highlightedBoxColor
protected java.util.List<Tree>
highlightedNodes
static java.awt.Color
LIGHT_RED
protected int
nodeHeightPadding
protected int
nodeWidthPadding
protected double
scale
protected java.awt.Color
textColor
protected org.abego.treelayout.TreeLayout<Tree>
treeLayout
protected TreeTextProvider
treeTextProvider
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description TreeViewer(java.util.List<java.lang.String> ruleNames, Tree tree)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHighlightedNodes(java.util.Collection<Tree> nodes)
Slow for big lists of highlighted nodesprotected void
generateBox(java.io.Writer writer, Tree parent)
protected void
generateEdges(java.io.Writer writer, Tree parent)
int
getArcSize()
java.awt.Color
getBorderColor()
protected java.awt.geom.Rectangle2D.Double
getBoundsOfNode(Tree node)
java.awt.Color
getBoxColor()
protected java.awt.Graphics
getComponentGraphics(java.awt.Graphics g)
java.awt.Font
getFont()
java.awt.Color
getHighlightedBoxColor()
protected int
getHighlightedNodeIndex(Tree node)
double
getScale()
protected java.lang.String
getText(Tree tree)
java.awt.Color
getTextColor()
protected org.abego.treelayout.TreeForTreeLayout<Tree>
getTree()
org.abego.treelayout.TreeForTreeLayout<Tree>
getTreeLayoutAdaptor(Tree root)
Get an adaptor for root that indicates how to walk ANTLR trees.TreeTextProvider
getTreeTextProvider()
boolean
getUseCurvedEdges()
protected boolean
isHighlighted(Tree node)
java.util.concurrent.Future<javax.swing.JFrame>
open()
void
paint(java.awt.Graphics g)
protected void
paintBox(java.awt.Graphics g, Tree tree)
protected void
paintEdges(java.awt.Graphics g, Tree parent)
void
removeHighlightedNodes(java.util.Collection<Tree> nodes)
void
save(java.lang.String fileName)
void
setArcSize(int arcSize)
void
setBorderColor(java.awt.Color borderColor)
void
setBoxColor(java.awt.Color boxColor)
void
setFont(java.awt.Font font)
void
setFontName(java.lang.String name)
void
setFontSize(int sz)
void
setHighlightedBoxColor(java.awt.Color highlightedBoxColor)
void
setRuleNames(java.util.List<java.lang.String> ruleNames)
void
setScale(double scale)
void
setTextColor(java.awt.Color textColor)
void
setTree(Tree root)
void
setTreeTextProvider(TreeTextProvider treeTextProvider)
void
setUseCurvedEdges(boolean useCurvedEdges)
protected static javax.swing.JFrame
showInDialog(TreeViewer viewer)
void
text(java.awt.Graphics g, java.lang.String s, int x, int y)
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
LIGHT_RED
public static final java.awt.Color LIGHT_RED
-
treeTextProvider
protected TreeTextProvider treeTextProvider
-
treeLayout
protected org.abego.treelayout.TreeLayout<Tree> treeLayout
-
highlightedNodes
protected java.util.List<Tree> highlightedNodes
-
fontName
protected java.lang.String fontName
-
fontStyle
protected int fontStyle
-
fontSize
protected int fontSize
-
font
protected java.awt.Font font
-
gapBetweenLevels
protected double gapBetweenLevels
-
gapBetweenNodes
protected double gapBetweenNodes
-
nodeWidthPadding
protected int nodeWidthPadding
-
nodeHeightPadding
protected int nodeHeightPadding
-
arcSize
protected int arcSize
-
scale
protected double scale
-
boxColor
protected java.awt.Color boxColor
-
highlightedBoxColor
protected java.awt.Color highlightedBoxColor
-
borderColor
protected java.awt.Color borderColor
-
textColor
protected java.awt.Color textColor
-
-
Constructor Detail
-
TreeViewer
public TreeViewer(java.util.List<java.lang.String> ruleNames, Tree tree)
-
-
Method Detail
-
getUseCurvedEdges
public boolean getUseCurvedEdges()
-
setUseCurvedEdges
public void setUseCurvedEdges(boolean useCurvedEdges)
-
paintEdges
protected void paintEdges(java.awt.Graphics g, Tree parent)
-
paintBox
protected void paintBox(java.awt.Graphics g, Tree tree)
-
text
public void text(java.awt.Graphics g, java.lang.String s, int x, int y)
-
paint
public void paint(java.awt.Graphics g)
- Overrides:
paint
in classjavax.swing.JComponent
-
generateEdges
protected void generateEdges(java.io.Writer writer, Tree parent) throws java.io.IOException
- Throws:
java.io.IOException
-
generateBox
protected void generateBox(java.io.Writer writer, Tree parent) throws java.io.IOException
- Throws:
java.io.IOException
-
getComponentGraphics
protected java.awt.Graphics getComponentGraphics(java.awt.Graphics g)
- Overrides:
getComponentGraphics
in classjavax.swing.JComponent
-
showInDialog
protected static javax.swing.JFrame showInDialog(TreeViewer viewer)
-
open
public java.util.concurrent.Future<javax.swing.JFrame> open()
-
save
public void save(java.lang.String fileName) throws java.io.IOException, javax.print.PrintException
- Throws:
java.io.IOException
javax.print.PrintException
-
getBoundsOfNode
protected java.awt.geom.Rectangle2D.Double getBoundsOfNode(Tree node)
-
getText
protected java.lang.String getText(Tree tree)
-
getTreeTextProvider
public TreeTextProvider getTreeTextProvider()
-
setTreeTextProvider
public void setTreeTextProvider(TreeTextProvider treeTextProvider)
-
setFontSize
public void setFontSize(int sz)
-
setFontName
public void setFontName(java.lang.String name)
-
addHighlightedNodes
public void addHighlightedNodes(java.util.Collection<Tree> nodes)
Slow for big lists of highlighted nodes
-
removeHighlightedNodes
public void removeHighlightedNodes(java.util.Collection<Tree> nodes)
-
isHighlighted
protected boolean isHighlighted(Tree node)
-
getHighlightedNodeIndex
protected int getHighlightedNodeIndex(Tree node)
-
getFont
public java.awt.Font getFont()
- Specified by:
getFont
in interfacejava.awt.MenuContainer
- Overrides:
getFont
in classjava.awt.Component
-
setFont
public void setFont(java.awt.Font font)
- Overrides:
setFont
in classjavax.swing.JComponent
-
getArcSize
public int getArcSize()
-
setArcSize
public void setArcSize(int arcSize)
-
getBoxColor
public java.awt.Color getBoxColor()
-
setBoxColor
public void setBoxColor(java.awt.Color boxColor)
-
getHighlightedBoxColor
public java.awt.Color getHighlightedBoxColor()
-
setHighlightedBoxColor
public void setHighlightedBoxColor(java.awt.Color highlightedBoxColor)
-
getBorderColor
public java.awt.Color getBorderColor()
-
setBorderColor
public void setBorderColor(java.awt.Color borderColor)
-
getTextColor
public java.awt.Color getTextColor()
-
setTextColor
public void setTextColor(java.awt.Color textColor)
-
getTree
protected org.abego.treelayout.TreeForTreeLayout<Tree> getTree()
-
setTree
public void setTree(Tree root)
-
getTreeLayoutAdaptor
public org.abego.treelayout.TreeForTreeLayout<Tree> getTreeLayoutAdaptor(Tree root)
Get an adaptor for root that indicates how to walk ANTLR trees. Override to change the adapter from the default ofTreeLayoutAdaptor
-
getScale
public double getScale()
-
setScale
public void setScale(double scale)
-
setRuleNames
public void setRuleNames(java.util.List<java.lang.String> ruleNames)
-
-