Package org.jacorb.imr.util

Source Code of org.jacorb.imr.util.ImRTreeCellRenderer

/*
*        JacORB - a free Java ORB
*
*   Copyright (C) 1999-2004 Gerald Brose
*
*   This library is free software; you can redistribute it and/or
*   modify it under the terms of the GNU Library General Public
*   License as published by the Free Software Foundation; either
*   version 2 of the License, or (at your option) any later version.
*
*   This library is distributed in the hope that it will be useful,
*   but WITHOUT ANY WARRANTY; without even the implied warranty of
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
*   Library General Public License for more details.
*
*   You should have received a copy of the GNU Library General Public
*   License along with this library; if not, write to the Free
*   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
package org.jacorb.imr.util;

import java.awt.Component;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import org.jacorb.imr.ImRInfo;
import org.jacorb.imr.POAInfo;
import org.jacorb.imr.ServerInfo;
/**
* This class sets the tooltip text for the tree cells,
* and, if possible, enhances the test with HTML.
*
* @author Nicolas Noffke
*
* $Id$
*/

public class ImRTreeCellRenderer extends DefaultTreeCellRenderer {
    private boolean m_use_html_labels = false;
   
    public ImRTreeCellRenderer() {
        super();
    }

    /**
     * Set the tooltip text and overwrite the labels with HTML.
     */
    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);

        Object _node = ((DefaultMutableTreeNode) value).getUserObject();

        if (_node instanceof ImRInfo) {
            setText("Repository");
            setToolTipText("Port: " + ((ImRInfo) _node).port +
                           ", Host: " + ((ImRInfo) _node).host);
        }
        else if (_node instanceof POAInfo){
            POAInfo _poa = (POAInfo) _node;
            setToolTipText("POA is "
                           + ((_poa.active)? "active" : "inactive"));

            if (m_use_html_labels){
                String _color = (_poa.active)? "green" : "red";
                setText("<html> <font color=" + _color + ">" + _poa.name + "</font></html>");
            }
            else
                setText(_poa.name);
        }
        else if (_node instanceof ServerInfo){
            ServerInfo _server = (ServerInfo) _node;

            setToolTipText("Server is "
                           + ((_server.active)? "active" : "down")
                           + ((_server.holding)? "and holding" : ""));
    
            if (m_use_html_labels){
                String _color = (_server.active)? "green" : "red";
                setText("<tml> <font color=" + _color + ">" +
                        ((_server.holding)? "<blink>" : "") +
                        _server.name +
                        ((_server.holding)? "</blink>" : "") +
                        "</font></html>");
            }
            else
                setText(_server.name);
        }
        return this;
    }
} // ImRTreeCellRenderer








TOP

Related Classes of org.jacorb.imr.util.ImRTreeCellRenderer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.