package org.korsakow.ide.ui.laf;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.Rectangle;
import java.awt.event.MouseListener;
import javax.swing.JComponent;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicTreeUI;
import javax.swing.tree.TreePath;
public class KorsakowTreeUI extends BasicTreeUI
{
public static ComponentUI createUI(JComponent x) {
return new KorsakowTreeUI();
}
protected void paintRow(Graphics g, Rectangle clipBounds,
Insets insets, Rectangle bounds, TreePath path,
int row, boolean isExpanded,
boolean hasBeenExpanded, boolean isLeaf)
{
super.paintRow(g, clipBounds, insets, bounds, path, row, isExpanded, hasBeenExpanded, isLeaf);
Graphics2D g2 = (Graphics2D)g;
g2.setColor(UIManager.getColor("Tree.gridColor"));
Rectangle clip = g2.getClipBounds();
g2.drawLine(bounds.x, bounds.y+bounds.height-1, clipBounds.x+clipBounds.width, bounds.y+bounds.height-1);
}
protected MouseListener createMouseListener() {
return new KorsakowTableUI.MouseHandler(super.createMouseListener());
}
}