package cnp.ew.displayer;

import java.awt.*;
import cnp.ew.image.*;
import cnp.ew.lightweight.*;
import cnp.ew.util.*;

public class CpImageValueDisplayer implements CpModelSelectableDisplayable
{
    Image image;
    int value;

    public CpImageValueDisplayer(Image newImage)
    {
        image = newImage;
    }

    public void setModel(Object o)
    {
        value = ((Integer)o).intValue();
    }

    public Object getModel()
    {
        return new Integer(value);
    }

    public boolean getIsSelected()
    {
        return false;
    }

    public void setIsSelected(boolean isSelected)
    {
    }

    public void paintIn(CpLightweightComponent c, Graphics g, Rectangle r)
    {
        paintIn(c, g, r.x, r.y, r.width, r.height);
    }

    public void paintIn(CpLightweightComponent c, Graphics g, int x, int y, int w, int h)
    {
        int width;

        width = image.getWidth(CpToolkit.defaultComponent());
        for (int i = 0; i < value; i++) {
            g.drawImage(image, x, y, CpToolkit.defaultComponent());
            x += width;
        }
    }

    public Dimension preferredSize(CpLightweightComponent c)
    {
        if (image == null) {
            return new Dimension(0,0);
        }
        return new Dimension(value * image.getWidth(CpToolkit.defaultComponent()), image.getHeight(CpToolkit.defaultComponent()));
    }
}

