Package org.eclipse.jface.viewers
Class DecoratingStyledCellLabelProvider
java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.jface.viewers.BaseLabelProvider
org.eclipse.jface.viewers.CellLabelProvider
org.eclipse.jface.viewers.OwnerDrawLabelProvider
org.eclipse.jface.viewers.StyledCellLabelProvider
org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider
- All Implemented Interfaces:
IBaseLabelProvider,IToolTipProvider
A
DecoratingStyledCellLabelProvider is a
DelegatingStyledCellLabelProvider that uses a nested
DelegatingStyledCellLabelProvider.IStyledLabelProvider to compute
styled text label and image and takes a ILabelDecorator to decorate
the label.
Use this label provider as a replacement for the
DecoratingLabelProvider when decorating styled text labels.
The DecoratingStyledCellLabelProvider will try to evaluate the text
decoration added by the ILabelDecorator and will apply the style
returned by getDecorationStyle(Object)
The ILabelDecorator can optionally implement IColorDecorator
and IFontDecorator to provide foreground and background color and
font decoration.
- Since:
- 3.4
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
DelegatingStyledCellLabelProvider.IStyledLabelProvider -
Field Summary
Fields inherited from class org.eclipse.jface.viewers.StyledCellLabelProvider
COLORS_ON_SELECTION, NO_FOCUS -
Constructor Summary
ConstructorsConstructorDescriptionDecoratingStyledCellLabelProvider(DelegatingStyledCellLabelProvider.IStyledLabelProvider labelProvider, ILabelDecorator decorator, IDecorationContext decorationContext) Creates aDecoratingStyledCellLabelProviderthat delegates the requests for styled labels and for images to aDelegatingStyledCellLabelProvider.IStyledLabelProvider. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(ILabelProviderListener listener) Adds a listener to this label provider.voiddispose()TheBaseLabelProviderimplementation of thisIBaseLabelProvidermethod clears its internal listener list.getBackground(Object element) Provides a background color for the given element.Returns the decoration context associated with this label provider.protected StyledString.StylergetDecorationStyle(Object element) Sets theStyledString.Stylerto be used for string decorations.Provides a font for the given element.getForeground(Object element) Provides a foreground color for the given element.Returns the image for the label of the given element.Returns the decorator ornullif no decorator is installedprotected StyledStringgetStyledText(Object element) Returns the styled text for the label of the given element.booleanisLabelProperty(Object element, String property) TheBaseLabelProviderimplementation of thisIBaseLabelProvidermethod returnstrue.voidremoveListener(ILabelProviderListener listener) Removes a listener to this label provider.voidsetDecorationContext(IDecorationContext decorationContext) Set the decoration context that will be based to the decorator for this label provider if that decorator implementsLabelDecorator.voidsetLabelDecorator(ILabelDecorator newDecorator) Sets the label decorator.voidupdate(ViewerCell cell) Update the label for cell.Methods inherited from class org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
getStyledStringProvider, getToolTipTextMethods inherited from class org.eclipse.jface.viewers.StyledCellLabelProvider
erase, getColumn, getViewer, initialize, isOwnerDrawEnabled, measure, paint, prepareStyleRange, setOwnerDrawEnabled, styleDecoratedStringMethods inherited from class org.eclipse.jface.viewers.OwnerDrawLabelProvider
dispose, initialize, setOwnerDrawEnabled, setUpOwnerDrawMethods inherited from class org.eclipse.jface.viewers.CellLabelProvider
getToolTipBackgroundColor, getToolTipDisplayDelayTime, getToolTipFont, getToolTipForegroundColor, getToolTipImage, getToolTipShift, getToolTipStyle, getToolTipTimeDisplayed, useNativeToolTipMethods inherited from class org.eclipse.jface.viewers.BaseLabelProvider
fireLabelProviderChangedMethods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
-
Constructor Details
-
DecoratingStyledCellLabelProvider
public DecoratingStyledCellLabelProvider(DelegatingStyledCellLabelProvider.IStyledLabelProvider labelProvider, ILabelDecorator decorator, IDecorationContext decorationContext) Creates aDecoratingStyledCellLabelProviderthat delegates the requests for styled labels and for images to aDelegatingStyledCellLabelProvider.IStyledLabelProvider.- Parameters:
labelProvider- the styled label providerdecorator- a label decorator ornullto not decorate the labeldecorationContext- a decoration context ornullif the no decorator is configured or the default decorator should be used
-
-
Method Details
-
getDecorationContext
Returns the decoration context associated with this label provider. It will be passed to the decorator if the decorator is an instance ofLabelDecorator.- Returns:
- the decoration context associated with this label provider
-
setDecorationContext
Set the decoration context that will be based to the decorator for this label provider if that decorator implementsLabelDecorator.- Parameters:
decorationContext- the decoration context.
-
update
Description copied from class:CellLabelProviderUpdate the label for cell.- Overrides:
updatein classDelegatingStyledCellLabelProvider- Parameters:
cell-ViewerCell
-
getForeground
Description copied from class:DelegatingStyledCellLabelProviderProvides a foreground color for the given element.- Overrides:
getForegroundin classDelegatingStyledCellLabelProvider- Parameters:
element- the element- Returns:
- the foreground color for the element, or
nullto use the default foreground color
-
getBackground
Description copied from class:DelegatingStyledCellLabelProviderProvides a background color for the given element.- Overrides:
getBackgroundin classDelegatingStyledCellLabelProvider- Parameters:
element- the element- Returns:
- the background color for the element, or
nullto use the default background color
-
getFont
Description copied from class:DelegatingStyledCellLabelProviderProvides a font for the given element.- Overrides:
getFontin classDelegatingStyledCellLabelProvider- Parameters:
element- the element- Returns:
- the font for the element, or
nullto use the default font
-
getImage
Description copied from class:DelegatingStyledCellLabelProviderReturns the image for the label of the given element. The image is owned by the label provider and must not be disposed directly. Instead, dispose the label provider when no longer needed.- Overrides:
getImagein classDelegatingStyledCellLabelProvider- Parameters:
element- the element for which to provide the label image- Returns:
- the image used to label the element, or
nullif there is no image for the given object
-
getStyledText
Returns the styled text for the label of the given element.- Overrides:
getStyledTextin classDelegatingStyledCellLabelProvider- Parameters:
element- the element for which to provide the styled label text- Returns:
- the styled text string used to label the element
-
getDecorationStyle
Sets theStyledString.Stylerto be used for string decorations. By default thedecoration style. Clients can override. Note that it is the client's responsibility to react on color changes of the decoration color by refreshing the view- Parameters:
element- the element that has been decorated- Returns:
- return the decoration style
-
getLabelDecorator
Returns the decorator ornullif no decorator is installed- Returns:
- the decorator or
nullif no decorator is installed
-
setLabelDecorator
Sets the label decorator. Removes all known listeners from the old decorator, and adds all known listeners to the new decorator. The old decorator is not disposed. Fires a label provider changed event indicating that all labels should be updated. Has no effect if the given decorator is identical to the current one.- Parameters:
newDecorator- the label decorator, ornullif no decorations are to be applied
-
addListener
Description copied from interface:IBaseLabelProviderAdds a listener to this label provider. Has no effect if an identical listener is already registered.Label provider listeners are informed about state changes that affect the rendering of the viewer that uses this label provider.
- Specified by:
addListenerin interfaceIBaseLabelProvider- Overrides:
addListenerin classDelegatingStyledCellLabelProvider- Parameters:
listener- a label provider listener
-
removeListener
Description copied from interface:IBaseLabelProviderRemoves a listener to this label provider. Has no effect if an identical listener is not registered.- Specified by:
removeListenerin interfaceIBaseLabelProvider- Overrides:
removeListenerin classDelegatingStyledCellLabelProvider- Parameters:
listener- a label provider listener
-
isLabelProperty
Description copied from class:BaseLabelProviderTheBaseLabelProviderimplementation of thisIBaseLabelProvidermethod returnstrue. Subclasses may override.- Specified by:
isLabelPropertyin interfaceIBaseLabelProvider- Overrides:
isLabelPropertyin classDelegatingStyledCellLabelProvider- Parameters:
element- the elementproperty- the property- Returns:
trueif the label would be affected, andfalseif it would be unaffected
-
dispose
public void dispose()Description copied from class:BaseLabelProviderTheBaseLabelProviderimplementation of thisIBaseLabelProvidermethod clears its internal listener list. Subclasses may extend but should call the super implementation.- Specified by:
disposein interfaceIBaseLabelProvider- Overrides:
disposein classDelegatingStyledCellLabelProvider
-