package org.eclipse.uml2.diagram.common.draw2d;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gmf.runtime.diagram.ui.label.ILabelDelegate;
import org.eclipse.swt.graphics.Image;
public class SimpleLabelDelegate extends ILabelDelegate.Stub {
private Label myLabel;
private boolean myIsSelected;
public SimpleLabelDelegate(Label label) {
myLabel = label;
}
@Override
public void setFocus(boolean b) {
//not supported
}
@Override
public void setSelected(boolean selected) {
//ui effect not supported
myIsSelected = selected;
}
@Override
public String getText() {
return myLabel.getText();
}
@Override
public void setIcon(Image image, int index) {
if (index == 0) {
myLabel.setIcon(image);
}
}
@Override
public void setAlignment(int right) {
myLabel.setLabelAlignment(right);
}
@Override
public void setText(String text) {
myLabel.setText(text);
}
@Override
public void setTextAlignment(int alignment) {
myLabel.setTextAlignment(alignment);
}
@Override
public void setIconAlignment(int alignment) {
myLabel.setIconAlignment(alignment);
}
@Override
public Rectangle getTextBounds() {
Rectangle rect = myLabel.getTextBounds().getCopy();
myLabel.translateToAbsolute(rect);
return rect;
}
@Override
public void setTextPlacement(int placement) {
myLabel.setTextPlacement(placement);
}
@Override
public void setTextStrikeThrough(boolean strikeThrough) {
//not supported
}
@Override
public void setTextUnderline(boolean underline) {
//not supported
}
@Override
public Image getIcon(int index) {
if (index == 0) {
return myLabel.getIcon();
}
return null;
}
@Override
public int getIconAlignment() {
return myLabel.getIconAlignment();
}
@Override
public int getTextAlignment() {
return myLabel.getTextAlignment();
}
@Override
public int getTextPlacement() {
return myLabel.getTextPlacement();
}
@Override
public boolean hasFocus() {
return myLabel.hasFocus();
}
@Override
public boolean isSelected() {
return myIsSelected;
}
@Override
public boolean isTextStrikedThrough() {
return false;
}
@Override
public boolean isTextUnderlined() {
return false;
}
}