Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -153,14 +152,15 @@ public EditPart getJavaRootEditPart() {
@Override
protected IFigure createFigure() {
IFigure figure = new TopFigure();
figure.setLayoutManager(new StackLayout());
figure.setBorder(DESIGN_MARGIN);
return figure;
}

/**
* 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
Expand All @@ -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();
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
public class RootFigure extends Figure implements IRootFigure {
private Dimension m_preferredSize;
private Map<Object, Layer> m_nameToLayer = new HashMap<>();
private IPreferredSizeProvider m_preferredSizeProvider;

////////////////////////////////////////////////////////////////////////////
//
Expand All @@ -43,19 +42,6 @@ public RootFigure() {
setLayoutManager(new StackLayout());
}

////////////////////////////////////////////////////////////////////////////
//
// Access
//
////////////////////////////////////////////////////////////////////////////

/**
* Sets figure preferred size provider.
*/
public void setPreferredSizeProvider(IPreferredSizeProvider provider) {
m_preferredSizeProvider = provider;
}

////////////////////////////////////////////////////////////////////////////
//
// RootFigure
Expand All @@ -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;
}
Expand Down
Loading