package cnp.ew.diagram;

import java.awt.*;
import java.util.*;

import cnp.ew.lightweight.*;

public class CpClassLc extends CpAbstractDiagrammableLc
{
    public String className = "Class: Polygon";
    Vector variables = new Vector();
    Vector methods = new Vector();

    public CpClassLc(int x, int y, int w, int h)
    {
        super(x, y, w, h);
        variables.addElement("center : Point");
        variables.addElement("vertices : List of Point");
        methods.addElement("display (on: Surface)");
        methods.addElement("erase ()");
        methods.addElement("rotate (angle: Integer)");
    }

	public void paint(Graphics g, Rectangle clip)
	{
	//    g.setColor(Color.lightGray);
	//    g.fillRect(bounds.x, 0, bounds.width, bounds.height);
	//    g.draw3DRect(bounds.x, 0, bounds.width - 1, bounds.height - 1, true);
	   g.setColor(Color.white);
	    g.fillRect(0, 0, size().width, size().height);

	    g.setColor(Color.black);
	    g.drawRect(0, 0, size().width - 1, size().height - 1);
        FontMetrics m = g.getFontMetrics();
	    g.drawString(className, (size().width - m.stringWidth(className)) / 2, m.getAscent() + 5);
	    g.drawLine(0, m.getHeight() + 10, size().width - 2, m.getHeight() + 10);
	    int curY = m.getHeight() + 10;
	    for (int i = 0; i < variables.size(); i++) {
	        String s = (String)variables.elementAt(i);
	        curY += m.getHeight();
	        g.drawString(s, 5, curY);
	    }
	    curY += 10;
	    g.drawLine(0, curY, size().width - 2, curY);
	    curY += 10;
	    for (int i = 0; i < variables.size(); i++) {
	        String s = (String)variables.elementAt(i);
	        curY += m.getHeight();
	        g.drawString(s, 5, curY);
	    }

	}
}