Class 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 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
      • 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​(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 nodes
      protected 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LIGHT_RED

        public static final java.awt.Color LIGHT_RED
      • 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 class javax.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 class javax.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)
      • 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 interface java.awt.MenuContainer
        Overrides:
        getFont in class java.awt.Component
      • setFont

        public void setFont​(java.awt.Font font)
        Overrides:
        setFont in class javax.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 of TreeLayoutAdaptor
      • getScale

        public double getScale()
      • setScale

        public void setScale​(double scale)
      • setRuleNames

        public void setRuleNames​(java.util.List<java.lang.String> ruleNames)