Skip to content

Commit 3e1a4ad

Browse files
committed
[GEF] Use EditPartViewer interface when creating UI actions
The `IEditPartViewer` is a WindowBuilder-specific subclass of the GEF EditPartViewer. But none of its methods are required when creating these actions. By removing it now, we avoid type-cast errors when using those actions for pure GEF viewers.
1 parent ee3168c commit 3e1a4ad

10 files changed

Lines changed: 43 additions & 40 deletions

File tree

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/JavaDesignComposite.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011 Google, Inc.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -16,14 +16,14 @@
1616
import org.eclipse.wb.core.model.JavaInfo;
1717
import org.eclipse.wb.core.model.ObjectInfo;
1818
import org.eclipse.wb.gef.core.ICommandExceptionHandler;
19-
import org.eclipse.wb.gef.core.IEditPartViewer;
2019
import org.eclipse.wb.internal.core.editor.actions.DesignPageActions;
2120
import org.eclipse.wb.internal.core.editor.actions.SelectSupport;
2221
import org.eclipse.wb.internal.core.editor.palette.DesignerPalette;
2322
import org.eclipse.wb.internal.core.model.DesignRootObject;
2423
import org.eclipse.wb.internal.core.utils.Debug;
2524

2625
import org.eclipse.core.runtime.IProgressMonitor;
26+
import org.eclipse.gef.EditPartViewer;
2727
import org.eclipse.jface.action.IAction;
2828
import org.eclipse.swt.SWT;
2929
import org.eclipse.swt.events.DisposeEvent;
@@ -62,7 +62,7 @@ public JavaDesignComposite(Composite parent,
6262
////////////////////////////////////////////////////////////////////////////
6363
@Override
6464
protected void createDesignActions() {
65-
IEditPartViewer treeViewer = m_componentsComposite.getTreeViewer();
65+
EditPartViewer treeViewer = m_componentsComposite.getTreeViewer();
6666
m_pageActions = new DesignPageActions(m_editorPart, treeViewer);
6767
m_viewer.setContextMenu(new DesignContextMenuProvider(m_viewer, m_pageActions));
6868
// install dispose listener

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/actions/CopyAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2024 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -13,13 +13,13 @@
1313
package org.eclipse.wb.internal.core.editor.actions;
1414

1515
import org.eclipse.wb.core.model.JavaInfo;
16-
import org.eclipse.wb.gef.core.IEditPartViewer;
1716
import org.eclipse.wb.internal.core.model.clipboard.JavaInfoMemento;
1817
import org.eclipse.wb.internal.core.model.clipboard.JavaInfoMementoTransfer;
1918
import org.eclipse.wb.internal.core.utils.execution.ExecutionUtils;
2019
import org.eclipse.wb.internal.core.utils.execution.RunnableEx;
2120

2221
import org.eclipse.gef.EditPart;
22+
import org.eclipse.gef.EditPartViewer;
2323
import org.eclipse.jface.action.Action;
2424
import org.eclipse.jface.viewers.ISelectionChangedListener;
2525
import org.eclipse.jface.viewers.SelectionChangedEvent;
@@ -39,14 +39,14 @@
3939
* @coverage core.editor.action
4040
*/
4141
public class CopyAction extends Action {
42-
private final IEditPartViewer m_viewer;
42+
private final EditPartViewer m_viewer;
4343

4444
////////////////////////////////////////////////////////////////////////////
4545
//
4646
// Constructor
4747
//
4848
////////////////////////////////////////////////////////////////////////////
49-
public CopyAction(IEditPartViewer viewer) {
49+
public CopyAction(EditPartViewer viewer) {
5050
m_viewer = viewer;
5151
m_viewer.addSelectionChangedListener(new ISelectionChangedListener() {
5252
@Override

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/actions/CutAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2025 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -12,12 +12,12 @@
1212
*******************************************************************************/
1313
package org.eclipse.wb.internal.core.editor.actions;
1414

15-
import org.eclipse.wb.gef.core.IEditPartViewer;
1615
import org.eclipse.wb.internal.core.model.clipboard.JavaInfoMemento;
1716
import org.eclipse.wb.internal.core.utils.execution.ExecutionUtils;
1817
import org.eclipse.wb.internal.core.utils.execution.RunnableEx;
1918

2019
import org.eclipse.gef.EditPart;
20+
import org.eclipse.gef.EditPartViewer;
2121
import org.eclipse.gef.commands.Command;
2222
import org.eclipse.jface.action.Action;
2323
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -33,14 +33,14 @@
3333
* @coverage core.editor.action
3434
*/
3535
public class CutAction extends Action {
36-
private final IEditPartViewer m_viewer;
36+
private final EditPartViewer m_viewer;
3737

3838
////////////////////////////////////////////////////////////////////////////
3939
//
4040
// Constructor
4141
//
4242
////////////////////////////////////////////////////////////////////////////
43-
public CutAction(IEditPartViewer viewer) {
43+
public CutAction(EditPartViewer viewer) {
4444
m_viewer = viewer;
4545
m_viewer.addSelectionChangedListener(new ISelectionChangedListener() {
4646
@Override

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/actions/DesignPageActions.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011 Google, Inc.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -18,6 +18,7 @@
1818
import org.eclipse.wb.internal.core.editor.actions.assistant.LayoutAssistantAction;
1919
import org.eclipse.wb.internal.core.editor.actions.errors.ErrorsAction;
2020

21+
import org.eclipse.gef.EditPartViewer;
2122
import org.eclipse.jface.action.IAction;
2223
import org.eclipse.ui.IActionBars;
2324
import org.eclipse.ui.IEditorPart;
@@ -34,7 +35,7 @@
3435
* @coverage core.editor.action
3536
*/
3637
public final class DesignPageActions {
37-
private final IEditPartViewer m_viewer;
38+
private final EditPartViewer m_viewer;
3839
private final IActionBars m_actionBars;
3940
////////////////////////////////////////////////////////////////////////////
4041
//
@@ -63,7 +64,7 @@ public final class DesignPageActions {
6364
* @param actionBars
6465
* the editor site {@link IActionBars}.
6566
*/
66-
public DesignPageActions(IEditorPart editor, IEditPartViewer viewer) {
67+
public DesignPageActions(IEditorPart editor, EditPartViewer viewer) {
6768
m_viewer = viewer;
6869
m_actionBars = editor.getEditorSite().getActionBars();
6970
//

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/actions/PasteAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011 Google, Inc.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -12,11 +12,11 @@
1212
*******************************************************************************/
1313
package org.eclipse.wb.internal.core.editor.actions;
1414

15-
import org.eclipse.wb.gef.core.IEditPartViewer;
1615
import org.eclipse.wb.gef.core.tools.PasteTool;
1716
import org.eclipse.wb.internal.core.model.clipboard.JavaInfoMemento;
1817
import org.eclipse.wb.internal.core.model.clipboard.JavaInfoMementoTransfer;
1918

19+
import org.eclipse.gef.EditPartViewer;
2020
import org.eclipse.jface.action.Action;
2121
import org.eclipse.swt.dnd.Clipboard;
2222
import org.eclipse.swt.widgets.Control;
@@ -33,14 +33,14 @@
3333
* @coverage core.editor.action
3434
*/
3535
public class PasteAction extends Action {
36-
private final IEditPartViewer m_viewer;
36+
private final EditPartViewer m_viewer;
3737

3838
////////////////////////////////////////////////////////////////////////////
3939
//
4040
// Constructor
4141
//
4242
////////////////////////////////////////////////////////////////////////////
43-
public PasteAction(IEditPartViewer viewer) {
43+
public PasteAction(EditPartViewer viewer) {
4444
m_viewer = viewer;
4545
// copy presentation
4646
ActionUtils.copyPresentation(this, ActionFactory.PASTE);

org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/actions/DeleteAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2025 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -15,9 +15,9 @@
1515
import org.eclipse.wb.core.gef.command.CompoundEditCommand;
1616
import org.eclipse.wb.core.gef.command.EditCommand;
1717
import org.eclipse.wb.core.model.ObjectInfo;
18-
import org.eclipse.wb.gef.core.IEditPartViewer;
1918

2019
import org.eclipse.gef.EditPart;
20+
import org.eclipse.gef.EditPartViewer;
2121
import org.eclipse.gef.commands.Command;
2222
import org.eclipse.jface.action.Action;
2323
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -35,14 +35,14 @@
3535
* @coverage core.editor.action
3636
*/
3737
public class DeleteAction extends Action {
38-
private final IEditPartViewer m_viewer;
38+
private final EditPartViewer m_viewer;
3939

4040
////////////////////////////////////////////////////////////////////////////
4141
//
4242
// Constructor
4343
//
4444
////////////////////////////////////////////////////////////////////////////
45-
public DeleteAction(IEditPartViewer viewer) {
45+
public DeleteAction(EditPartViewer viewer) {
4646
m_viewer = viewer;
4747
m_viewer.addSelectionChangedListener(new ISelectionChangedListener() {
4848
@Override

org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/actions/SelectSupport.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2024 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -15,7 +15,6 @@
1515
import org.eclipse.wb.core.editor.IContextMenuConstants;
1616
import org.eclipse.wb.core.model.ObjectInfo;
1717
import org.eclipse.wb.core.model.broadcast.ObjectEventListener;
18-
import org.eclipse.wb.gef.core.IEditPartViewer;
1918
import org.eclipse.wb.internal.core.DesignerPlugin;
2019
import org.eclipse.wb.internal.core.EnvironmentUtils;
2120
import org.eclipse.wb.internal.core.model.ObjectInfoVisitor;
@@ -25,6 +24,7 @@
2524
import org.eclipse.wb.internal.core.utils.state.IDescriptionHelper;
2625

2726
import org.eclipse.gef.EditPart;
27+
import org.eclipse.gef.EditPartViewer;
2828
import org.eclipse.jface.action.IMenuManager;
2929
import org.eclipse.jface.action.MenuManager;
3030
import org.eclipse.jface.viewers.StructuredSelection;
@@ -48,8 +48,8 @@
4848
*/
4949
public final class SelectSupport {
5050
private final ObjectInfo m_rootObject;
51-
private final IEditPartViewer m_graphicalViewer;
52-
private final IEditPartViewer m_treeViewer;
51+
private final EditPartViewer m_graphicalViewer;
52+
private final EditPartViewer m_treeViewer;
5353
private final Set<ObjectInfo> m_selectedObjects = new HashSet<>();
5454
private final Set<ObjectInfo> m_selectingSet = new LinkedHashSet<>();
5555

@@ -59,8 +59,8 @@ public final class SelectSupport {
5959
//
6060
////////////////////////////////////////////////////////////////////////////
6161
public SelectSupport(ObjectInfo rootObject,
62-
IEditPartViewer graphicalViewer,
63-
IEditPartViewer treeViewer) {
62+
EditPartViewer graphicalViewer,
63+
EditPartViewer treeViewer) {
6464
m_rootObject = rootObject;
6565
m_graphicalViewer = graphicalViewer;
6666
m_treeViewer = treeViewer;
@@ -106,15 +106,15 @@ public void handleEvent(Event event) {
106106
/**
107107
* Adds {@link SWT#KeyDown} listener for {@link Control} of viewer.
108108
*/
109-
private void addKeyDownListener(IEditPartViewer viewer) {
109+
private void addKeyDownListener(EditPartViewer viewer) {
110110
Control control = viewer.getControl();
111111
control.addListener(SWT.KeyDown, m_keyListener);
112112
}
113113

114114
/**
115115
* Removes {@link SWT#KeyDown} listener from {@link Control} of viewer.
116116
*/
117-
private void removeKeyDownListener(IEditPartViewer viewer) {
117+
private void removeKeyDownListener(EditPartViewer viewer) {
118118
Control control = viewer.getControl();
119119
if (!control.isDisposed()) {
120120
control.removeListener(SWT.KeyDown, m_keyListener);

org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/actions/assistant/LayoutAssistantAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2024 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -14,11 +14,11 @@
1414

1515
import org.eclipse.wb.core.model.ObjectInfo;
1616
import org.eclipse.wb.core.model.broadcast.ObjectEventListener;
17-
import org.eclipse.wb.gef.core.IEditPartViewer;
1817
import org.eclipse.wb.internal.core.DesignerPlugin;
1918
import org.eclipse.wb.internal.core.editor.Messages;
2019

2120
import org.eclipse.gef.EditPart;
21+
import org.eclipse.gef.EditPartViewer;
2222
import org.eclipse.jface.action.Action;
2323
import org.eclipse.jface.action.IAction;
2424
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -42,15 +42,15 @@
4242
*/
4343
public final class LayoutAssistantAction extends Action {
4444
private final IEditorPart m_editor;
45-
private final IEditPartViewer m_viewer;
45+
private final EditPartViewer m_viewer;
4646
private LayoutAssistantWindow m_assistantWindow;
4747
private final IWorkbenchWindow m_workbenchWindow;
4848
////////////////////////////////////////////////////////////////////////////
4949
//
5050
// Constructor
5151
//
5252
////////////////////////////////////////////////////////////////////////////
53-
public LayoutAssistantAction(IEditorPart editor, IEditPartViewer viewer) {
53+
public LayoutAssistantAction(IEditorPart editor, EditPartViewer viewer) {
5454
super(Messages.LayoutAssistantAction_text, IAction.AS_CHECK_BOX);
5555
setToolTipText(Messages.LayoutAssistantAction_toolTip);
5656
setImageDescriptor(DesignerPlugin.getImageDescriptor("actions/assistant/assistant.png"));

org.eclipse.wb.core/src/org/eclipse/wb/internal/core/utils/gef/EditPartsContentProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2025 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -15,6 +15,7 @@
1515
import org.eclipse.wb.gef.core.IEditPartViewer;
1616

1717
import org.eclipse.gef.EditPart;
18+
import org.eclipse.gef.EditPartViewer;
1819
import org.eclipse.jface.viewers.ITreeContentProvider;
1920
import org.eclipse.jface.viewers.Viewer;
2021

@@ -30,14 +31,14 @@
3031
* @coverage gef.core
3132
*/
3233
public final class EditPartsContentProvider implements ITreeContentProvider {
33-
private final IEditPartViewer m_viewer;
34+
private final EditPartViewer m_viewer;
3435

3536
////////////////////////////////////////////////////////////////////////////
3637
//
3738
// Constructor
3839
//
3940
////////////////////////////////////////////////////////////////////////////
40-
public EditPartsContentProvider(IEditPartViewer viewer) {
41+
public EditPartsContentProvider(EditPartViewer viewer) {
4142
m_viewer = viewer;
4243
}
4344

org.eclipse.wb.core/src/org/eclipse/wb/internal/core/utils/gef/EditPartsSelectionProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2024 Google, Inc. and others.
2+
* Copyright (c) 2011, 2026 Google, Inc. and others.
33
*
44
* This program and the accompanying materials are made available under the
55
* terms of the Eclipse Public License 2.0 which is available at
@@ -16,6 +16,7 @@
1616

1717
import org.eclipse.draw2d.EventListenerList;
1818
import org.eclipse.gef.EditPart;
19+
import org.eclipse.gef.EditPartViewer;
1920
import org.eclipse.jface.viewers.ISelection;
2021
import org.eclipse.jface.viewers.ISelectionChangedListener;
2122
import org.eclipse.jface.viewers.ISelectionProvider;
@@ -34,7 +35,7 @@
3435
* @coverage gef.core
3536
*/
3637
public final class EditPartsSelectionProvider implements ISelectionProvider {
37-
private final IEditPartViewer m_viewer;
38+
private final EditPartViewer m_viewer;
3839
private final EventListenerList m_eventTable = new EventListenerList();
3940
private final ISelectionChangedListener m_selectionListener = new ISelectionChangedListener() {
4041
@Override
@@ -48,7 +49,7 @@ public void selectionChanged(SelectionChangedEvent event) {
4849
// Constructor
4950
//
5051
////////////////////////////////////////////////////////////////////////////
51-
public EditPartsSelectionProvider(IEditPartViewer viewer) {
52+
public EditPartsSelectionProvider(EditPartViewer viewer) {
5253
m_viewer = viewer;
5354
}
5455

0 commit comments

Comments
 (0)