Skip to content

Commit 8029b47

Browse files
committed
Add static method to the interface of ISharedImages to get the instance
Currently one needs to first obtain the PaltformUI Workbench and then call getSharedImages on this instance. As this actually maps down to WorkBenchPlugin that do not require a running workbench this limits the usage of such code only wanting to share images. This adds a new ISharedImages.get() that directly calls the code the IWorkbench implementation would call and replace static calls to the workbench with this one.
1 parent aff1ccc commit 8029b47

File tree

10 files changed

+24
-19
lines changed

10 files changed

+24
-19
lines changed

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/ISharedImages.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.eclipse.swt.graphics.Device;
1919
import org.eclipse.swt.graphics.Image;
2020
import org.eclipse.swt.graphics.ImageData;
21+
import org.eclipse.ui.internal.WorkbenchPlugin;
2122

2223
/**
2324
* A registry for common images used by the workbench which may be useful to
@@ -855,4 +856,12 @@ public interface ISharedImages {
855856
* @return the image descriptor, or <code>null</code> if not found
856857
*/
857858
ImageDescriptor getImageDescriptor(String symbolicName);
859+
860+
/**
861+
* @since 3.135
862+
* @return the default {@link ISharedImages} instance
863+
*/
864+
static ISharedImages get() {
865+
return WorkbenchPlugin.getDefault().getSharedImages();
866+
}
858867
}

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/actions/NewWizardAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ public NewWizardAction(IWorkbenchWindow window) {
9999
this.workbenchWindow = window;
100100
tracker = new PerspectiveTracker(window, this);
101101
// @issues should be IDE-specific images
102-
ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
102+
ISharedImages images = window.getWorkbench().getSharedImages();
103103
setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
104104
setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
105105
setToolTipText(WorkbenchMessages.NewWizardAction_toolTip);
106-
PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IWorkbenchHelpContextIds.NEW_ACTION);
106+
window.getWorkbench().getHelpSystem().setHelp(this, IWorkbenchHelpContextIds.NEW_ACTION);
107107
}
108108

109109
/**

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/WorkbenchPartReference.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ protected final String getRawTitle() {
329329
@Override
330330
public final Image getTitleImage() {
331331
if (isDisposed()) {
332-
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
332+
return ISharedImages.get().getImage(ISharedImages.IMG_DEF_VIEW);
333333
}
334334

335335
WorkbenchWindow wbw = (WorkbenchWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow();
@@ -341,7 +341,7 @@ public final Image getTitleImage() {
341341
}
342342
}
343343

344-
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
344+
return wbw.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
345345
}
346346

347347
/* package */ void fireVisibilityChange() {

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/about/ProductInfoPage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ protected final void addCopySupport(Table table) {
9393
MenuItem copyItem = new MenuItem(menu, SWT.NONE);
9494
copyItem.addSelectionListener(SelectionListener.widgetSelectedAdapter(e -> handler.copySelection(table)));
9595
copyItem.setText(JFaceResources.getString("copy")); //$NON-NLS-1$
96-
copyItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY));
96+
copyItem.setImage(ISharedImages.get().getImage(ISharedImages.IMG_TOOL_COPY));
9797

9898
table.setMenu(menu);
9999

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/dialogs/WorkbenchWizardElement.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.eclipse.jface.viewers.IStructuredSelection;
2525
import org.eclipse.jface.viewers.StructuredSelection;
2626
import org.eclipse.ui.IPluginContribution;
27+
import org.eclipse.ui.ISharedImages;
2728
import org.eclipse.ui.IWorkbenchWizard;
2829
import org.eclipse.ui.PlatformUI;
2930
import org.eclipse.ui.SelectionEnabler;
@@ -169,7 +170,7 @@ public ImageDescriptor getImageDescriptor() {
169170
}
170171
imageDescriptor = ResourceLocator
171172
.imageDescriptorFromBundle(configurationElement.getNamespaceIdentifier(), iconName)
172-
.orElse(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(iconName));
173+
.orElse(ISharedImages.get().getImageDescriptor(iconName));
173174
}
174175
return imageDescriptor;
175176
}

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/operations/RedoActionHandler.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.eclipse.ui.ISharedImages;
2222
import org.eclipse.ui.IWorkbenchCommandConstants;
2323
import org.eclipse.ui.IWorkbenchPartSite;
24-
import org.eclipse.ui.PlatformUI;
2524
import org.eclipse.ui.internal.WorkbenchMessages;
2625

