Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.java')
-rw-r--r--bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.java51
1 files changed, 29 insertions, 22 deletions
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.java
index 1ce122b01fd..088933692ac 100644
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.java
+++ b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.java
@@ -34,10 +34,12 @@ import org.eclipse.swt.graphics.Image;
* optionally implement {@link IColorProvider} and {@link IFontProvider} to
* provide foreground and background color and a default font.
* </p>
+ * @param <E> Type of an element of the model
+ * @param <I> Type of the input
*
* @since 3.4
*/
-public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
+public class DelegatingStyledCellLabelProvider<E,I> extends StyledCellLabelProvider<E,I> {
/**
* Interface marking a label provider that provides styled text labels and
@@ -47,8 +49,9 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* optionally implement {@link IColorProvider} and {@link IFontProvider} to
* provide foreground and background color and a default font.
* </p>
+ * @param <E> Type of an element of the model
*/
- public static interface IStyledLabelProvider extends IBaseLabelProvider {
+ public static interface IStyledLabelProvider<E> extends IBaseLabelProvider<E> {
/**
* Returns the styled text label for the given element
@@ -58,7 +61,7 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
*
* @return the styled string.
*/
- public StyledString getStyledText(Object element);
+ public StyledString getStyledText(E element);
/**
* Returns the image for the label of the given element. The image is
@@ -70,10 +73,10 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* @return the image used to label the element, or <code>null</code>
* if there is no image for the given object
*/
- public Image getImage(Object element);
+ public Image getImage(E element);
}
- private IStyledLabelProvider styledLabelProvider;
+ private IStyledLabelProvider<E> styledLabelProvider;
/**
* Creates a {@link DelegatingStyledCellLabelProvider} that delegates the
@@ -84,7 +87,7 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* the label provider that provides the styled labels and the
* images
*/
- public DelegatingStyledCellLabelProvider(IStyledLabelProvider labelProvider) {
+ public DelegatingStyledCellLabelProvider(IStyledLabelProvider<E> labelProvider) {
if (labelProvider == null)
throw new IllegalArgumentException(
"Label provider must not be null"); //$NON-NLS-1$
@@ -98,8 +101,8 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell)
*/
@Override
- public void update(ViewerCell cell) {
- Object element = cell.getElement();
+ public void update(ViewerCell<E> cell) {
+ E element = cell.getElement();
StyledString styledString = getStyledText(element);
String newText= styledString.toString();
@@ -132,10 +135,11 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* @return the foreground color for the element, or <code>null</code> to
* use the default foreground color
*/
- public Color getForeground(Object element) {
+ public Color getForeground(E element) {
if (this.styledLabelProvider instanceof IColorProvider) {
- return ((IColorProvider) this.styledLabelProvider)
- .getForeground(element);
+ @SuppressWarnings("unchecked")
+ IColorProvider<E> colorProvider = (IColorProvider<E>) this.styledLabelProvider;
+ return colorProvider.getForeground(element);
}
return null;
}
@@ -148,10 +152,11 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* @return the background color for the element, or <code>null</code> to
* use the default background color
*/
- public Color getBackground(Object element) {
+ public Color getBackground(E element) {
if (this.styledLabelProvider instanceof IColorProvider) {
- return ((IColorProvider) this.styledLabelProvider)
- .getBackground(element);
+ @SuppressWarnings("unchecked")
+ IColorProvider<E> colorProvider = (IColorProvider<E>) this.styledLabelProvider;
+ return colorProvider.getBackground(element);
}
return null;
}
@@ -164,9 +169,11 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* @return the font for the element, or <code>null</code> to use the
* default font
*/
- public Font getFont(Object element) {
+ public Font getFont(E element) {
if (this.styledLabelProvider instanceof IFontProvider) {
- return ((IFontProvider) this.styledLabelProvider).getFont(element);
+ @SuppressWarnings("unchecked")
+ IFontProvider<E> fontProvider = (IFontProvider<E>) this.styledLabelProvider;
+ return fontProvider.getFont(element);
}
return null;
}
@@ -181,7 +188,7 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* @return the image used to label the element, or <code>null</code> if
* there is no image for the given object
*/
- public Image getImage(Object element) {
+ public Image getImage(E element) {
return this.styledLabelProvider.getImage(element);
}
@@ -192,7 +199,7 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
* the element for which to provide the styled label text
* @return the styled text string used to label the element
*/
- protected StyledString getStyledText(Object element) {
+ protected StyledString getStyledText(E element) {
return this.styledLabelProvider.getStyledText(element);
}
@@ -201,24 +208,24 @@ public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider {
*
* @return the wrapped label provider
*/
- public IStyledLabelProvider getStyledStringProvider() {
+ public IStyledLabelProvider<E> getStyledStringProvider() {
return this.styledLabelProvider;
}
@Override
- public void addListener(ILabelProviderListener listener) {
+ public void addListener(ILabelProviderListener<E> listener) {
super.addListener(listener);
this.styledLabelProvider.addListener(listener);
}
@Override
- public void removeListener(ILabelProviderListener listener) {
+ public void removeListener(ILabelProviderListener<E> listener) {
super.removeListener(listener);
this.styledLabelProvider.removeListener(listener);
}
@Override
- public boolean isLabelProperty(Object element, String property) {
+ public boolean isLabelProperty(E element, String property) {
return this.styledLabelProvider.isLabelProperty(element, property);
}

Back to the top