List of usage examples for org.eclipse.jface.viewers ILabelDecorator decorateImage
public Image decorateImage(Image image, Object element);
From source file:org.eclipse.equinox.jmx.internal.client.ui.contributionsview.ContributionLabelProvider.java
License:Open Source License
protected Image decorateImage(Image image, Object element) { if (labelDecorators != null && image != null) { Iterator iter = labelDecorators.iterator(); while (iter.hasNext()) { ILabelDecorator decorator = (ILabelDecorator) iter.next(); image = decorator.decorateImage(image, element); }//w w w . j a va 2s . c o m } return image; }
From source file:org.eclipse.handly.ui.viewer.CompositeLabelDecorator.java
License:Open Source License
@Override public Image decorateImage(Image image, Object element) { for (ILabelDecorator decorator : decorators) { Image newImage = decorator.decorateImage(image, element); if (newImage != null) image = newImage;/* w w w . j a v a2 s . co m*/ } return image; }
From source file:org.eclipse.oomph.internal.ui.FindAndReplaceTarget.java
License:Open Source License
/** * This sets up a special label provider in the viewer to be able to highlight the scope and show the selected match. *//* www. j av a 2 s .c o m*/ protected void hookLabelProvider() { final StructuredViewer viewer = getViewer(); // We use this special class so we can detect if the label provider is already hooked up. class DecoratingLabelProvider extends DelegatingStyledCellLabelProvider.FontAndColorProvider implements IStyledLabelProvider { public DecoratingLabelProvider(IStyledLabelProvider styledLabelProvider) { super(styledLabelProvider); } @Override public StyledString getStyledText(Object element) { return super.getStyledText(element); } } // If the label provider is already hooked up... final ILabelProvider labelProvider = (ILabelProvider) viewer.getLabelProvider(); if (labelProvider instanceof DecoratingLabelProvider) { // Update the selection scope objects. if (selectionScopeObjects != null) { viewer.update(selectionScopeObjects.toArray(), null); } // Update the selected object if it's for a label. if (selectedItem != null && selectedItem.itemPropertyDescriptor == null) { viewer.update(selectedItem.data.object, null); } } else { // Create a styled label provider that can decorate the text. IStyledLabelProvider styledProvider = new DecoratingColumLabelProvider.StyledLabelProvider( labelProvider, new IStyledLabelDecorator() { // Use the color from the theme that the editor uses to highlight the scope. final Color color = workbenchPart.getSite().getWorkbenchWindow().getWorkbench() .getThemeManager().getCurrentTheme().getColorRegistry() .get("org.eclipse.ui.editors.findScope"); final Styler scopeStyler = new Styler() { @Override public void applyStyles(TextStyle textStyle) { textStyle.background = color; } }; public void removeListener(ILabelProviderListener listener) { labelProvider.removeListener(listener); } public boolean isLabelProperty(Object element, String property) { return labelProvider.isLabelProperty(element, property); } public void dispose() { labelProvider.dispose(); } public void addListener(ILabelProviderListener listener) { labelProvider.addListener(listener); } public String decorateText(String text, Object element) { if (labelProvider instanceof ILabelDecorator) { ILabelDecorator labelDecorator = (ILabelDecorator) labelProvider; return labelDecorator.decorateText(text, element); } return text; } public Image decorateImage(Image image, Object element) { if (labelProvider instanceof ILabelDecorator) { ILabelDecorator labelDecorator = (ILabelDecorator) labelProvider; return labelDecorator.decorateImage(image, element); } return image; } public StyledString decorateStyledText(StyledString styledString, Object element) { if (labelProvider instanceof IStyledLabelDecorator) { IStyledLabelDecorator styledLabelDecorator = (IStyledLabelDecorator) labelProvider; styledString = styledLabelDecorator.decorateStyledText(styledString, element); } // If we have a selected item, it's the item for the label, and this element is that selected element's object... if (selectedItem != null && selectedItem.itemPropertyDescriptor == null && element == selectedItem.data.object) { // Convert the styled string to just a string. String string = styledString.getString(); // Find the pattern match within that string. Matcher matcher = selectedItemPattern.matcher(string); if (matcher.find(selectedItemStart)) { // Create a new styles string. StyledString result = new StyledString(); // Recompose the string with the match styled to show a selection bod. String group = matcher.group(); int start = matcher.start(); int end = matcher.end(); result.append(string.substring(0, start)); result.append(group, MATCH_STYLER); result.append(string.substring(end)); return result; } } // If we have scope objects and the element is one of those... if (selectionScopeObjects != null && selectionScopeObjects.contains(element)) { // Mark the entire string with the scope styling. StyledString result = new StyledString(); result.append(styledString.getString(), scopeStyler); return result; } // Otherwise just pass through the string. return styledString; } }); // Hook up the label provider to be the one used by the view. ILabelProvider delegatingLabelProvider = new DecoratingLabelProvider(styledProvider); viewer.setLabelProvider(delegatingLabelProvider); } }
From source file:org.eclipse.tcf.te.ui.views.editor.pages.AbstractTreeViewerExplorerEditorPage.java
License:Open Source License
/** * Update the page's ui including its toolbar and title text and image. *//*from w ww. j a v a 2s . com*/ protected void updateUI() { toolbarMgr.update(true); IManagedForm managedForm = getManagedForm(); Form form = managedForm.getForm().getForm(); Object element = getTreeViewerInput(); boolean filterEnabled = false; IFilterable filterDecorator = adaptFilterable(); if (filterDecorator != null) { TreeViewer viewer = (TreeViewer) treeControl.getViewer(); filterEnabled = TreeViewerUtil.isFiltering(viewer, TreePath.EMPTY); } ILabelDecorator titleDecorator = getTitleBarDecorator(); String text = getFormTitle(); if (text != null) { if (titleDecorator != null) { text = titleDecorator.decorateText(text, element); } if (filterEnabled) { TreeViewer viewer = (TreeViewer) treeControl.getViewer(); text = TreeViewerUtil.getDecoratedText(text, viewer, TreePath.EMPTY); } } Image image = getFormImage(); if (image != null) { if (titleDecorator != null) { image = titleDecorator.decorateImage(image, element); } if (filterEnabled) { TreeViewer viewer = (TreeViewer) treeControl.getViewer(); image = TreeViewerUtil.getDecoratedImage(image, viewer, TreePath.EMPTY); } } if (text != null) { try { form.setText(text); } catch (Exception e) { // Ignore any disposed exception } } if (image != null) { try { form.setImage(image); } catch (Exception e) { // Ignore any disposed exception } } }
From source file:org.eclipse.ui.internal.decorators.FullDecoratorDefinition.java
License:Open Source License
/** * Decorate the image provided for the element type. * This method should not be called unless a check for * isEnabled() has been done first.//from www . j av a 2 s . c o m * Return null if there is no image or if an error occurs. */ Image decorateImage(Image image, Object element) { try { //Internal decorator might be null so be prepared ILabelDecorator currentDecorator = internalGetDecorator(); if (currentDecorator != null) { return currentDecorator.decorateImage(image, element); } } catch (CoreException exception) { handleCoreException(exception); } return null; }
From source file:org.eclipse.wst.jsdt.internal.ui.browsing.PackagesView.java
License:Open Source License
/** * Override the getText and getImage methods for the DecoratingLabelProvider * to handel the decoration of logical packages. * * @see org.eclipse.wst.jsdt.internal.ui.browsing.JavaBrowsingPart#createDecoratingLabelProvider(JavaUILabelProvider) *///from ww w .java2 s . com protected DecoratingJavaLabelProvider createDecoratingLabelProvider(JavaUILabelProvider provider) { return new DecoratingJavaLabelProvider(provider, false, isInListState()) { public String getText(Object element) { if (element instanceof LogicalPackage) { LogicalPackage el = (LogicalPackage) element; return super.getText(el.getFragments()[0]); } else return super.getText(element); } public Image getImage(Object element) { if (element instanceof LogicalPackage) { LogicalPackage el = (LogicalPackage) element; ILabelDecorator decorator = getLabelDecorator(); IPackageFragment[] fragments = el.getFragments(); Image image = super.getImage(el); for (int i = 0; i < fragments.length; i++) { IPackageFragment fragment = fragments[i]; Image decoratedImage = decorator.decorateImage(image, fragment); if (decoratedImage != null) image = decoratedImage; } return image; } else return super.getImage(element); } }; }
From source file:org.erlide.ui.editors.erl.outline.ErlangLabelProvider.java
License:Open Source License
protected Image decorateImage(Image image, final Object element) { if (fLabelDecorators != null && image != null) { for (int i = 0; i < fLabelDecorators.size(); i++) { final ILabelDecorator decorator = fLabelDecorators.get(i); image = decorator.decorateImage(image, element); }//from w w w. j av a2s . c o m } return image; }