/**
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 *
 * Copyright (C)
 * <a href="http://www.inab.org">Spanish National Institute of Bioinformatics (INB)</a>
 * <a href="http://www.bsc.es">Barcelona Supercomputing Center (BSC)</a>
 * <a href="http://inb.bsc.es">Computational Node 6</a>
 */

package org.inb.biomoby.central.gui.renderer;

import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.border.EmptyBorder;

/**
 * A simple JLable based abstract renderer.
 * 
 * @author Dmitry Repchevsky
 */

public class AbstractCellRenderer extends JLabel
{
    protected final static Color TRANSPARENT = new Color(0xFFFFFF, true);

    public AbstractCellRenderer()
    {
        setBorder(new EmptyBorder(0,0,0,0));
        setOpaque(true);
    }

    public void setHtmlText(String text)
    {
        Color color = getForeground();
        Color background = getBackground();

        StringBuilder sb = new StringBuilder();
        sb.append("<html>");
        sb.append("<font style='font-weight: normal; background-color: rgb(");
        sb.append(background.getRed()).append(",").append(background.getGreen()).append(",").append(background.getBlue()).append(");");
        sb.append("color: rgb(");
        sb.append(color.getRed()).append(",").append(color.getGreen()).append(",").append(color.getBlue()).append(");");
        sb.append("'>");

        sb.append(text);
        sb.append("</font>");
        sb.append("</html>");

        super.setText(sb.toString());
    }
}
