From 1e98bb3962e7ce07ced8fda30aed1c961481a442 Mon Sep 17 00:00:00 2001 From: Patrick Ziegler Date: Wed, 16 Jul 2025 20:25:48 +0200 Subject: [PATCH] Refactor Box edit-parts to use plain Draw2D Figures There is no benefit in using our "Designer" figures, outside of dealing with relative instead of absolute coordinates. This adapts the following edit parts: - Horizontal Strut - Vertical Strut - Horizontal Glue - Vertical Glue - Rigid Area - Glue --- .../src-draw2d/org/eclipse/wb/draw2d/Figure.java | 2 -- .../swing/gef/part/box/BoxGlueEditPart.java | 13 +++++++------ .../gef/part/box/BoxGlueHorizontalEditPart.java | 5 +++-- .../swing/gef/part/box/BoxGlueVerticalEditPart.java | 9 +++++---- .../swing/gef/part/box/BoxRigidAreaEditPart.java | 5 +++-- .../gef/part/box/BoxStrutHorizontalEditPart.java | 5 +++-- .../gef/part/box/BoxStrutVerticalEditPart.java | 5 +++-- 7 files changed, 24 insertions(+), 20 deletions(-) diff --git a/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/draw2d/Figure.java b/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/draw2d/Figure.java index 77ca1d2fc..ffdcff268 100644 --- a/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/draw2d/Figure.java +++ b/org.eclipse.wb.core/src-draw2d/org/eclipse/wb/draw2d/Figure.java @@ -110,8 +110,6 @@ protected void paintChildren(Graphics graphics) { graphics.clipRect(childBounds); if (childFigure instanceof Figure f && f.useLocalCoordinates()) { graphics.translate(childBounds.x, childBounds.y); - } else { - System.out.println(childFigure); } childFigure.paint(graphics); graphics.restoreState(); diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueEditPart.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueEditPart.java index fea3914dc..4c6d649c9 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueEditPart.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueEditPart.java @@ -12,11 +12,11 @@ *******************************************************************************/ package org.eclipse.wb.internal.swing.gef.part.box; -import org.eclipse.wb.draw2d.Figure; import org.eclipse.wb.gef.core.EditPart; import org.eclipse.wb.internal.swing.gef.policy.component.box.GlueSelectionEditPolicy; import org.eclipse.wb.internal.swing.model.component.ComponentInfo; +import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Rectangle; @@ -60,12 +60,13 @@ protected void createEditPolicies() { protected IFigure createFigure() { return new Figure() { @Override - protected void paintClientArea(Graphics graphics) { + protected void paintFigure(Graphics graphics) { + super.paintFigure(graphics); Rectangle r = getClientArea(); - int x = (r.width - SPRING_SIZE) / 2; - int y = (r.height - SPRING_SIZE) / 2; - BoxGlueHorizontalEditPart.draw(graphics, new Rectangle(0, y, r.width, SPRING_SIZE)); - BoxGlueVerticalEditPart.draw(graphics, new Rectangle(x, 0, SPRING_SIZE, r.height)); + int x = r.x + (r.width - SPRING_SIZE) / 2; + int y = r.y + (r.height - SPRING_SIZE) / 2; + BoxGlueHorizontalEditPart.draw(graphics, new Rectangle(r.x, y, r.width, SPRING_SIZE)); + BoxGlueVerticalEditPart.draw(graphics, new Rectangle(x, r.y, SPRING_SIZE, r.height)); } }; } diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueHorizontalEditPart.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueHorizontalEditPart.java index 2abb71e04..b685559c3 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueHorizontalEditPart.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueHorizontalEditPart.java @@ -12,11 +12,11 @@ *******************************************************************************/ package org.eclipse.wb.internal.swing.gef.part.box; -import org.eclipse.wb.draw2d.Figure; import org.eclipse.wb.gef.core.EditPart; import org.eclipse.wb.internal.swing.gef.policy.component.box.GlueSelectionEditPolicy; import org.eclipse.wb.internal.swing.model.component.ComponentInfo; +import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Rectangle; @@ -60,7 +60,8 @@ protected void createEditPolicies() { protected IFigure createFigure() { return new Figure() { @Override - protected void paintClientArea(Graphics graphics) { + protected void paintFigure(Graphics graphics) { + super.paintFigure(graphics); Rectangle r = getClientArea(); draw(graphics, r); } diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueVerticalEditPart.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueVerticalEditPart.java index bb13db8ea..08297a772 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueVerticalEditPart.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxGlueVerticalEditPart.java @@ -12,11 +12,11 @@ *******************************************************************************/ package org.eclipse.wb.internal.swing.gef.part.box; -import org.eclipse.wb.draw2d.Figure; import org.eclipse.wb.gef.core.EditPart; import org.eclipse.wb.internal.swing.gef.policy.component.box.GlueSelectionEditPolicy; import org.eclipse.wb.internal.swing.model.component.ComponentInfo; +import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Rectangle; @@ -60,7 +60,8 @@ protected void createEditPolicies() { protected IFigure createFigure() { return new Figure() { @Override - protected void paintClientArea(Graphics graphics) { + protected void paintFigure(Graphics graphics) { + super.paintFigure(graphics); Rectangle r = getClientArea(); draw(graphics, r); } @@ -77,8 +78,8 @@ static void draw(Graphics graphics, Rectangle r) { // draw spring { graphics.setForegroundColor(COLOR_SPRING); - int y = r.y; - while (y < r.bottom()) { + int y = 0; + while (y < r.height) { graphics.drawLine(3, y, 3 + 5, y + 2); y += 2; graphics.drawLine(3 + 5, y, 3, y + 2); diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxRigidAreaEditPart.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxRigidAreaEditPart.java index ec19cd303..1032c0a43 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxRigidAreaEditPart.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxRigidAreaEditPart.java @@ -12,12 +12,12 @@ *******************************************************************************/ package org.eclipse.wb.internal.swing.gef.part.box; -import org.eclipse.wb.draw2d.Figure; import org.eclipse.wb.gef.core.EditPart; import org.eclipse.wb.internal.swing.gef.policy.component.box.StrutDirectRigidEditPolicy; import org.eclipse.wb.internal.swing.gef.policy.component.box.StrutSelectionRigidEditPolicy; import org.eclipse.wb.internal.swing.model.component.ComponentInfo; +import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Rectangle; @@ -62,7 +62,8 @@ protected void createEditPolicies() { protected IFigure createFigure() { return new Figure() { @Override - protected void paintClientArea(Graphics graphics) { + protected void paintFigure(Graphics graphics) { + super.paintFigure(graphics); Rectangle r = getClientArea(); BoxStrutHorizontalEditPart.draw(graphics, r); BoxStrutVerticalEditPart.draw(graphics, r); diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutHorizontalEditPart.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutHorizontalEditPart.java index 1d5413505..7436bbe29 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutHorizontalEditPart.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutHorizontalEditPart.java @@ -12,12 +12,12 @@ *******************************************************************************/ package org.eclipse.wb.internal.swing.gef.part.box; -import org.eclipse.wb.draw2d.Figure; import org.eclipse.wb.gef.core.EditPart; import org.eclipse.wb.internal.swing.gef.policy.component.box.StrutDirectHorizontalEditPolicy; import org.eclipse.wb.internal.swing.gef.policy.component.box.StrutSelectionHorizontalEditPolicy; import org.eclipse.wb.internal.swing.model.component.ComponentInfo; +import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Rectangle; @@ -64,7 +64,8 @@ protected void createEditPolicies() { protected IFigure createFigure() { return new Figure() { @Override - protected void paintClientArea(Graphics graphics) { + protected void paintFigure(Graphics graphics) { + super.paintFigure(graphics); Rectangle r = getClientArea(); draw(graphics, r); } diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutVerticalEditPart.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutVerticalEditPart.java index 20f313de3..a209eee16 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutVerticalEditPart.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/gef/part/box/BoxStrutVerticalEditPart.java @@ -12,12 +12,12 @@ *******************************************************************************/ package org.eclipse.wb.internal.swing.gef.part.box; -import org.eclipse.wb.draw2d.Figure; import org.eclipse.wb.gef.core.EditPart; import org.eclipse.wb.internal.swing.gef.policy.component.box.StrutDirectVerticalEditPolicy; import org.eclipse.wb.internal.swing.gef.policy.component.box.StrutSelectionVerticalEditPolicy; import org.eclipse.wb.internal.swing.model.component.ComponentInfo; +import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Rectangle; @@ -62,7 +62,8 @@ protected void createEditPolicies() { protected IFigure createFigure() { return new Figure() { @Override - protected void paintClientArea(Graphics graphics) { + protected void paintFigure(Graphics graphics) { + super.paintFigure(graphics); Rectangle r = getClientArea(); draw(graphics, r); }