Skip to content
Snippets Groups Projects
Commit 1bb2b468 authored by Florian Hölzl's avatar Florian Hölzl
Browse files

fixed the viewer.setContents() behavior. Label and decoration figures are...

fixed the viewer.setContents() behavior. Label and decoration figures are added and removed properl now.
refs 160
parent ed8fb5b2
No related branches found
No related tags found
No related merge requests found
......@@ -149,12 +149,6 @@ public abstract class DiagramEditPartBase<T extends EObject> extends
return super.getAdapter(adapter);
}
/** {@inheritDoc} */
@Override
public IFigure getContentPane() {
return super.getContentPane(); // getLayer(ExtendedLayerRootEditPart.NODE_LAYER);
}
/** Adds all nodes and connectors as children. */
@Override
protected List<Object> getModelChildren() {
......
......@@ -23,7 +23,6 @@ import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Layer;
import org.eclipse.draw2d.LayeredPane;
import org.eclipse.draw2d.XYLayout;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.LayerConstants;
import org.eclipse.gef.editparts.ScalableRootEditPart;
......@@ -100,12 +99,6 @@ public class ExtendedLayerRootEditPart extends ScalableRootEditPart {
return pane;
}
/** {@inheritDoc} */
@Override
public IFigure getContentPane() {
return super.getContentPane();// getLayer(NODE_LAYER);
}
/** {@inheritDoc} */
@Override
public IFigure getLayer(Object key) {
......@@ -124,16 +117,6 @@ public class ExtendedLayerRootEditPart extends ScalableRootEditPart {
return super.getLayer(key);
}
/** {@inheritDoc} */
@Override
protected void removeChildVisual(EditPart childEditPart) {
super.removeChildVisual(childEditPart);
if (childEditPart instanceof GraphicalEditPartBase<?>) {
GraphicalEditPartBase<?> gep = (GraphicalEditPartBase<?>) childEditPart;
gep.removeVisuals();
}
}
/** Creates the default layer with XYLayout. */
private Layer createDefaultLayer() {
Layer l = new FreeformLayer();
......
......@@ -100,17 +100,4 @@ public abstract class GraphicalEditPartBase<T extends EObject> extends
}
return super.getAdapter(key);
}
/**
* Called when the edit part is removed and should remove its visual
* children from layers. Sub-classes may override, but must call super
* implementation.
*/
public void removeVisuals() {
for (Object ep : getChildren()) {
if (ep instanceof GraphicalEditPartBase<?>) {
((GraphicalEditPartBase<?>) ep).removeVisuals();
}
}
}
}
......@@ -86,18 +86,6 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement>
@Override
protected final IFigure createFigure() {
baseFigure = createBaseFigure();
labelFigure = createLabelFigure();
if (labelFigure != null) {
getLayer(ExtendedLayerRootEditPart.LABEL_LAYER).add(labelFigure);
}
decorationFigure = createDecorationFigure();
if (decorationFigure != null) {
getLayer(ExtendedLayerRootEditPart.DECORATION_LAYER).add(
decorationFigure);
}
return baseFigure;
}
......@@ -195,6 +183,35 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement>
}
}
/** {@inheritDoc} */
@Override
public void addNotify() {
labelFigure = createLabelFigure();
if (labelFigure != null) {
getLayer(ExtendedLayerRootEditPart.LABEL_LAYER).add(labelFigure);
}
decorationFigure = createDecorationFigure();
if (decorationFigure != null) {
getLayer(ExtendedLayerRootEditPart.DECORATION_LAYER).add(
decorationFigure);
}
// called last, since it also refreshes label and decoration
super.addNotify();
}
/** {@inheritDoc} */
@Override
public void removeNotify() {
if (labelFigure != null) {
getLayer(ExtendedLayerRootEditPart.LABEL_LAYER).remove(labelFigure);
}
if (decorationFigure != null) {
getLayer(ExtendedLayerRootEditPart.DECORATION_LAYER).remove(
decorationFigure);
}
super.removeNotify();
}
/**
* {@inheritDoc}
* <p>
......@@ -253,21 +270,4 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement>
}
return null;
}
/** {@inheritDoc} */
@Override
public void removeVisuals() {
super.removeVisuals();
// if (baseFigure != null) {
// getLayer(ExtendedLayerRootEditPart.NODE_LAYER).remove(baseFigure);
// }
if (labelFigure != null) {
getLayer(ExtendedLayerRootEditPart.LABEL_LAYER).remove(labelFigure);
}
if (decorationFigure != null) {
getLayer(ExtendedLayerRootEditPart.DECORATION_LAYER).remove(
decorationFigure);
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment