Class TreeViewer

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class TreeViewer extends JComponent
See Also:
  • Field Details

    • LIGHT_RED

      public static final Color LIGHT_RED
    • treeTextProvider

      protected TreeTextProvider treeTextProvider
    • treeLayout

      protected org.abego.treelayout.TreeLayout<Tree> treeLayout
    • highlightedNodes

      protected List<Tree> highlightedNodes
    • 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
    • useCurvedEdges

      private boolean useCurvedEdges
    • DIALOG_WIDTH_PREFS_KEY

      private static final String DIALOG_WIDTH_PREFS_KEY
      See Also:
    • DIALOG_HEIGHT_PREFS_KEY

      private static final String DIALOG_HEIGHT_PREFS_KEY
      See Also:
    • DIALOG_X_PREFS_KEY

      private static final String DIALOG_X_PREFS_KEY
      See Also:
    • DIALOG_Y_PREFS_KEY

      private static final String DIALOG_Y_PREFS_KEY
      See Also:
    • DIALOG_DIVIDER_LOC_PREFS_KEY

      private static final String DIALOG_DIVIDER_LOC_PREFS_KEY
      See Also:
    • DIALOG_VIEWER_SCALE_PREFS_KEY

      private static final String DIALOG_VIEWER_SCALE_PREFS_KEY
      See Also:
  • Constructor Details

  • Method Details

    • updatePreferredSize

      private void updatePreferredSize()
    • getUseCurvedEdges

      public boolean getUseCurvedEdges()
    • setUseCurvedEdges

      public void setUseCurvedEdges(boolean useCurvedEdges)
    • paintEdges

      protected void paintEdges(Graphics g, Tree parent)
    • paintBox

      protected void paintBox(Graphics g, Tree tree)
    • text

      public void text(Graphics g, String s, int x, int y)
    • paint

      public void paint(Graphics g)
      Overrides:
      paint in class JComponent
    • generateEdges

      protected void generateEdges(Writer writer, Tree parent) throws IOException
      Throws:
      IOException
    • generateBox

      protected void generateBox(Writer writer, Tree parent) throws IOException
      Throws:
      IOException
    • line

      private static String line(String x1, String y1, String x2, String y2, String style)
    • rect

      private static String rect(String x, String y, String width, String height, String style, String extraAttributes)
    • text

      private static String text(String x, String y, String style, String text)
    • paintSVG

      private void paintSVG(Writer writer) throws IOException
      Throws:
      IOException
    • getComponentGraphics

      protected Graphics getComponentGraphics(Graphics g)
      Overrides:
      getComponentGraphics in class JComponent
    • showInDialog

      protected static JFrame showInDialog(TreeViewer viewer)
    • generatePNGFile

      private static void generatePNGFile(TreeViewer viewer, JFrame dialog)
    • getFileChooser

      private static JFileChooser getFileChooser(String fileEnding, String description)
    • generateSVGFile

      private static void generateSVGFile(TreeViewer viewer, JFrame dialog)
    • generateNonExistingFile

      private static File generateNonExistingFile(String extension)
    • fillTree

      private static void fillTree(TreeViewer.TreeNodeWrapper node, Tree tree, TreeViewer viewer)
    • getScaledTreeSize

      private Dimension getScaledTreeSize()
    • open

      public Future<JFrame> open()
    • save

      public void save(String fileName) throws IOException, PrintException
      Throws:
      IOException
      PrintException
    • getBoundsOfNode

      protected Rectangle2D.Double getBoundsOfNode(Tree node)
    • getText

      protected String getText(Tree tree)
    • 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 interface MenuContainer
      Overrides:
      getFont in class Component
    • setFont

      public void setFont(Font font)
      Overrides:
      setFont in class JComponent
    • 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 of TreeLayoutAdaptor
    • getScale

      public double getScale()
    • setScale

      public void setScale(double scale)
    • setRuleNames

      public void setRuleNames(List<String> ruleNames)