Skip to content

Commit 68d2115

Browse files
committed
[GEF] Use GEF Tool interface where possible
This also adapts the remaining Command-related methods of our `Tool` class to align with the ones defined in `AbstractTool`.
1 parent d2d29ba commit 68d2115

71 files changed

Lines changed: 215 additions & 140 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

org.eclipse.wb.core.java/.settings/.api_filters

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,78 @@
88
</message_arguments>
99
</filter>
1010
</resource>
11+
<resource path="src/org/eclipse/wb/core/editor/palette/model/EntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.EntryInfo">
12+
<filter comment="Remove referencef to internal Tool class" id="336695337">
13+
<message_arguments>
14+
<message_argument value="org.eclipse.wb.core.editor.palette.model.EntryInfo"/>
15+
<message_argument value="createTool(boolean)"/>
16+
</message_arguments>
17+
</filter>
18+
<filter comment="Remove reference to internal Tool class" id="338792546">
19+
<message_arguments>
20+
<message_argument value="org.eclipse.wb.core.editor.palette.model.EntryInfo"/>
21+
<message_argument value="createTool(boolean)"/>
22+
</message_arguments>
23+
</filter>
24+
</resource>
25+
<resource path="src/org/eclipse/wb/core/editor/palette/model/entry/ChooseComponentEntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.entry.ChooseComponentEntryInfo">
26+
<filter comment="Remove reference to internal Tool class" id="338792546">
27+
<message_arguments>
28+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.ChooseComponentEntryInfo"/>
29+
<message_argument value="createTool()"/>
30+
</message_arguments>
31+
</filter>
32+
</resource>
33+
<resource path="src/org/eclipse/wb/core/editor/palette/model/entry/ComponentEntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.entry.ComponentEntryInfo">
34+
<filter comment="Remove reference to internal Tool class" id="338792546">
35+
<message_arguments>
36+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.ComponentEntryInfo"/>
37+
<message_argument value="createTool()"/>
38+
</message_arguments>
39+
</filter>
40+
</resource>
41+
<resource path="src/org/eclipse/wb/core/editor/palette/model/entry/MarqueeSelectionToolEntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.entry.MarqueeSelectionToolEntryInfo">
42+
<filter comment="Remove reference to internal Tool class" id="338792546">
43+
<message_arguments>
44+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.MarqueeSelectionToolEntryInfo"/>
45+
<message_argument value="createTool()"/>
46+
</message_arguments>
47+
</filter>
48+
</resource>
49+
<resource path="src/org/eclipse/wb/core/editor/palette/model/entry/SelectionToolEntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.entry.SelectionToolEntryInfo">
50+
<filter comment="Remove reference to internal Tool class" id="338792546">
51+
<message_arguments>
52+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.SelectionToolEntryInfo"/>
53+
<message_argument value="createTool()"/>
54+
</message_arguments>
55+
</filter>
56+
</resource>
57+
<resource path="src/org/eclipse/wb/core/editor/palette/model/entry/TabOrderToolEntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.entry.TabOrderToolEntryInfo">
58+
<filter comment="Remove reference to internal Tool class" id="338792546">
59+
<message_arguments>
60+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.TabOrderToolEntryInfo"/>
61+
<message_argument value="createTool()"/>
62+
</message_arguments>
63+
</filter>
64+
</resource>
65+
<resource path="src/org/eclipse/wb/core/editor/palette/model/entry/ToolEntryInfo.java" type="org.eclipse.wb.core.editor.palette.model.entry.ToolEntryInfo">
66+
<filter comment="Remove reference to internal Tool class" id="336695337">
67+
<message_arguments>
68+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.ToolEntryInfo"/>
69+
<message_argument value="createTool()"/>
70+
</message_arguments>
71+
</filter>
72+
<filter comment="Remove reference to internal Tool class" id="338792546">
73+
<message_arguments>
74+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.ToolEntryInfo"/>
75+
<message_argument value="createTool()"/>
76+
</message_arguments>
77+
</filter>
78+
<filter comment="Remove reference to internal Tool class" id="338792546">
79+
<message_arguments>
80+
<message_argument value="org.eclipse.wb.core.editor.palette.model.entry.ToolEntryInfo"/>
81+
<message_argument value="createTool(boolean)"/>
82+
</message_arguments>
83+
</filter>
84+
</resource>
1185
</component>

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/EntryInfo.java

Lines changed: 3 additions & 2 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,10 +14,10 @@
1414

