Skip to content

Commit f3dd5c6

Browse files
committed
Dropping a file onto the top of an image wasn't possible on a label
containing an imageView.The issue was previously fixed via eclipse-platform/eclipse.platform.swt#649. However, in the workbench, dropping onto the image still didn’t work. The issue is not resolved by calling a DropTarget on the shell obtained from the active IWorkbenchWindow.
1 parent f41ea06 commit f3dd5c6

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/MANIFEST.MF

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Export-Package: org.eclipse.e4.ui.internal.workbench.renderers.swt;x-friends:="o
2929
Bundle-ActivationPolicy: lazy
3030
Import-Package: jakarta.annotation;version="[2.1.0,3.0.0)",
3131
jakarta.inject;version="[2.0.0,3.0.0)",
32+
org.eclipse.ui,
3233
org.osgi.service.event;version="[1.3.0,2.0.0)"
3334
Automatic-Module-Name: org.eclipse.e4.ui.workbench.renderers.swt
3435
Require-Capability: eclipse.swt;filter:="(image.format=svg)"

bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@
8787
import org.eclipse.swt.custom.CTabFolder2Listener;
8888
import org.eclipse.swt.custom.CTabFolderEvent;
8989
import org.eclipse.swt.custom.CTabItem;
90+
import org.eclipse.swt.dnd.DND;
91+
import org.eclipse.swt.dnd.DropTarget;
9092
import org.eclipse.swt.events.ControlEvent;
9193
import org.eclipse.swt.events.ControlListener;
9294
import org.eclipse.swt.events.MouseAdapter;
@@ -113,6 +115,8 @@
113115
import org.eclipse.swt.widgets.ToolBar;
114116
import org.eclipse.swt.widgets.ToolItem;
115117
import org.eclipse.swt.widgets.Widget;
118+
import org.eclipse.ui.IWorkbenchWindow;
119+
import org.eclipse.ui.PlatformUI;
116120
import org.osgi.service.event.Event;
117121
import org.osgi.service.event.EventHandler;
118122

@@ -158,6 +162,8 @@ public class StackRenderer extends LazyStackRenderer {
158162
*/
159163
private static final String TAB_FONT_KEY = "org.eclipse.ui.workbench.TAB_TEXT_FONT"; //$NON-NLS-1$
160164

165+
private static final int DROP_OPERATIONS = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
166+
161167
@Inject
162168
@Preference(nodePath = "org.eclipse.e4.ui.workbench.renderers.swt")
163169
private IEclipsePreferences preferences;
@@ -719,6 +725,9 @@ public Object createWidget(MUIElement element, Object parent) {
719725
if (PartStackUtil.isEditorStack(element)) {
720726
createOnboardingControls(tabFolder);
721727
initializeOnboardingInformationInEditorStack(tabFolder);
728+
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
729+
Shell shell = window.getShell();
730+
new DropTarget(shell, DROP_OPERATIONS);
722731
}
723732
tabFolder.setMRUVisible(getMRUValue());
724733

0 commit comments

Comments
 (0)