package net.ms.designer.editors.packages.figures;
import org.eclipse.draw2d.AbstractBorder;
import org.eclipse.draw2d.Border;
import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.ImageFigure;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.ToolbarLayout;
import org.eclipse.draw2d.geometry.Insets;
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.handles.HandleBounds;
import org.eclipse.swt.graphics.Image;
//public class CompartmentFigure extends Figure
//{
// public CompartmentFigure()
// {
// ToolbarLayout layout = new ToolbarLayout();
// layout.setMinorAlignment(ToolbarLayout.ALIGN_TOPLEFT);
// layout.setStretchMinorAxis(false);
// layout.setSpacing(2);
// setLayoutManager(layout);
// setBorder((Border) new CompartmentFigureBorder());
// }
//
// public class CompartmentFigureBorder extends AbstractBorder
// {
// public Insets getInsets(IFigure figure)
// {
// return new Insets(1,0,0,0);
// }
// public void paint(IFigure figure, Graphics graphics, Insets insets)
// {
// graphics.drawLine(getPaintRectangle(figure, insets).getTopLeft(),
// tempRect.getTopRight());
// }
// }
//--------------lili start
public class CompartmentFigure extends NodeFigure implements HandleBounds
{
public static CompartmentFigure createCPFigure(String name, Image img) {
return new CompartmentFigure(name, img);
}
public CompartmentFigure(String fieldLabel, Image typeIcon)
{
// setBorder(new CircuitBorder());
ImageFigure im = new ImageFigure(typeIcon);
ToolbarLayout layout=new ToolbarLayout();
layout.setVertical(true);
setLayoutManager(layout);
add(im);
add(label);
setText(fieldLabel);
}
public Rectangle getHandleBounds()
{
return getBounds().getCropped(new Insets(0,0,0,0));
}
public Label getLabel()
{
return label;
}
//-------------lili end
}