public class TreeViewer
extends javax.swing.JComponent
| Modifier and Type | Class and Description |
|---|---|
static class |
TreeViewer.DefaultTreeTextProvider |
private static class |
TreeViewer.EmptyIcon |
private static class |
TreeViewer.TreeNodeWrapper |
static class |
TreeViewer.VariableExtentProvide |
javax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
protected int |
arcSize |
protected java.awt.Color |
borderColor |
protected java.awt.Color |
boxColor |
private static java.lang.String |
DIALOG_DIVIDER_LOC_PREFS_KEY |
private static java.lang.String |
DIALOG_HEIGHT_PREFS_KEY |
private static java.lang.String |
DIALOG_VIEWER_SCALE_PREFS_KEY |
private static java.lang.String |
DIALOG_WIDTH_PREFS_KEY |
private static java.lang.String |
DIALOG_X_PREFS_KEY |
private static java.lang.String |
DIALOG_Y_PREFS_KEY |
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 |
private boolean |
useCurvedEdges |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Constructor and Description |
|---|
TreeViewer(java.util.List<java.lang.String> ruleNames,
Tree tree) |
| Modifier and Type | Method and Description |
|---|---|
void |
addHighlightedNodes(java.util.Collection<Tree> nodes)
Slow for big lists of highlighted nodes
|
private static void |
fillTree(TreeViewer.TreeNodeWrapper node,
Tree tree,
TreeViewer viewer) |
protected void |
generateBox(java.io.Writer writer,
Tree parent) |
protected void |
generateEdges(java.io.Writer writer,
Tree parent) |
private static java.io.File |
generateNonExistingFile(java.lang.String extension) |
private static void |
generatePNGFile(TreeViewer viewer,
javax.swing.JFrame dialog) |
private static void |
generateSVGFile(TreeViewer viewer,
javax.swing.JFrame dialog) |
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) |
private static javax.swing.JFileChooser |
getFileChooser(java.lang.String fileEnding,
java.lang.String description) |
java.awt.Font |
getFont() |
java.awt.Color |
getHighlightedBoxColor() |
protected int |
getHighlightedNodeIndex(Tree node) |
double |
getScale() |
private java.awt.Dimension |
getScaledTreeSize() |
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) |
private static java.lang.String |
line(java.lang.String x1,
java.lang.String y1,
java.lang.String x2,
java.lang.String y2,
java.lang.String style) |
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) |
private void |
paintSVG(java.io.Writer writer) |
private static java.lang.String |
rect(java.lang.String x,
java.lang.String y,
java.lang.String width,
java.lang.String height,
java.lang.String style,
java.lang.String extraAttributes) |
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) |
private static java.lang.String |
text(java.lang.String x,
java.lang.String y,
java.lang.String style,
java.lang.String text) |
private void |
updatePreferredSize() |
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, 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, updateUIadd, 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, validateTreeaction, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic static final java.awt.Color LIGHT_RED
protected TreeTextProvider treeTextProvider
protected org.abego.treelayout.TreeLayout<Tree> treeLayout
protected java.util.List<Tree> highlightedNodes
protected java.lang.String fontName
protected int fontStyle
protected int fontSize
protected java.awt.Font font
protected double gapBetweenLevels
protected double gapBetweenNodes
protected int nodeWidthPadding
protected int nodeHeightPadding
protected int arcSize
protected double scale
protected java.awt.Color boxColor
protected java.awt.Color highlightedBoxColor
protected java.awt.Color borderColor
protected java.awt.Color textColor
private boolean useCurvedEdges
private static final java.lang.String DIALOG_WIDTH_PREFS_KEY
private static final java.lang.String DIALOG_HEIGHT_PREFS_KEY
private static final java.lang.String DIALOG_X_PREFS_KEY
private static final java.lang.String DIALOG_Y_PREFS_KEY
private static final java.lang.String DIALOG_DIVIDER_LOC_PREFS_KEY
private static final java.lang.String DIALOG_VIEWER_SCALE_PREFS_KEY
public TreeViewer(java.util.List<java.lang.String> ruleNames,
Tree tree)
private void updatePreferredSize()
public boolean getUseCurvedEdges()
public void setUseCurvedEdges(boolean useCurvedEdges)
protected void paintEdges(java.awt.Graphics g,
Tree parent)
protected void paintBox(java.awt.Graphics g,
Tree tree)
public void text(java.awt.Graphics g,
java.lang.String s,
int x,
int y)
public void paint(java.awt.Graphics g)
paint in class javax.swing.JComponentprotected void generateEdges(java.io.Writer writer,
Tree parent)
throws java.io.IOException
java.io.IOExceptionprotected void generateBox(java.io.Writer writer,
Tree parent)
throws java.io.IOException
java.io.IOExceptionprivate static java.lang.String line(java.lang.String x1,
java.lang.String y1,
java.lang.String x2,
java.lang.String y2,
java.lang.String style)
private static java.lang.String rect(java.lang.String x,
java.lang.String y,
java.lang.String width,
java.lang.String height,
java.lang.String style,
java.lang.String extraAttributes)
private static java.lang.String text(java.lang.String x,
java.lang.String y,
java.lang.String style,
java.lang.String text)
private void paintSVG(java.io.Writer writer)
throws java.io.IOException
java.io.IOExceptionprotected java.awt.Graphics getComponentGraphics(java.awt.Graphics g)
getComponentGraphics in class javax.swing.JComponentprotected static javax.swing.JFrame showInDialog(TreeViewer viewer)
private static void generatePNGFile(TreeViewer viewer, javax.swing.JFrame dialog)
private static javax.swing.JFileChooser getFileChooser(java.lang.String fileEnding,
java.lang.String description)
private static void generateSVGFile(TreeViewer viewer, javax.swing.JFrame dialog)
private static java.io.File generateNonExistingFile(java.lang.String extension)
private static void fillTree(TreeViewer.TreeNodeWrapper node, Tree tree, TreeViewer viewer)
private java.awt.Dimension getScaledTreeSize()
public java.util.concurrent.Future<javax.swing.JFrame> open()
public void save(java.lang.String fileName)
throws java.io.IOException,
javax.print.PrintException
java.io.IOExceptionjavax.print.PrintExceptionprotected java.awt.geom.Rectangle2D.Double getBoundsOfNode(Tree node)
protected java.lang.String getText(Tree tree)
public TreeTextProvider getTreeTextProvider()
public void setTreeTextProvider(TreeTextProvider treeTextProvider)
public void setFontSize(int sz)
public void setFontName(java.lang.String name)
public void addHighlightedNodes(java.util.Collection<Tree> nodes)
public void removeHighlightedNodes(java.util.Collection<Tree> nodes)
protected boolean isHighlighted(Tree node)
protected int getHighlightedNodeIndex(Tree node)
public java.awt.Font getFont()
getFont in interface java.awt.MenuContainergetFont in class java.awt.Componentpublic void setFont(java.awt.Font font)
setFont in class javax.swing.JComponentpublic int getArcSize()
public void setArcSize(int arcSize)
public java.awt.Color getBoxColor()
public void setBoxColor(java.awt.Color boxColor)
public java.awt.Color getHighlightedBoxColor()
public void setHighlightedBoxColor(java.awt.Color highlightedBoxColor)
public java.awt.Color getBorderColor()
public void setBorderColor(java.awt.Color borderColor)
public java.awt.Color getTextColor()
public void setTextColor(java.awt.Color textColor)
protected org.abego.treelayout.TreeForTreeLayout<Tree> getTree()
public void setTree(Tree root)
public org.abego.treelayout.TreeForTreeLayout<Tree> getTreeLayoutAdaptor(Tree root)
TreeLayoutAdaptorpublic double getScale()
public void setScale(double scale)
public void setRuleNames(java.util.List<java.lang.String> ruleNames)