From a83c9b217b96ef129ed80edace4271a754486da6 Mon Sep 17 00:00:00 2001 From: Patrick Ziegler Date: Sat, 18 Jul 2026 15:44:05 +0200 Subject: [PATCH] [GEF] Harmonize `ResizeTracker` methods with GEF class - Use `getCommandName` instead of `getRequestType` - Rename `getDirection` to `getResizeDirection` - Rename `getRequest` to `getSourceRequest` --- .../wb/gef/graphical/tools/ResizeTracker.java | 45 ++++++++----------- .../AbsoluteBasedSelectionEditPolicy.java | 6 +-- .../META-INF/MANIFEST.MF | 4 +- .../META-INF/MANIFEST.MF | 4 +- .../eclipse/wb/tests/gef/GraphicalRobot.java | 12 ++++- .../wb/tests/gef/ResizeTrackerTest.java | 2 +- 6 files changed, 37 insertions(+), 36 deletions(-) diff --git a/org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/graphical/tools/ResizeTracker.java b/org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/graphical/tools/ResizeTracker.java index 5aeb3be65..1f2fc53ca 100644 --- a/org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/graphical/tools/ResizeTracker.java +++ b/org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/graphical/tools/ResizeTracker.java @@ -21,7 +21,7 @@ import org.eclipse.gef.DragTracker; import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPartViewer; -import org.eclipse.gef.Request; +import org.eclipse.gef.GraphicalEditPart; import org.eclipse.gef.commands.Command; import org.eclipse.gef.commands.CompoundCommand; import org.eclipse.gef.requests.ChangeBoundsRequest; @@ -45,7 +45,7 @@ public class ResizeTracker extends AbstractTool implements DragTracker { private final List m_operationSet; private final int m_direction; - private final Object m_requestType; + private final String m_requestType; private ChangeBoundsRequest m_request; //////////////////////////////////////////////////////////////////////////// @@ -53,11 +53,11 @@ public class ResizeTracker extends AbstractTool implements DragTracker { // Constructors // //////////////////////////////////////////////////////////////////////////// - public ResizeTracker(int direction, Object requestType) { + public ResizeTracker(int direction, String requestType) { this(null, direction, requestType); } - public ResizeTracker(EditPart selectionEditPart, int direction, Object requestType) { + public ResizeTracker(GraphicalEditPart selectionEditPart, int direction, String requestType) { if (selectionEditPart == null) { m_operationSet = null; } else { @@ -69,27 +69,20 @@ public ResizeTracker(EditPart selectionEditPart, int direction, Object requestTy setDefaultCursor(Cursors.getDirectionalCursor(direction)); } - @Override - protected String getCommandName() { - return null; - } - //////////////////////////////////////////////////////////////////////////// // // Access // //////////////////////////////////////////////////////////////////////////// - /** - * @return the type of {@link Request} that is generated by this {@link ResizeTracker}. For tests. - */ - public Object getRequestType() { + @Override + protected String getCommandName() { return m_requestType; } /** * @return the resize direction. For tests. */ - public int getDirection() { + protected int getResizeDirection() { return m_direction; } @@ -212,7 +205,7 @@ protected List createOperationSet() { EditPart part = I.next(); // find target for current EditPart while (part != null) { - EditPart newPart = part.getTargetEditPart(getRequest()); + EditPart newPart = part.getTargetEditPart(getSourceRequest()); if (newPart == part) { break; } @@ -237,14 +230,14 @@ protected List createOperationSet() { @SuppressWarnings("deprecation") private void updateRequest() { // create request - if (getRequest() == null) { + if (getSourceRequest() == null) { setRequest(new ChangeBoundsRequest(m_requestType)); - getRequest().setResizeDirection(m_direction); + getSourceRequest().setResizeDirection(m_direction); } // set EditPart's - getRequest().setEditParts(getOperationSet()); + getSourceRequest().setEditParts(getOperationSet()); // set stateMask - getRequest().setSnapToEnabled(getCurrentInput().isControlKeyDown()); + getSourceRequest().setSnapToEnabled(getCurrentInput().isControlKeyDown()); // update request Point corner = new Point(); Dimension resize = new Dimension(); @@ -264,9 +257,9 @@ private void updateRequest() { resize.width += dragMoveDelta.width; } // set request data - getRequest().setMoveDelta(corner); - getRequest().setSizeDelta(resize); - getRequest().setLocation(getLocation()); + getSourceRequest().setMoveDelta(corner); + getSourceRequest().setSizeDelta(resize); + getSourceRequest().setLocation(getLocation()); } /** @@ -278,7 +271,7 @@ protected Command getCommand() { CompoundCommand command = new CompoundCommand(); // for (EditPart part : getOperationSet()) { - command.add(part.getCommand(getRequest())); + command.add(part.getCommand(getSourceRequest())); } // return command.unwrap(); @@ -297,7 +290,7 @@ protected Command getCommand() { */ protected void showSourceFeedback() { for (EditPart part : getOperationSet()) { - part.showSourceFeedback(getRequest()); + part.showSourceFeedback(getSourceRequest()); } setShowingFeedback(true); } @@ -310,7 +303,7 @@ protected void eraseSourceFeedback() { if (isShowingFeedback()) { setShowingFeedback(false); for (EditPart part : getOperationSet()) { - part.eraseSourceFeedback(getRequest()); + part.eraseSourceFeedback(getSourceRequest()); } } } @@ -332,7 +325,7 @@ private void setRequest(ChangeBoundsRequest request) { m_request = request; } - protected final ChangeBoundsRequest getRequest() { + protected final ChangeBoundsRequest getSourceRequest() { return m_request; } } \ No newline at end of file diff --git a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/gef/policy/layout/absolute/AbsoluteBasedSelectionEditPolicy.java b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/gef/policy/layout/absolute/AbsoluteBasedSelectionEditPolicy.java index a3a9a6da3..b001213f2 100644 --- a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/gef/policy/layout/absolute/AbsoluteBasedSelectionEditPolicy.java +++ b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/gef/policy/layout/absolute/AbsoluteBasedSelectionEditPolicy.java @@ -69,12 +69,12 @@ private Handle createResizeHandle(int direction) { handle.setDragTracker(new ResizeTracker(direction, REQ_RESIZE) { @Override protected Command getCommand() { - return getLayoutEditPolicy().getResizeCommandImpl(getRequest()); + return getLayoutEditPolicy().getResizeCommandImpl(getSourceRequest()); } @Override protected void showSourceFeedback() { - getLayoutEditPolicy().showResizeFeedback(getRequest()); + getLayoutEditPolicy().showResizeFeedback(getSourceRequest()); setShowingFeedback(true); } @@ -82,7 +82,7 @@ protected void showSourceFeedback() { protected void eraseSourceFeedback() { if (isShowingFeedback()) { setShowingFeedback(false); - getLayoutEditPolicy().eraseResizeFeedback(getRequest()); + getLayoutEditPolicy().eraseResizeFeedback(getSourceRequest()); } } }); diff --git a/org.eclipse.wb.layout.group/META-INF/MANIFEST.MF b/org.eclipse.wb.layout.group/META-INF/MANIFEST.MF index f56453922..2737373cd 100644 --- a/org.eclipse.wb.layout.group/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.layout.group/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.wb.layout.group;singleton:=true -Bundle-Version: 1.10.100.qualifier +Bundle-Version: 1.10.200.qualifier Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy @@ -14,7 +14,7 @@ Bundle-ClassPath: . Require-Bundle: org.eclipse.core.resources;bundle-version="[3.20.200,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.31.100,4.0.0)", org.eclipse.jface;bundle-version="[3.34.0,4.0.0)", - org.eclipse.wb.core;bundle-version="[1.21.0,2.0.0)", + org.eclipse.wb.core;bundle-version="[1.25.0,2.0.0)", org.eclipse.wb.core.java;bundle-version="[1.13.100,2.0.0)", org.eclipse.draw2d;bundle-version="[3.20.0,4.0.0)", org.eclipse.gef;bundle-version="[3.21.100,4.0.0)" diff --git a/org.eclipse.wb.swing.MigLayout/META-INF/MANIFEST.MF b/org.eclipse.wb.swing.MigLayout/META-INF/MANIFEST.MF index a69feb3aa..5991703ad 100644 --- a/org.eclipse.wb.swing.MigLayout/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.swing.MigLayout/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.wb.swing.MigLayout;singleton:=true -Bundle-Version: 1.12.100.qualifier +Bundle-Version: 1.12.200.qualifier Bundle-Activator: org.eclipse.wb.internal.swing.MigLayout.Activator Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: JavaSE-21 @@ -10,7 +10,7 @@ Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.ui;bundle-version="[3.206.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.31.100,4.0.0)", org.eclipse.core.resources;bundle-version="[3.20.200,4.0.0)", - org.eclipse.wb.core;bundle-version="[1.21.0,2.0.0)", + org.eclipse.wb.core;bundle-version="[1.25.0,2.0.0)", org.eclipse.wb.swing;bundle-version="[1.10.200,2.0.0)", org.eclipse.draw2d;bundle-version="[3.20.0,4.0.0)", org.eclipse.gef;bundle-version="[3.21.100,4.0.0)" diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/GraphicalRobot.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/GraphicalRobot.java index e437ac227..71dc392a9 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/GraphicalRobot.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/GraphicalRobot.java @@ -255,8 +255,8 @@ public GraphicalRobot toResizeHandle(Object object, final Object type, final int Predicate predicate = handle -> { if (handle.getDragTracker() instanceof ResizeTracker) { ResizeTracker resizeTracker = (ResizeTracker) handle.getDragTracker(); - return resizeTracker.getDirection() == direction - && Objects.equals(resizeTracker.getRequestType(), type); + return getResizeDirection(resizeTracker) == direction + && Objects.equals(getCommandName(resizeTracker), type); } return false; }; @@ -265,6 +265,14 @@ public GraphicalRobot toResizeHandle(Object object, final Object type, final int return this; } + private int getResizeDirection(ResizeTracker resizeTracker) { + return (int) ReflectionUtils.invokeMethodEx(resizeTracker, "getResizeDirection()"); + } + + private String getCommandName(ResizeTracker resizeTracker) { + return (String) ReflectionUtils.invokeMethodEx(resizeTracker, "getCommandName()"); + } + /** * Informs that RESIZE should be performed, using standard {@link ResizeHandle}. */ diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/ResizeTrackerTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/ResizeTrackerTest.java index 2d642ffc5..9b6839518 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/ResizeTrackerTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/ResizeTrackerTest.java @@ -53,7 +53,7 @@ public void setUp() throws Exception { m_viewport = m_viewer.getControl().getViewport(); } - private void setUp(int direction, Object type) { + private void setUp(int direction, String type) { m_direction = direction; m_type = type; m_domain.setActiveTool(new ResizeTracker(direction, type));