FileDocCategorySizeDatePackage
CategoryNodeRenderer.javaAPI DocApache log4j 1.2.155075Sat Aug 25 00:09:38 BST 2007org.apache.log4j.lf5.viewer.categoryexplorer

CategoryNodeRenderer

public class CategoryNodeRenderer extends DefaultTreeCellRenderer
CategoryNodeRenderer
author
Michael J. Sikorsky
author
Robert Shaw

Fields Summary
private static final long
serialVersionUID
public static final Color
FATAL_CHILDREN
protected JCheckBox
_checkBox
protected JPanel
_panel
protected static ImageIcon
_sat
Constructors Summary
public CategoryNodeRenderer()

//   protected JLabel              _label  = new JLabel();

  //--------------------------------------------------------------------------
  //   Private Variables:
  //--------------------------------------------------------------------------

  //--------------------------------------------------------------------------
  //   Constructors:
  //--------------------------------------------------------------------------
    
    _panel.setBackground(UIManager.getColor("Tree.textBackground"));

    if (_sat == null) {
      // Load the satellite image.
      String resource =
          "/org/apache/log4j/lf5/viewer/images/channelexplorer_satellite.gif";
      URL satURL = getClass().getResource(resource);

      _sat = new ImageIcon(satURL);
    }

    setOpaque(false);
    _checkBox.setOpaque(false);
    _panel.setOpaque(false);

    // The flowlayout set to LEFT is very important so that the editor
    // doesn't jump around.
    _panel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
    _panel.add(_checkBox);
    _panel.add(this);

    setOpenIcon(_sat);
    setClosedIcon(_sat);
    setLeafIcon(_sat);
  
Methods Summary
protected java.lang.StringbuildToolTip(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode node)

    StringBuffer result = new StringBuffer();
    result.append(node.getTitle()).append(" contains a total of ");
    result.append(node.getTotalNumberOfRecords());
    result.append(" LogRecords.");
    result.append(" Right-click for more info.");
    return result.toString();
  
public java.awt.DimensiongetCheckBoxOffset()

    return new Dimension(0, 0);
  
public java.awt.ComponentgetTreeCellRendererComponent(javax.swing.JTree tree, java.lang.Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)


    CategoryNode node = (CategoryNode) value;
    //FileNode node = (FileNode)value;
    //String s = tree.convertValueToText(value, selected,
    //						   expanded, leaf, row, hasFocus);

    super.getTreeCellRendererComponent(
        tree, value, selected, expanded,
        leaf, row, hasFocus);

    if (row == 0) {
      // Root row -- no check box
      _checkBox.setVisible(false);
    } else {
      _checkBox.setVisible(true);
      _checkBox.setSelected(node.isSelected());
    }
    String toolTip = buildToolTip(node);
    _panel.setToolTipText(toolTip);
    if (node.hasFatalChildren()) {
      this.setForeground(FATAL_CHILDREN);
    }
    if (node.hasFatalRecords()) {
      this.setForeground(Color.red);
    }

    return _panel;