1515
import org.eclipse.wb.core.model.JavaInfo;
1616
import org.eclipse.wb.gef.core.IEditPartViewer;
17-
import org.eclipse.wb.gef.core.tools.Tool;
1817
import org.eclipse.wb.internal.core.utils.ast.AstEditor;
1918
import org.eclipse.wb.internal.core.utils.state.EditorState;
2019

20+
import org.eclipse.gef.Tool;
2121
import org.eclipse.jdt.core.IJavaProject;
2222
import org.eclipse.jface.resource.ImageDescriptor;
2323

@@ -94,6 +94,7 @@ public boolean activate(boolean reload) {
9494
* successful using.
9595
* @return the {@link Tool} that should be set on activation, or {@code null} if
9696
* no {@link Tool} can be activated.
97+
* @since 1.15
9798
*/
9899
public abstract Tool createTool(boolean reload);
99100

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/entry/ChooseComponentEntryInfo.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2023 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
@@ -17,7 +17,6 @@
1717
import org.eclipse.wb.core.editor.palette.model.EntryInfo;
1818
import org.eclipse.wb.core.editor.palette.model.IPaletteSite;
1919
import org.eclipse.wb.core.editor.palette.model.PaletteInfo;
20-
import org.eclipse.wb.gef.core.tools.Tool;
2120
import org.eclipse.wb.internal.core.DesignerPlugin;
2221
import org.eclipse.wb.internal.core.editor.Messages;
2322
import org.eclipse.wb.internal.core.editor.palette.command.CategoryAddCommand;
@@ -27,6 +26,7 @@
2726
import org.eclipse.wb.internal.core.utils.jdt.core.CodeUtils;
2827
import org.eclipse.wb.internal.core.utils.jdt.ui.JdtUiUtils;
2928

29+
import org.eclipse.gef.Tool;
3030
import org.eclipse.jface.dialogs.MessageDialog;
3131
import org.eclipse.jface.resource.ImageDescriptor;
3232
import org.eclipse.swt.widgets.Shell;
@@ -64,6 +64,9 @@ public ImageDescriptor getIcon() {
6464
return ICON;
6565
}
6666

67+
/**
68+
* @since 1.15
69+
*/
6770
@Override
6871
public Tool createTool() throws Exception {
6972
Shell parentShell = IPaletteSite.Helper.getSite(m_rootJavaInfo).getShell();

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/entry/ComponentEntryInfo.java

Lines changed: 2 additions & 2 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
@@ -19,7 +19,6 @@
1919
import org.eclipse.wb.gef.core.IEditPartViewer;
2020
import org.eclipse.wb.gef.core.requests.ICreationFactory;
2121
import org.eclipse.wb.gef.core.tools.CreationTool;
22-
import org.eclipse.wb.gef.core.tools.Tool;
2322
import org.eclipse.wb.internal.core.DesignerPlugin;
2423
import org.eclipse.wb.internal.core.editor.Messages;
2524
import org.eclipse.wb.internal.core.editor.palette.TypeParametersDialog;
@@ -47,6 +46,7 @@
4746
import org.eclipse.wb.internal.core.utils.ui.UiUtils;
4847

4948
import org.eclipse.core.runtime.IConfigurationElement;
49+
import org.eclipse.gef.Tool;
5050
import org.eclipse.jdt.core.JavaModelException;
5151
import org.eclipse.jface.resource.ImageDescriptor;
5252
import org.eclipse.jface.window.Window;

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/entry/MarqueeSelectionToolEntryInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2023 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
@@ -13,11 +13,11 @@
1313
package org.eclipse.wb.core.editor.palette.model.entry;
1414

1515
import org.eclipse.wb.core.editor.palette.model.EntryInfo;
16-
import org.eclipse.wb.gef.core.tools.Tool;
1716
import org.eclipse.wb.gef.graphical.tools.MarqueeSelectionTool;
1817
import org.eclipse.wb.internal.core.DesignerPlugin;
1918
import org.eclipse.wb.internal.core.editor.Messages;
2019

20+
import org.eclipse.gef.Tool;
2121
import org.eclipse.jface.resource.ImageDescriptor;
2222

2323
/**

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/entry/SelectionToolEntryInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2023 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
@@ -13,12 +13,12 @@
1313
package org.eclipse.wb.core.editor.palette.model.entry;
1414

1515
import org.eclipse.wb.core.editor.palette.model.EntryInfo;
16-
import org.eclipse.wb.gef.core.tools.Tool;
1716
import org.eclipse.wb.gef.graphical.tools.SelectionTool;
1817
import org.eclipse.wb.internal.core.DesignerPlugin;
1918
import org.eclipse.wb.internal.core.editor.Messages;
2019
import org.eclipse.wb.internal.core.editor.palette.model.entry.IDefaultEntryInfo;
2120

21+
import org.eclipse.gef.Tool;
2222
import org.eclipse.jface.resource.ImageDescriptor;
2323

2424
/**

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/entry/TabOrderToolEntryInfo.java

Lines changed: 2 additions & 2 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,12 +13,12 @@
1313
package org.eclipse.wb.core.editor.palette.model.entry;
1414

1515
import org.eclipse.wb.core.editor.palette.model.EntryInfo;
16-
import org.eclipse.wb.gef.core.tools.Tool;
1716
import org.eclipse.wb.internal.core.DesignerPlugin;
1817
import org.eclipse.wb.internal.core.editor.Messages;
1918
import org.eclipse.wb.internal.core.gef.tools.TabOrderTool;
2019

2120
import org.eclipse.gef.EditPart;
21+
import org.eclipse.gef.Tool;
2222
import org.eclipse.jface.resource.ImageDescriptor;
2323

2424
import java.util.List;

org.eclipse.wb.core.java/src/org/eclipse/wb/core/editor/palette/model/entry/ToolEntryInfo.java

Lines changed: 6 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
@@ -13,10 +13,12 @@
1313
package org.eclipse.wb.core.editor.palette.model.entry;
1414

1515
import org.eclipse.wb.core.editor.palette.model.EntryInfo;
16-
import org.eclipse.wb.gef.core.tools.Tool;
1716
import org.eclipse.wb.internal.core.utils.execution.ExecutionUtils;
1817
import org.eclipse.wb.internal.gef.core.EditDomain;
1918

19+
import org.eclipse.gef.Tool;
20+
import org.eclipse.gef.tools.AbstractTool;
21+
2022
/**
2123
* Implementation of {@link EntryInfo} that sets {@link Tool} for {@link EditDomain}.
2224
*
@@ -39,7 +41,7 @@ public final Tool createTool(final boolean reload) {
3941
if (tool == null) {
4042
return null;
4143
}
42-
tool.setUnloadWhenFinished(!reload);
44+
((AbstractTool) tool).setUnloadWhenFinished(!reload);
4345
}
4446
// OK
4547
m_editPartViewer.getEditDomain().setActiveTool(tool);
@@ -50,6 +52,7 @@ public final Tool createTool(final boolean reload) {
5052
/**
5153
* @return the {@link Tool} that should be set on activation, or <code>null</code> if no
5254
* {@link Tool} can be activated.
55+
* @since 1.15
5356
*/
5457
public abstract Tool createTool() throws Exception;
5558
}

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/palette/DesignerPalette.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.eclipse.wb.core.model.JavaInfo;
3232
import org.eclipse.wb.core.model.broadcast.ObjectEventListener;
3333
import org.eclipse.wb.gef.core.IEditPartViewer;
34-
import org.eclipse.wb.gef.core.tools.Tool;
3534
import org.eclipse.wb.gef.graphical.tools.SelectionTool;
3635
import org.eclipse.wb.internal.core.EnvironmentUtils;
3736
import org.eclipse.wb.internal.core.editor.DesignPage;
@@ -63,6 +62,7 @@
6362
import org.eclipse.core.runtime.jobs.Job;
6463
import org.eclipse.core.runtime.preferences.InstanceScope;
6564
import org.eclipse.draw2d.FigureCanvas;
65+
import org.eclipse.gef.Tool;
6666
import org.eclipse.gef.palette.PaletteDrawer;
6767
import org.eclipse.gef.palette.PaletteEntry;
6868
import org.eclipse.gef.palette.ToolEntry;

org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/editor/palette/model/entry/InstanceFactoryEntryInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2011, 2023 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
@@ -17,7 +17,6 @@
1717
import org.eclipse.wb.core.model.JavaInfo;
1818
import org.eclipse.wb.gef.core.requests.ICreationFactory;
1919
import org.eclipse.wb.gef.core.tools.CreationTool;
20-
import org.eclipse.wb.gef.core.tools.Tool;
2120
import org.eclipse.wb.internal.core.DesignerPlugin;
2221
import org.eclipse.wb.internal.core.editor.Messages;
2322
import org.eclipse.wb.internal.core.model.JavaInfoUtils;
@@ -28,6 +27,7 @@
2827
import org.eclipse.wb.internal.core.utils.execution.ExecutionUtils;
2928
import org.eclipse.wb.internal.core.utils.execution.RunnableEx;
3029

30+
import org.eclipse.gef.Tool;
3131
import org.eclipse.swt.widgets.Shell;
3232
import org.eclipse.ui.dialogs.ElementListSelectionDialog;
3333

0 commit comments

Comments
 (0)