Package org.eclipse.jface.viewers
Class StyledCellLabelProvider
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
- All Implemented Interfaces:
IBaseLabelProvider,IToolTipProvider
- Direct Known Subclasses:
DelegatingStyledCellLabelProvider
A
StyledCellLabelProvider supports styled labels by using owner
draw.
Besides the styles in labels, the label provider preserves native viewer behavior:
- similar image and label positioning
- native drawing of focus and selection
For providing the label's styles, create a subclass and overwrite
update(ViewerCell) to
return set all information needed to render a element. Use
ViewerCell.setStyleRanges(StyleRange[]) to set style ranges
on the label.
- Since:
- 3.4
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intStyle constant for indicating that the styled colors are to be applied even it the viewer's item is selected.static final intStyle constant for indicating to draw the focus if requested by the owner draw event. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new StyledCellLabelProvider.StyledCellLabelProvider(int style) Creates a new StyledCellLabelProvider. -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()TheBaseLabelProviderimplementation of thisIBaseLabelProvidermethod clears its internal listener list.protected voidHandle the erase event.protected final ViewerColumnReturns the column on which this label provider is installed on ornullif the label provider is not installed.protected final ColumnViewerReturns the viewer on which this label provider is installed on ornullif the label provider is not installed.voidinitialize(ColumnViewer viewer, ViewerColumn column) This implementation ofCellLabelProvider.initialize(ColumnViewer, ViewerColumn)delegates toOwnerDrawLabelProvider.initialize(ColumnViewer, ViewerColumn, boolean)with a value oftrueforenableOwnerDraw.booleanReturnstrueis the owner draw rendering is enabled for this label provider.protected voidHandle the measure event.protected voidHandle the paint event.protected StyleRangeprepareStyleRange(StyleRange styleRange, boolean applyColors) Prepares the given style range before it is applied to the label.voidsetOwnerDrawEnabled(boolean enabled) Specifies whether owner draw rendering is enabled for this label provider.static StyledStringstyleDecoratedString(String decoratedString, StyledString.Styler decorationStyler, StyledString styledString) Applies decoration styles to the decorated string and adds the styles of the previously undecorated string.voidupdate(ViewerCell cell) Update the label for cell.Methods 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, getToolTipText, getToolTipTimeDisplayed, useNativeToolTipMethods inherited from class org.eclipse.jface.viewers.BaseLabelProvider
addListener, fireLabelProviderChanged, isLabelProperty, removeListenerMethods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
-
Field Details
-
COLORS_ON_SELECTION
public static final int COLORS_ON_SELECTIONStyle constant for indicating that the styled colors are to be applied even it the viewer's item is selected. Default is not to apply colors.- See Also:
-
NO_FOCUS
public static final int NO_FOCUSStyle constant for indicating to draw the focus if requested by the owner draw event. Default is to draw the focus.- See Also:
-
-
Constructor Details
-
StyledCellLabelProvider
public StyledCellLabelProvider()Creates a new StyledCellLabelProvider. By default, owner draw is enabled, focus is drawn and no colors are painted on selected elements. -
StyledCellLabelProvider
public StyledCellLabelProvider(int style) Creates a new StyledCellLabelProvider. By default, owner draw is enabled.- Parameters:
style- the style bits- See Also:
-
-
Method Details
-
isOwnerDrawEnabled
public boolean isOwnerDrawEnabled()Returnstrueis the owner draw rendering is enabled for this label provider. By default owner draw rendering is enabled. If owner draw rendering is disabled, rending is done by the viewer and no styled ranges (seeViewerCell.getStyleRanges()) are drawn.- Returns:
trueis the rendering of styles is enabled.
-
setOwnerDrawEnabled
public void setOwnerDrawEnabled(boolean enabled) Specifies whether owner draw rendering is enabled for this label provider. By default owner draw rendering is enabled. If owner draw rendering is disabled, rendering is done by the viewer and no styled ranges (seeViewerCell.getStyleRanges()) are drawn. It is the caller's responsibility to also callStructuredViewer.refresh()or similar methods to update the underlying widget.- Parameters:
enabled- specifies if owner draw rendering is enabled
-
getViewer
Returns the viewer on which this label provider is installed on ornullif the label provider is not installed.- Returns:
- the viewer on which this label provider is installed on or
nullif the label provider is not installed.
-
getColumn
Returns the column on which this label provider is installed on ornullif the label provider is not installed.- Returns:
- the column on which this label provider is installed on or
nullif the label provider is not installed.
-
initialize
Description copied from class:OwnerDrawLabelProviderThis implementation ofCellLabelProvider.initialize(ColumnViewer, ViewerColumn)delegates toOwnerDrawLabelProvider.initialize(ColumnViewer, ViewerColumn, boolean)with a value oftrueforenableOwnerDraw. Subclasses may override this method but should either call the super implementation or, alternatively,OwnerDrawLabelProvider.initialize(ColumnViewer, ViewerColumn, boolean).- Overrides:
initializein classOwnerDrawLabelProvider- Parameters:
viewer- the viewercolumn- the column, ornullif a column is not available.
-
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 classBaseLabelProvider
-
update
Description copied from class:CellLabelProviderUpdate the label for cell.- Overrides:
updatein classOwnerDrawLabelProvider- Parameters:
cell-ViewerCell
-
prepareStyleRange
Prepares the given style range before it is applied to the label. This method makes sure that no colors are drawn when the element is selected. Clients can override.- Parameters:
styleRange- the style range to prepare. the style range element must not be modifiedapplyColors- specifies if colors should be applied.- Returns:
- returns the style range to use on the label
-
erase
Handle the erase event. The default implementation does nothing to ensure keep native selection highlighting working.- Overrides:
erasein classOwnerDrawLabelProvider- Parameters:
event- the erase eventelement- the model object- See Also:
-
measure
Description copied from class:OwnerDrawLabelProviderHandle the measure event.- Specified by:
measurein classOwnerDrawLabelProvider- Parameters:
event- the measure eventelement- the model element- See Also:
-
paint
Description copied from class:OwnerDrawLabelProviderHandle the paint event.- Specified by:
paintin classOwnerDrawLabelProvider- Parameters:
event- the paint eventelement- the model element- See Also:
-
styleDecoratedString
public static StyledString styleDecoratedString(String decoratedString, StyledString.Styler decorationStyler, StyledString styledString) Applies decoration styles to the decorated string and adds the styles of the previously undecorated string.If the
decoratedStringcontains thestyledString, then the result keeps the styles of thestyledStringand styles the decorations with thedecorationStyler. Otherwise, the decorated string is returned without any styles.- Parameters:
decoratedString- the decorated stringdecorationStyler- the styler to use for the decoration ornullfor no stylesstyledString- the original styled string- Returns:
- the styled decorated string (can be the given
styledString) - Since:
- 3.5
-