diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/gef/part/DesignRootEditPart.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/gef/part/DesignRootEditPart.java index 5ce596d6c4..5db988a61d 100644 --- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/gef/part/DesignRootEditPart.java +++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/gef/part/DesignRootEditPart.java @@ -21,13 +21,12 @@ import org.eclipse.wb.internal.core.model.DesignRootObject; import org.eclipse.wb.internal.core.model.nonvisual.NonVisualBeanInfo; import org.eclipse.wb.internal.draw2d.FigureCanvas; -import org.eclipse.wb.internal.draw2d.IPreferredSizeProvider; import org.eclipse.draw2d.Border; import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.MarginBorder; -import org.eclipse.draw2d.geometry.Dimension; +import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.geometry.Insets; import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.gef.EditPart; @@ -153,6 +152,7 @@ public EditPart getJavaRootEditPart() { @Override protected IFigure createFigure() { IFigure figure = new TopFigure(); + figure.setLayoutManager(new StackLayout()); figure.setBorder(DESIGN_MARGIN); return figure; } @@ -160,7 +160,7 @@ protected IFigure createFigure() { /** * Special {@link IFigure} that cover full area of parent. */ - private static final class TopFigure extends Figure implements IPreferredSizeProvider { + private static final class TopFigure extends Figure { //////////////////////////////////////////////////////////////////////////// // // Figure @@ -182,22 +182,5 @@ public boolean useLocalCoordinates() { // location as they are all relative to the root component. return true; } - - //////////////////////////////////////////////////////////////////////////// - // - // IPreferredSizeProvider - // - //////////////////////////////////////////////////////////////////////////// - @Override - public Dimension getPreferredSize(Dimension originalPreferredSize) { - Rectangle preferred = new Rectangle(); - for (IFigure figure : getChildren()) { - if (figure.isVisible()) { - preferred.union(figure.getBounds()); - } - } - preferred.expand(getInsets()); - return preferred.getSize(); - } } } \ No newline at end of file diff --git a/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/IPreferredSizeProvider.java b/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/IPreferredSizeProvider.java deleted file mode 100644 index 63c81188ee..0000000000 --- a/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/IPreferredSizeProvider.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Google, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * https://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Google, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.wb.internal.draw2d; - -import org.eclipse.draw2d.geometry.Dimension; - -/** - * An interface to size providers for preferred-size-oriented figures. - * - * @author lobas_av - * @coverage gef.draw2d - */ -public interface IPreferredSizeProvider { - /** - * Calculate new preferred size use original preferred size. - */ - Dimension getPreferredSize(Dimension originalPreferredSize); -} \ No newline at end of file diff --git a/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/RootFigure.java b/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/RootFigure.java index c12f92fe49..f5ecbcf31a 100644 --- a/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/RootFigure.java +++ b/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/internal/draw2d/RootFigure.java @@ -31,7 +31,6 @@ public class RootFigure extends Figure implements IRootFigure { private Dimension m_preferredSize; private Map m_nameToLayer = new HashMap<>(); - private IPreferredSizeProvider m_preferredSizeProvider; //////////////////////////////////////////////////////////////////////////// // @@ -43,19 +42,6 @@ public RootFigure() { setLayoutManager(new StackLayout()); } - //////////////////////////////////////////////////////////////////////////// - // - // Access - // - //////////////////////////////////////////////////////////////////////////// - - /** - * Sets figure preferred size provider. - */ - public void setPreferredSizeProvider(IPreferredSizeProvider provider) { - m_preferredSizeProvider = provider; - } - //////////////////////////////////////////////////////////////////////////// // // RootFigure @@ -76,21 +62,13 @@ public Dimension getPreferredSize(int wHint, int hHint) { // figure's loop for (IFigure figure : layer.getChildren()) { if (figure.isVisible()) { - if (figure instanceof IPreferredSizeProvider provider) { - Dimension figurePreferredSize = provider.getPreferredSize(null); - preferred.union(0, 0, figurePreferredSize.width, figurePreferredSize.height); - } else { - preferred.union(figure.getBounds()); - } + Rectangle figureBounds = new Rectangle(figure.getLocation(), figure.getPreferredSize(wHint, hHint)); + preferred.union(figureBounds); } } } // set preferred size - if (m_preferredSizeProvider == null) { - m_preferredSize = preferred.getSize(); - } else { - m_preferredSize = m_preferredSizeProvider.getPreferredSize(preferred.getSize()); - } + m_preferredSize = preferred.getSize(); } return m_preferredSize; }