Newer
Older
package org.etsi.mts.tdl.graphical.sirius.part;
import org.eclipse.draw2d.CompoundBorder;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.LineBorder;
import org.eclipse.draw2d.MarginBorder;
import org.eclipse.gef.DragTracker;
import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.Request;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.sirius.diagram.ui.tools.api.figure.ViewNodeContainerRectangleFigureDesc;
import org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.SiriusWrapLabel;
import org.etsi.mts.tdl.graphical.sirius.EditPartConfiguration;
public class TopLevelNodeListWithHeaderEditPart extends NodeListWithHeaderEditPart {
private ChangableViewNodeContainerRectangleFigureDesc shapeFigure;
public TopLevelNodeListWithHeaderEditPart(View view) {
super(view);
}
protected IFigure createNodeShape() {
shapeFigure = new ChangableViewNodeContainerRectangleFigureDesc((View) getAdapter(View.class));
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
if (EditPartConfiguration.needsDoubleBorder(this)) {
CompoundBorder marginLineBorder = new CompoundBorder(new MarginBorder(3), new LineBorder(1));
CompoundBorder border = new CompoundBorder(new LineBorder(1), marginLineBorder);
shapeFigure.setBorder(border);
}
return shapeFigure;
}
@Override
protected boolean removeBorders() {
return false;
}
@Override
protected boolean needsBottomSeparator(GraphicalEditPart editPart) {
return false;
}
@Override
protected DragTracker getCustomDragTracker(Request request) {
return null;
}
@Override
public void reInitFigure() {
super.reInitFigure();
if (shapeFigure != null)
for (Object f: shapeFigure.getChildren()) {
if (f instanceof SiriusWrapLabel) {
shapeFigure.setLabelFigure((SiriusWrapLabel) f);
break;
}
}
}
class ChangableViewNodeContainerRectangleFigureDesc extends ViewNodeContainerRectangleFigureDesc {
private SiriusWrapLabel labelFigure;
public ChangableViewNodeContainerRectangleFigureDesc(View view) {
super(view);
labelFigure = super.getLabelFigure();
}
@Override
public SiriusWrapLabel getLabelFigure() {
return labelFigure;
}
public void setLabelFigure(SiriusWrapLabel labelFigure) {
this.labelFigure = labelFigure;
}
}
}