/**
*
*/
package se.sics.kompics.ide.editor.figure;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.RectangleFigure;
import org.eclipse.draw2d.Border;
import org.eclipse.draw2d.RoundedRectangle;
import org.eclipse.draw2d.StackLayout;
import org.eclipse.draw2d.XYLayout;
import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Rectangle;
/**
* The <code>ComponentDefinitionFigure</code> .
*
* @author Lars Kroll <lkr@lars-kroll.com>
* @version $Id: $
*
*/
public class ComponentDefinitionFigure extends Figure {
private Label label;
//private RoundedRectangle rectangle;
public ComponentDefinitionFigure() {
label = new Label();
add(label);
setLayoutManager(new XYLayout());
// rectangle = new RoundedRectangle();
// rectangle.setFill(false);
// rectangle.setLayoutManager(new StackLayout());
// add(rectangle);
}
@Override
protected void paintFigure(Graphics graphics) {
super.paintFigure(graphics);
// Rectangle r = getBounds().getCopy();
// setConstraint(rectangle, new Rectangle(0, 0, r.width, r.height));
// setConstraint(label, new Rectangle(0, 0, r.width, 15));
}
public Label getLabel() {
return label;
}
public Dimension getPreferredSize(int wHint, int hHint) {
Dimension dim = new Dimension();
dim.width = label.getPreferredSize().width;
dim.width += getInsets().getWidth();
dim.height += getInsets().getHeight();
return dim;
}
public void setBounds(Rectangle rect) {
super.setBounds(rect);
rect = Rectangle.SINGLETON;
getClientArea(rect);
//rectangle.setBounds(rect);
Dimension size = label.getPreferredSize();
label.setSize(size);
label.setLocation(rect.getLocation());
}
}