Skip to content

Commit 4d596ad

Browse files
committed
Use JFace's DecorationOverlayIcon
And remove the internal slightly more complicated copies providing same functionality.
1 parent 079b080 commit 4d596ad

File tree

5 files changed

+35
-248
lines changed

5 files changed

+35
-248
lines changed

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/contentassist/ManifestContentAssistProcessor.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2006, 2021 IBM Corporation and others.
2+
* Copyright (c) 2006, 2025 IBM Corporation and others.
33
*
44
* This program and the accompanying materials
55
* are made available under the terms of the Eclipse Public License 2.0
@@ -34,14 +34,15 @@
3434
import org.eclipse.jdt.core.search.IJavaSearchConstants;
3535
import org.eclipse.jdt.launching.JavaRuntime;
3636
import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
37-
import org.eclipse.jface.resource.ImageDescriptor;
3837
import org.eclipse.jface.text.BadLocationException;
3938
import org.eclipse.jface.text.IDocument;
4039
import org.eclipse.jface.text.IRegion;
4140
import org.eclipse.jface.text.ITextViewer;
4241
import org.eclipse.jface.text.contentassist.ContentAssistEvent;
4342
import org.eclipse.jface.text.contentassist.ICompletionListener;
4443
import org.eclipse.jface.text.contentassist.ICompletionProposal;
44+
import org.eclipse.jface.viewers.DecorationOverlayIcon;
45+
import org.eclipse.jface.viewers.IDecoration;
4546
import org.eclipse.osgi.service.resolver.BundleDescription;
4647
import org.eclipse.osgi.service.resolver.ExportPackageDescription;
4748
import org.eclipse.osgi.util.ManifestElement;
@@ -54,7 +55,6 @@
5455
import org.eclipse.pde.internal.ui.editor.PDEFormEditor;
5556
import org.eclipse.pde.internal.ui.editor.PDESourcePage;
5657
import org.eclipse.pde.internal.ui.editor.plugin.ManifestEditor;
57-
import org.eclipse.pde.internal.ui.util.ImageOverlayIcon;
5858
import org.eclipse.pde.internal.ui.util.PDEJavaHelperUI;
5959
import org.eclipse.swt.graphics.Image;
6060
import org.osgi.framework.BundleException;
@@ -885,7 +885,8 @@ public Image getImage(int type) {
885885
return fImages[type] = PDEPluginImages.DESC_ATT_URI_OBJ.createImage();
886886
case F_TYPE_DIRECTIVE :
887887
fImages[F_TYPE_ATTRIBUTE] = PDEPluginImages.DESC_ATT_URI_OBJ.createImage();
888-
ImageOverlayIcon icon = new ImageOverlayIcon(fImages[F_TYPE_ATTRIBUTE], new ImageDescriptor[][] {new ImageDescriptor[] {PDEPluginImages.DESC_DOC_CO}, null, null, null});
888+
DecorationOverlayIcon icon = new DecorationOverlayIcon(fImages[F_TYPE_ATTRIBUTE],
889+
PDEPluginImages.DESC_DOC_CO, IDecoration.TOP_RIGHT);
889890
return fImages[type] = icon.createImage();
890891
case F_TYPE_EXEC_ENV :
891892
return fImages[type] = PDEPluginImages.DESC_JAVA_LIB_OBJ.createImage();

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/util/AbstractOverlayIcon.java

Lines changed: 0 additions & 135 deletions
This file was deleted.

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/util/ImageOverlayIcon.java

Lines changed: 0 additions & 40 deletions
This file was deleted.

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/util/OverlayIcon.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/util/SharedLabelProvider.java

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2000, 2019 IBM Corporation and others.
2+
* Copyright (c) 2000, 2025 IBM Corporation and others.
33
*
44
* This program and the accompanying materials
55
* are made available under the terms of the Eclipse Public License 2.0
@@ -26,6 +26,7 @@
2626

2727
import org.eclipse.jface.resource.ImageDescriptor;
2828
import org.eclipse.jface.resource.ResourceLocator;
29+
import org.eclipse.jface.viewers.DecorationOverlayIcon;
2930
import org.eclipse.jface.viewers.ITableLabelProvider;
3031
import org.eclipse.jface.viewers.LabelProvider;
3132
import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -121,74 +122,76 @@ private Image createImage(ImageDescriptor baseDesc, int flags) {
121122
if (flags == 0) {
122123
return baseDesc.createImage();
123124
}
124-
ImageDescriptor[] lowerLeft = getLowerLeftOverlays(flags);
125-
ImageDescriptor[] upperRight = getUpperRightOverlays(flags);
126-
ImageDescriptor[] lowerRight = getLowerRightOverlays(flags);
127-
ImageDescriptor[] upperLeft = getUpperLeftOverlays(flags);
128-
OverlayIcon compDesc = new OverlayIcon(baseDesc, new ImageDescriptor[][] {upperRight, lowerRight, lowerLeft, upperLeft});
125+
ImageDescriptor lowerLeft = getLowerLeftOverlays(flags);
126+
ImageDescriptor upperRight = getUpperRightOverlays(flags);
127+
ImageDescriptor lowerRight = getLowerRightOverlays(flags);
128+
ImageDescriptor upperLeft = getUpperLeftOverlays(flags);
129+
DecorationOverlayIcon compDesc = new DecorationOverlayIcon(baseDesc.createImage(),
130+
new ImageDescriptor[] { upperRight, lowerRight, lowerLeft, upperLeft });
129131
return compDesc.createImage();
130132
}
131133

132134
private Image createImage(Image baseImage, int flags) {
133135
if (flags == 0) {
134136
return baseImage;
135137
}
136-
ImageDescriptor[] lowerLeft = getLowerLeftOverlays(flags);
137-
ImageDescriptor[] upperRight = getUpperRightOverlays(flags);
138-
ImageDescriptor[] lowerRight = getLowerRightOverlays(flags);
139-
ImageDescriptor[] upperLeft = getUpperLeftOverlays(flags);
140-
ImageOverlayIcon compDesc = new ImageOverlayIcon(baseImage, new ImageDescriptor[][] {upperRight, lowerRight, lowerLeft, upperLeft});
138+
ImageDescriptor lowerLeft = getLowerLeftOverlays(flags);
139+
ImageDescriptor upperRight = getUpperRightOverlays(flags);
140+
ImageDescriptor lowerRight = getLowerRightOverlays(flags);
141+
ImageDescriptor upperLeft = getUpperLeftOverlays(flags);
142+
DecorationOverlayIcon compDesc = new DecorationOverlayIcon(baseImage,
143+
new ImageDescriptor[] { upperRight, lowerRight, lowerLeft, upperLeft });
141144
return compDesc.createImage();
142145
}
143146

144-
private ImageDescriptor[] getLowerLeftOverlays(int flags) {
147+
private ImageDescriptor getLowerLeftOverlays(int flags) {
145148
if ((flags & F_ERROR) != 0) {
146-
return new ImageDescriptor[] {PDEPluginImages.DESC_ERROR_CO};
149+
return PDEPluginImages.DESC_ERROR_CO;
147150
}
148151
if ((flags & F_WARNING) != 0) {
149-
return new ImageDescriptor[] {PDEPluginImages.DESC_WARNING_CO};
152+
return PDEPluginImages.DESC_WARNING_CO;
150153
}
151154
return null;
152155
}
153156

154-
private ImageDescriptor[] getUpperRightOverlays(int flags) {
157+
private ImageDescriptor getUpperRightOverlays(int flags) {
155158
if ((flags & F_EXPORT) != 0) {
156-
return new ImageDescriptor[] {PDEPluginImages.DESC_EXPORT_CO};
159+
return PDEPluginImages.DESC_EXPORT_CO;
157160
}
158161
if ((flags & F_EDIT) != 0) {
159-
return new ImageDescriptor[] {PDEPluginImages.DESC_DOC_CO};
162+
return PDEPluginImages.DESC_DOC_CO;
160163
}
161164
if ((flags & F_JAVA) != 0) {
162-
return new ImageDescriptor[] {PDEPluginImages.DESC_JAVA_CO};
165+
return PDEPluginImages.DESC_JAVA_CO;
163166
}
164167
return null;
165168
}
166169

167-
private ImageDescriptor[] getLowerRightOverlays(int flags) {
170+
private ImageDescriptor getLowerRightOverlays(int flags) {
168171
if ((flags & F_JAR) != 0) {
169-
return new ImageDescriptor[] {PDEPluginImages.DESC_JAR_CO};
172+
return PDEPluginImages.DESC_JAR_CO;
170173
}
171174
if ((flags & F_PROJECT) != 0) {
172-
return new ImageDescriptor[] {PDEPluginImages.DESC_PROJECT_CO};
175+
return PDEPluginImages.DESC_PROJECT_CO;
173176
}
174177
if ((flags & F_OPTIONAL) != 0) {
175-
return new ImageDescriptor[] {PDEPluginImages.DESC_OPTIONAL_CO};
178+
return PDEPluginImages.DESC_OPTIONAL_CO;
176179
}
177180
if ((flags & F_INTERNAL) != 0) {
178-
return new ImageDescriptor[] {PDEPluginImages.DESC_INTERNAL_CO};
181+
return PDEPluginImages.DESC_INTERNAL_CO;
179182
}
180183
if ((flags & F_FRIEND) != 0) {
181-
return new ImageDescriptor[] {PDEPluginImages.DESC_FRIEND_CO};
184+
return PDEPluginImages.DESC_FRIEND_CO;
182185
}
183186
return null;
184187
}
185188

186-
private ImageDescriptor[] getUpperLeftOverlays(int flags) {
189+
private ImageDescriptor getUpperLeftOverlays(int flags) {
187190
if ((flags & F_EXTERNAL) != 0) {
188-
return new ImageDescriptor[] {PDEPluginImages.DESC_EXTERNAL_CO};
191+
return PDEPluginImages.DESC_EXTERNAL_CO;
189192
}
190193
if ((flags & F_BINARY) != 0) {
191-
return new ImageDescriptor[] {PDEPluginImages.DESC_BINARY_CO};
194+
return PDEPluginImages.DESC_BINARY_CO;
192195
}
193196
return null;
194197
}

0 commit comments

Comments
 (0)