package com.vci.client.omd.linktype;
|
|
import java.awt.Component;
|
import javax.swing.JTree;
|
import javax.swing.ToolTipManager;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
|
import com.vci.client.ui.swing.VCISwingUtil;
|
import com.vci.corba.omd.ltm.LinkType;
|
|
|
public class LTTreeCellRenderer extends DefaultTreeCellRenderer{
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 998267915192603262L;
|
|
/**
|
* Configures the renderer based on the passed in components.
|
* The value is set from messaging the tree with
|
* <code>convertValueToText</code>, which ultimately invokes
|
* <code>toString</code> on <code>value</code>.
|
* The foreground color is set based on the selection and the icon
|
* is set based on the <code>leaf</code> and <code>expanded</code>
|
* parameters.
|
*/
|
public Component getTreeCellRendererComponent(JTree tree, Object value,
|
boolean sel, boolean expanded, boolean leaf, int row,
|
boolean hasFocus) {
|
super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
|
|
try {
|
ToolTipManager.sharedInstance().registerComponent(tree);
|
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
|
|
String icon = "";
|
if(node == null || (node != null && node.getUserObject() == null)) {
|
icon = "house.png";
|
} else {
|
if (node.isRoot())
|
icon = "folder.png";
|
else if (node.getUserObject() != null){
|
Object obj = node.getUserObject();
|
if (obj instanceof LinkTypeWrapper){
|
LinkType linkType = ((LinkTypeWrapper)node.getUserObject()).linkType;
|
if (linkType == null)
|
icon = "folder.png";
|
else
|
icon = "link.png";
|
}
|
}
|
else
|
icon = "house.png";
|
}
|
|
setIcon(VCISwingUtil.createImageIcon(icon));
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return this;
|
}
|
}
|