Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 2 additions & 65 deletions org.eclipse.wb.core/src-draw2d/org/eclipse/wb/draw2d/Layer.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2011, 2024 Google, Inc. and others.
* Copyright (c) 2011, 2026 Google, Inc. and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
Expand All @@ -14,75 +14,12 @@

import org.eclipse.wb.internal.draw2d.IRootFigure;

import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.geometry.Rectangle;

/**
* A transparent figure simple figure's container using into {@link IRootFigure}.
*
* @author lobas_av
* @coverage gef.draw2d
*/
public class Layer extends Figure {
private final String m_name;

////////////////////////////////////////////////////////////////////////////
//
// Constructor
//
////////////////////////////////////////////////////////////////////////////
public Layer(String name) {
m_name = name;
}

////////////////////////////////////////////////////////////////////////////
//
// Bounds
//
////////////////////////////////////////////////////////////////////////////
/**
* Direct set bounds from {@link IRootFigure} without notification.
*/
@Override
public void setBounds(Rectangle bounds) {
getBounds().setBounds(bounds);
}

/**
* If children not contains given point <code>(x, y)</code> then {@link Layer} just as not
* contains it.
*/
@Override
public boolean containsPoint(int x, int y) {
for (IFigure childFigure : getChildren()) {
if (childFigure.containsPoint(x, y)) {
return true;
}
}
return false;
}

////////////////////////////////////////////////////////////////////////////
//
// Properties
//
////////////////////////////////////////////////////////////////////////////
/**
* Return identification name.
*/
public String getName() {
return m_name;
}

/**
* For this figure opaque is missing.
*/
@Override
public void setOpaque(boolean opaque) {
}
public class Layer extends org.eclipse.draw2d.Layer {

@Override
public String toString() {
return "[%s] %s".formatted(getClass().getSimpleName(), getName());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ public final Control createTooltipControl(Composite parent, ICustomTooltipSite s
rootFigure.setForegroundColor(parent.getForeground());
rootFigure.setBackgroundColor(parent.getBackground());
//
Layer layer = new Layer("Tooltip");
Layer layer = new Layer();
layer.add(createTooltipFigure(figure));
rootFigure.addLayer(layer);
rootFigure.add(layer, "Tooltip");
//
return m_canvas;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,6 @@ public interface IRootFigure extends IFigure {
// Layer's
//
////////////////////////////////////////////////////////////////////////////
/**
* Adds the given layer as a child of this {@link IRootFigure}.
*/
void addLayer(Layer layer);

/**
* Adds the given layer as a child of this {@link IRootFigure} with given index.
*/
void addLayer(Layer layer, int index);

/**
* Returns the layer identified by the <code>name</code> given in the input.
Expand All @@ -50,19 +41,4 @@ public interface IRootFigure extends IFigure {
* Return all layer's from this {@link IRootFigure}.
*/
List<Layer> getLayers();

/**
* Removes the layer identified by the given key from this {@link IRootFigure}.
*/
void removeLayer(String name);

/**
* Removes the given layer from this {@link IRootFigure}.
*/
void removeLayer(Layer layer);

/**
* Remove all layer's from this {@link IRootFigure}.
*/
void removeAll();
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
*/
public class RootFigure extends Figure implements IRootFigure {
private Dimension m_preferredSize;
private Map<String, Layer> m_nameToLayer = new HashMap<>();
private Map<Object, Layer> m_nameToLayer = new HashMap<>();
private IPreferredSizeProvider m_preferredSizeProvider;

////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -132,18 +132,11 @@ public void invalidate() {
* Adds the given layer as a child of this {@link IRootFigure}.
*/
@Override
public void addLayer(Layer layer) {
m_nameToLayer.put(layer.getName(), layer);
add(layer, null, -1);
}

/**
* Adds the given layer as a child of this {@link IRootFigure} with given index.
*/
@Override
public void addLayer(Layer layer, int index) {
m_nameToLayer.put(layer.getName(), layer);
add(layer, null, index);
public void add(IFigure figure, Object constraints, int index) {
if (figure instanceof Layer layerFigure) {
m_nameToLayer.put(constraints, layerFigure);
}
super.add(figure, constraints, index);
}

/**
Expand All @@ -166,21 +159,13 @@ public List<Layer> getLayers() {
return layers;
}

/**
* Removes the layer identified by the given key from this {@link IRootFigure}.
*/
@Override
public void removeLayer(String name) {
removeLayer(getLayer(name));
}

/**
* Removes the given layer from this {@link IRootFigure}.
*/
@Override
public void removeLayer(Layer layer) {
m_nameToLayer.remove(layer.getName());
remove(layer);
public void remove(IFigure figure) {
m_nameToLayer.values().remove(figure);
super.remove(figure);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,8 @@ public EditPart findObjectAtExcluding(Point location,
public EditPart findObjectAtExcluding(Point location,
final Collection<IFigure> exclude,
final Conditional conditional,
String layer) {
String layerName) {
IFigure layerFigure = getRootEditPart().getLayer(layerName);
class ConditionalTreeSearch extends ExclusionSearch {
ConditionalTreeSearch(Collection<IFigure> coll) {
super(coll);
Expand All @@ -174,8 +175,8 @@ public boolean accept(IFigure figure) {

@Override
public boolean prune(IFigure figure) {
if (figure instanceof Layer layerFigure) {
return !layer.equals(layerFigure.getName());
if (figure instanceof Layer) {
return !figure.equals(layerFigure);
}
return super.prune(figure);
}
Expand Down Expand Up @@ -217,7 +218,8 @@ public Handle findHandleAt(Point p) {
* location in given <code>layer</code>. Returns <code>null</code> if no handle exists at the
* given location <code>(x, y)</code>.
*/
private Handle findTargetHandle(String layer, Point p) {
private Handle findTargetHandle(String layerName, Point p) {
IFigure layerFigure = getRootEditPart().getLayer(layerName);
return (Handle) m_canvas.getLightweightSystem().getRootFigure().findFigureAt(p.x, p.y,
new TreeSearch() {
@Override
Expand All @@ -227,7 +229,7 @@ public boolean accept(IFigure figure) {

@Override
public boolean prune(IFigure figure) {
return figure instanceof Layer layerFigure && !layer.equals(layerFigure.getName());
return figure instanceof Layer && !figure.equals(layerFigure);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,22 @@ public RootEditPart() {
//
////////////////////////////////////////////////////////////////////////////
private void createLayers() {
getFigure().addLayer(new Layer(IEditPartViewer.PRIMARY_LAYER_SUB_1));
getFigure().addLayer(new Layer(LayerConstants.PRIMARY_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.HANDLE_LAYER_SUB_1));
getFigure().addLayer(new Layer(IEditPartViewer.HANDLE_LAYER_SUB_2));
getFigure().addLayer(new Layer(LayerConstants.HANDLE_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.HANDLE_LAYER_STATIC));
getFigure().addLayer(new Layer(IEditPartViewer.FEEDBACK_LAYER_SUB_1));
getFigure().addLayer(new Layer(IEditPartViewer.FEEDBACK_LAYER_SUB_2));
getFigure().addLayer(new Layer(LayerConstants.FEEDBACK_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.FEEDBACK_LAYER_ABV_1));
getFigure().addLayer(new Layer(IEditPartViewer.CLICKABLE_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.MENU_PRIMARY_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.MENU_HANDLE_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.MENU_HANDLE_LAYER_STATIC));
getFigure().addLayer(new Layer(IEditPartViewer.MENU_FEEDBACK_LAYER));
getFigure().addLayer(new Layer(IEditPartViewer.TOP_LAYER));
getFigure().add(new Layer(), IEditPartViewer.PRIMARY_LAYER_SUB_1);
getFigure().add(new Layer(), LayerConstants.PRIMARY_LAYER);
getFigure().add(new Layer(), IEditPartViewer.HANDLE_LAYER_SUB_1);
getFigure().add(new Layer(), IEditPartViewer.HANDLE_LAYER_SUB_2);
getFigure().add(new Layer(), LayerConstants.HANDLE_LAYER);
getFigure().add(new Layer(), IEditPartViewer.HANDLE_LAYER_STATIC);
getFigure().add(new Layer(), IEditPartViewer.FEEDBACK_LAYER_SUB_1);
getFigure().add(new Layer(), IEditPartViewer.FEEDBACK_LAYER_SUB_2);
getFigure().add(new Layer(), LayerConstants.FEEDBACK_LAYER);
getFigure().add(new Layer(), IEditPartViewer.FEEDBACK_LAYER_ABV_1);
getFigure().add(new Layer(), IEditPartViewer.CLICKABLE_LAYER);
getFigure().add(new Layer(), IEditPartViewer.MENU_PRIMARY_LAYER);
getFigure().add(new Layer(), IEditPartViewer.MENU_HANDLE_LAYER);
getFigure().add(new Layer(), IEditPartViewer.MENU_HANDLE_LAYER_STATIC);
getFigure().add(new Layer(), IEditPartViewer.MENU_FEEDBACK_LAYER);
getFigure().add(new Layer(), IEditPartViewer.TOP_LAYER);
}

////////////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ public PaletteComposite(Composite parent, int style) {
}
// add palette figure (layer)
m_paletteFigure = new PaletteRootFigure();
m_figureCanvas.getContents().add(m_paletteFigure);
m_figureCanvas.getContents().add(m_paletteFigure, "palette");
// set menu
{
m_menuManager = new MenuManager();
Expand All @@ -176,8 +176,8 @@ public PaletteComposite(Composite parent, int style) {
}
// add feedback layer
{
m_feedbackLayer = new Layer("feedback");
m_figureCanvas.getContents().add(m_feedbackLayer);
m_feedbackLayer = new Layer();
m_figureCanvas.getContents().add(m_feedbackLayer, "feedback");
}
m_layoutType = m_preferences.getLayoutType();
}
Expand Down Expand Up @@ -374,14 +374,6 @@ public void layoutPalette() {
*/
@SuppressWarnings("removal")
private final class PaletteRootFigure extends Layer {
////////////////////////////////////////////////////////////////////////////
//
// Constructor
//
////////////////////////////////////////////////////////////////////////////
public PaletteRootFigure() {
super("palette");
}

////////////////////////////////////////////////////////////////////////////
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,12 +162,12 @@ private void createViewersComposite(Composite parent) {
// bind viewers
m_viewersComposite.bindViewers();
// add product layer
m_viewer.getRootFigure().addLayer(new Layer("product") {
m_viewer.getRootFigure().add(new Layer() {
@Override
protected void paintClientArea(Graphics graphics) {
BrandingUtils.getBranding().paintBrandingOnCanvas(getClientArea(), graphics);
}
});
}, "product");
}

protected abstract void createDesignActions();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public void tearDown() throws Exception {
////////////////////////////////////////////////////////////////////////////
@Test
public void test_handleMouseEvents() throws Exception {
Layer layer1 = new Layer("1");
Layer layer1 = new Layer();
Figure figure11 = new Figure() {
@Override
public String toString() {
Expand All @@ -88,7 +88,7 @@ public String toString() {
figure12.setBounds(new Rectangle(400, 300, 50, 70));
layer1.add(figure12);
//
Layer layer2 = new Layer("2");
Layer layer2 = new Layer();
Figure figure21 = new Figure() {
@Override
public String toString() {
Expand All @@ -114,8 +114,8 @@ public String toString() {
listener.addFigure(figure21);
listener.addFigure(figure22);
//
((RootFigure) m_canvas.getContents()).addLayer(layer1);
((RootFigure) m_canvas.getContents()).addLayer(layer2);
((RootFigure) m_canvas.getContents()).add(layer1, "1");
((RootFigure) m_canvas.getContents()).add(layer2, "2");
m_shell.setSize(500, 400);
//
TestLogger expectedLogger = new TestLogger();
Expand Down
Loading
Loading