2726
/**
@@ -44,9 +43,9 @@ public final class RedoActionHandler extends OperationHistoryActionHandler {
4443
*/
4544
public RedoActionHandler(IWorkbenchPartSite site, IUndoContext context) {
4645
super(site, context);
47-
setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
46+
setImageDescriptor(ISharedImages.get().getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
4847
setDisabledImageDescriptor(
49-
PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_REDO_DISABLED));
48+
ISharedImages.get().getImageDescriptor(ISharedImages.IMG_TOOL_REDO_DISABLED));
5049
setActionDefinitionId(IWorkbenchCommandConstants.EDIT_REDO);
5150
}
5251

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/operations/UndoActionHandler.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.eclipse.ui.ISharedImages;
2222
import org.eclipse.ui.IWorkbenchCommandConstants;
2323
import org.eclipse.ui.IWorkbenchPartSite;
24-
import org.eclipse.ui.PlatformUI;
2524
import org.eclipse.ui.internal.WorkbenchMessages;
2625

2726
/**
@@ -44,9 +43,9 @@ public final class UndoActionHandler extends OperationHistoryActionHandler {
4443
*/
4544
public UndoActionHandler(IWorkbenchPartSite site, IUndoContext context) {
4645
super(site, context);
47-
setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_UNDO));
46+
setImageDescriptor(ISharedImages.get().getImageDescriptor(ISharedImages.IMG_TOOL_UNDO));
4847
setDisabledImageDescriptor(
49-
PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED));
48+
ISharedImages.get().getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED));
5049
setActionDefinitionId(IWorkbenchCommandConstants.EDIT_UNDO);
5150
}
5251

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/part/DrillDownAdapter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.eclipse.jface.viewers.StructuredSelection;
2525
import org.eclipse.jface.viewers.TreeViewer;
2626
import org.eclipse.ui.ISharedImages;
27-
import org.eclipse.ui.PlatformUI;
2827
import org.eclipse.ui.internal.WorkbenchImages;
2928
import org.eclipse.ui.internal.WorkbenchMessages;
3029

@@ -166,7 +165,7 @@ public void run() {
166165
homeAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(ISharedImages.IMG_ETOOL_HOME_NAV));
167166

168167
// Back.
169-
ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
168+
ISharedImages images = ISharedImages.get();
170169
backAction = new Action(WorkbenchMessages.GoBack_text) {
171170
@Override
172171
public void run() {

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/part/IntroPart.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.eclipse.ui.IPropertyListener;
3333
import org.eclipse.ui.ISharedImages;
3434
import org.eclipse.ui.PartInitException;
35-
import org.eclipse.ui.PlatformUI;
3635
import org.eclipse.ui.internal.intro.IntroMessages;
3736
import org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants;
3837
import org.eclipse.ui.intro.IIntroPart;
@@ -151,7 +150,7 @@ protected IConfigurationElement getConfigurationElement() {
151150
* @return the default image
152151
*/
153152
protected Image getDefaultImage() {
154-
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
153+
return ISharedImages.get().getImage(ISharedImages.IMG_DEF_VIEW);
155154
}
156155

157156
@Override

bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/part/WorkbenchPart.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import org.eclipse.ui.IWorkbenchPart3;
4444
import org.eclipse.ui.IWorkbenchPartConstants;
4545
import org.eclipse.ui.IWorkbenchPartSite;
46-
import org.eclipse.ui.PlatformUI;
4746
import org.eclipse.ui.internal.PartSite;
4847
import org.eclipse.ui.internal.WorkbenchMessages;
4948
import org.eclipse.ui.internal.WorkbenchPlugin;
@@ -168,7 +167,7 @@ protected IConfigurationElement getConfigurationElement() {
168167
* @return the default image
169168
*/
170169
protected Image getDefaultImage() {
171-
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
170+
return ISharedImages.get().getImage(ISharedImages.IMG_DEF_VIEW);
172171
}
173172

174173
@Override
@@ -233,7 +232,7 @@ public void setInitializationData(IConfigurationElement cfig, String propertyNam
233232
}
234233
imageDescriptor = ResourceLocator.imageDescriptorFromBundle(configElement.getContributor().getName(), strIcon);
235234
if (!imageDescriptor.isPresent()) {
236-
ImageDescriptor shared = PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(strIcon);
235+
ImageDescriptor shared = ISharedImages.get().getImageDescriptor(strIcon);
237236
imageDescriptor = Optional.ofNullable(shared);
238237
}
239238
imageDescriptor.ifPresent(d -> titleImage = JFaceResources.getResources().createImageWithDefault(d));

0 commit comments

Comments
 (0)