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:
ImageObserver
,MenuContainer
,Serializable
public class TreeViewer extends 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
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected int
arcSize
protected Color
borderColor
protected Color
boxColor
protected Font
font
protected String
fontName
protected int
fontSize
protected int
fontStyle
protected double
gapBetweenLevels
protected double
gapBetweenNodes
protected Color
highlightedBoxColor
protected List<Tree>
highlightedNodes
static Color
LIGHT_RED
protected int
nodeHeightPadding
protected int
nodeWidthPadding
protected double
scale
protected 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
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor Description TreeViewer(List<String> ruleNames, Tree tree)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHighlightedNodes(Collection<Tree> nodes)
Slow for big lists of highlighted nodesprotected void
generateBox(Writer writer, Tree parent)
protected void
generateEdges(Writer writer, Tree parent)
int
getArcSize()
Color
getBorderColor()
protected Rectangle2D.Double
getBoundsOfNode(Tree node)
Color
getBoxColor()
protected Graphics
getComponentGraphics(Graphics g)
Font
getFont()
Color
getHighlightedBoxColor()
protected int
getHighlightedNodeIndex(Tree node)
double
getScale()
protected String
getText(Tree tree)
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)
Future<JFrame>
open()
void
paint(Graphics g)
protected void
paintBox(Graphics g, Tree tree)
protected void
paintEdges(Graphics g, Tree parent)
void
removeHighlightedNodes(Collection<Tree> nodes)
void
save(String fileName)
void
setArcSize(int arcSize)
void
setBorderColor(Color borderColor)
void
setBoxColor(Color boxColor)
void
setFont(Font font)
void
setFontName(String name)
void
setFontSize(int sz)
void
setHighlightedBoxColor(Color highlightedBoxColor)
void
setRuleNames(List<String> ruleNames)
void
setScale(double scale)
void
setTextColor(Color textColor)
void
setTree(Tree root)
void
setTreeTextProvider(TreeTextProvider treeTextProvider)
void
setUseCurvedEdges(boolean useCurvedEdges)
protected static JFrame
showInDialog(TreeViewer viewer)
void
text(Graphics g, 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 Color LIGHT_RED
-
treeTextProvider
protected TreeTextProvider treeTextProvider
-
treeLayout
protected org.abego.treelayout.TreeLayout<Tree> treeLayout
-
fontName
protected String fontName
-
fontStyle
protected int fontStyle
-
fontSize
protected int fontSize
-
font
protected 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 Color boxColor
-
highlightedBoxColor
protected Color highlightedBoxColor
-
borderColor
protected Color borderColor
-
textColor
protected Color textColor
-
-
Method Detail
-
getUseCurvedEdges
public boolean getUseCurvedEdges()
-
setUseCurvedEdges
public void setUseCurvedEdges(boolean useCurvedEdges)
-
paint
public void paint(Graphics g)
- Overrides:
paint
in classJComponent
-
generateEdges
protected void generateEdges(Writer writer, Tree parent) throws IOException
- Throws:
IOException
-
generateBox
protected void generateBox(Writer writer, Tree parent) throws IOException
- Throws:
IOException
-
getComponentGraphics
protected Graphics getComponentGraphics(Graphics g)
- Overrides:
getComponentGraphics
in classJComponent
-
showInDialog
protected static JFrame showInDialog(TreeViewer viewer)
-
save
public void save(String fileName) throws IOException, PrintException
- Throws:
IOException
PrintException
-
getBoundsOfNode
protected Rectangle2D.Double getBoundsOfNode(Tree node)
-
getTreeTextProvider
public TreeTextProvider getTreeTextProvider()
-
setTreeTextProvider
public void setTreeTextProvider(TreeTextProvider treeTextProvider)
-
setFontSize
public void setFontSize(int sz)
-
setFontName
public void setFontName(String name)
-
addHighlightedNodes
public void addHighlightedNodes(Collection<Tree> nodes)
Slow for big lists of highlighted nodes
-
removeHighlightedNodes
public void removeHighlightedNodes(Collection<Tree> nodes)
-
isHighlighted
protected boolean isHighlighted(Tree node)
-
getHighlightedNodeIndex
protected int getHighlightedNodeIndex(Tree node)
-
getFont
public Font getFont()
- Specified by:
getFont
in interfaceMenuContainer
- Overrides:
getFont
in classComponent
-
setFont
public void setFont(Font font)
- Overrides:
setFont
in classJComponent
-
getArcSize
public int getArcSize()
-
setArcSize
public void setArcSize(int arcSize)
-
getBoxColor
public Color getBoxColor()
-
setBoxColor
public void setBoxColor(Color boxColor)
-
getHighlightedBoxColor
public Color getHighlightedBoxColor()
-
setHighlightedBoxColor
public void setHighlightedBoxColor(Color highlightedBoxColor)
-
getBorderColor
public Color getBorderColor()
-
setBorderColor
public void setBorderColor(Color borderColor)
-
getTextColor
public Color getTextColor()
-
setTextColor
public void setTextColor(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)
-
-