package org.eclipse.uml2.diagram.sequence.figures;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.Layer;
import org.eclipse.draw2d.ToolbarLayout;
import org.eclipse.uml2.diagram.common.layered.MultiLayeredContainer;
import org.eclipse.uml2.diagram.sequence.draw2d.layouts.FillingBorderLayout;
import org.eclipse.uml2.diagram.sequence.internal.layout.manage.InteractionLayouter;
public class InteractionShape extends InteractionShapeBase implements MultiLayeredContainer {
private final MultiLayeredContentPane myMultilayeredContentPane = new MultiLayeredContentPane();
private Label myInteractionNameLabel;
private boolean myIsFullScreen;
public InteractionShape() {
createPentagonContent();
add(myMultilayeredContentPane, FillingBorderLayout.CENTER);
// myMultilayeredContentPane.setOpaque(true);
// for (Iterator it = myMultilayeredContentPane.getChildren().iterator(); it.hasNext();) {
// ((IFigure)it.next()).setOpaque(true);
// }
// myMultilayeredContentPane.setBackgroundColor(ColorConstants.yellow);
}
public Label getInteractionNameLabel() {
return myInteractionNameLabel;
}
public void setIsFullScreen(boolean isFullScreen){
myIsFullScreen = isFullScreen;
}
protected boolean isFullScreen() {
return myIsFullScreen;
}
protected MultiLayeredContentPane getMultilayeredContentPane() {
return myMultilayeredContentPane;
}
public Layer getLayerContentPane(String key) {
return myMultilayeredContentPane.getLayerContentPane(key);
}
public Layer getDefaultLayerContentPane() {
return myMultilayeredContentPane.getDefaultLayerContentPane();
}
public InteractionLayouter getInteractionLayouter() {
return myInteractionLayouter;
}
private void createPentagonContent() {
InvisibleRectangle compositeLabel = new InvisibleRectangle();
compositeLabel.setLayoutManager(new ToolbarLayout(ToolbarLayout.HORIZONTAL));
Label sdLabel = new Label("sd ");
compositeLabel.add(sdLabel);
myInteractionNameLabel = new Label("");
compositeLabel.add(myInteractionNameLabel);
setPentagonContent(compositeLabel);
}
private final InteractionLayouter myInteractionLayouter = new InteractionLayouter() {
public boolean isFullScreen() {
return myIsFullScreen;
}
public int getPentagonPreferredHeight() {
return getPentagonPane().getPreferredSize().height;
//return myPentagon.getPreferredHeight();
}
public int getPentagonPreferredWidth() {
return getPentagonPane().getPreferredSize().width;
//return myPentagon.getPreferredWidth();
}
};
}