Example usage for org.eclipse.jface.viewers DecorationOverlayIcon DecorationOverlayIcon

List of usage examples for org.eclipse.jface.viewers DecorationOverlayIcon DecorationOverlayIcon

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers DecorationOverlayIcon DecorationOverlayIcon.

Prototype

public DecorationOverlayIcon(ImageDescriptor baseImageDescriptor, ImageDescriptor overlayImageDescriptor,
        int quadrant) 

Source Link

Document

Create a decoration overlay icon that will place the given overlay icon in the given quadrant of the base image descriptor.

Usage

From source file:org.eclipse.elk.core.ui.views.ValidatingPropertySheetEntry.java

License:Open Source License

/**
 * {@inheritDoc}//from   w ww  .  j a va  2 s . c o m
 */
@Override
public Image getImage() {
    Image image = super.getImage();
    List<GraphIssue> issues = validate();
    if (issues.isEmpty()) {
        return image;
    } else if (image != null) {
        String overlayKey = "error_overlay/" + image.toString();
        Image result = ElkUiPlugin.getInstance().getImageRegistry().get(overlayKey);
        if (result == null) {
            DecorationOverlayIcon overlayIcon = new DecorationOverlayIcon(image,
                    ElkUiPlugin.getImageDescriptor("icons/error_overlay.png"), IDecoration.BOTTOM_LEFT);
            result = overlayIcon.createImage();
            ElkUiPlugin.getInstance().getImageRegistry().put(overlayKey, result);
        }
        return result;
    }
    return null;
}

From source file:org.eclipse.emf.diffmerge.ui.viewers.ComparisonResourceManager.java

License:Open Source License

/**
 * Return an image which is based on the given one with the given overlay
 * @param image_p a non-null image//from w  w  w.  ja va2  s  . c o  m
 * @param overlay_p a potentially null image ID
 * @return a non-null image
 */
public Image getOverlayVersion(Image image_p, ImageID overlay_p) {
    Image result;
    if (overlay_p == null) {
        result = image_p;
    } else {
        ImageOverlay io = new ImageOverlay(image_p, overlay_p);
        result = _normalToOverlay.get(io);
        if (result == null) {
            ImageDescriptor overlayDescriptor = EMFDiffMergeUIPlugin.getDefault().getImageDescriptor(overlay_p);
            DecorationOverlayIcon icon = new DecorationOverlayIcon(image_p, overlayDescriptor,
                    IDecoration.BOTTOM_RIGHT);
            result = icon.createImage(image_p.getDevice());
            _normalToOverlay.put(io, result);
        }
    }
    return result;
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.RemediationGroup.java

License:Open Source License

public void createRemediationControl(Composite container) {
    remediationComposite = new Composite(container, SWT.NONE);
    remediationComposite.setLayout(new GridLayout());
    Listener solutionslistener;//ww  w  .j  av a2  s.c  o m

    Label descriptionLabel = new Label(remediationComposite, SWT.NONE);
    descriptionLabel.setText(ProvUIMessages.RemediationPage_SubDescription);

    solutionslistener = new Listener() {
        public void handleEvent(Event e) {
            Button btn = (Button) e.widget;
            Remedy remedy = (btn.getData() == null ? null : (Remedy) btn.getData());
            checkboxes.get(ALLOWPARTIALINSTALL_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowPartialInstall);
            checkboxes.get(ALLOWDIFFERENTVERSION_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowDifferentVersion);
            checkboxes.get(ALLOWINSTALLEDUPDATE_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowInstalledUpdate);
            checkboxes.get(ALLOWINSTALLEDREMOVAL_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowInstalledRemoval);
            for (Iterator<Button> iterator = checkboxes.iterator(); iterator.hasNext();) {
                Button btn1 = iterator.next();
                btn1.setVisible(true);
            }
            if (btn == buildMyOwnSolution && btn.getSelection()) {
                checkBoxesComposite.setVisible(true);
                ((GridData) checkBoxesComposite.getLayoutData()).exclude = false;
            } else {
                checkBoxesComposite.setVisible(false);
                ((GridData) checkBoxesComposite.getLayoutData()).exclude = true;
            }
            currentRemedy = searchRemedyMatchingUserChoices();
            refreshResultComposite();
            remediationComposite.layout(false);
        }
    };

    bestBeingInstalledRelaxedButton = new Button(remediationComposite, SWT.RADIO);
    bestBeingInstalledRelaxedButton.setText(ProvUIMessages.RemediationPage_BestSolutionBeingInstalledRelaxed);
    bestBeingInstalledRelaxedButton.addListener(SWT.Selection, solutionslistener);

    bestInstalledRelaxedButton = new Button(remediationComposite, SWT.RADIO);
    bestInstalledRelaxedButton.setText(ProvUIMessages.RemediationPage_BestSolutionInstallationRelaxed);
    bestInstalledRelaxedButton.addListener(SWT.Selection, solutionslistener);

    buildMyOwnSolution = new Button(remediationComposite, SWT.RADIO);
    buildMyOwnSolution.setText(ProvUIMessages.RemediationPage_BestSolutionBuilt);
    buildMyOwnSolution.addListener(SWT.Selection, solutionslistener);

    Listener checkboxListener = new Listener() {
        public void handleEvent(Event e) {
            currentRemedy = searchRemedyMatchingUserChoices();
            refreshResultComposite();
        }
    };
    checkBoxesComposite = new Composite(remediationComposite, SWT.NONE);
    checkBoxesComposite.setLayout(new GridLayout(1, false));
    GridData data = new GridData();
    data.exclude = false;
    data.horizontalAlignment = SWT.FILL;
    checkBoxesComposite.setLayoutData(data);

    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.horizontalIndent = 30;
    Iterator<String> iter = CONSTRAINTS.keySet().iterator();
    while (iter.hasNext()) {
        String key = iter.next();
        String[] values = CONSTRAINTS.get(key);
        for (String value : values) {
            Button checkBtn = new Button(checkBoxesComposite, SWT.CHECK);
            checkBtn.setText(value);
            checkBtn.setData(value);
            checkBtn.setLayoutData(gd);
            checkBtn.addListener(SWT.Selection, checkboxListener);
            checkboxes.add(checkBtn);
        }

    }

    resultComposite = new Composite(remediationComposite, SWT.NONE);
    // GridLayoutFactory.fillDefaults().numColumns(1).applyTo(resultComposite);
    switchRemediationLayout = new StackLayout();
    resultComposite.setLayout(switchRemediationLayout);
    GridData data1 = new GridData(GridData.FILL_BOTH);
    resultComposite.setLayoutData(data1);

    resultErrorComposite = new Composite(resultComposite, SWT.NONE);
    resultErrorComposite.setLayout(new GridLayout());
    resultErrorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    resultNotFoundComposite = new Composite(resultComposite, SWT.NONE);
    resultNotFoundComposite.setLayout(new GridLayout());
    Label resultNotFoundLabel = new Label(resultNotFoundComposite, SWT.NONE);
    resultNotFoundLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    resultNotFoundLabel.setText(ProvUIMessages.RemediationPage_NoSolutionFound);

    resultFoundComposite = new Composite(resultComposite, SWT.NONE);
    resultFoundComposite.setLayout(new GridLayout());

    Group insideFoundComposite = new Group(resultFoundComposite, SWT.NONE);
    insideFoundComposite.setText(ProvUIMessages.RemediationPage_SolutionDetails);
    GridLayout gridLayout = new GridLayout();
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    insideFoundComposite.setLayout(gridLayout);
    insideFoundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    treeViewer = new TreeViewer(insideFoundComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    ColumnViewerToolTipSupport.enableFor(treeViewer);
    data = new GridData(GridData.FILL_BOTH);
    Tree tree = treeViewer.getTree();
    tree.setLayoutData(data);
    tree.setHeaderVisible(true);
    TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
    nameColumn.getColumn().setText(ProvUIMessages.ProvUI_NameColumnTitle);
    nameColumn.getColumn().setWidth(400);
    nameColumn.getColumn().setMoveable(true);
    nameColumn.getColumn().addSelectionListener(columnChangeListener(0));
    nameColumn.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            if (element instanceof RemedyElementCategory)
                return ((RemedyElementCategory) element).getName();
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iu = (RemedyIUDetail) element;
                String label = iu.getIu().getProperty(IInstallableUnit.PROP_NAME, null);
                if (label == null)
                    label = iu.getIu().getId();
                return label;
            }
            return super.getText(element);
        }

        public Image getImage(Object element) {
            if (element instanceof RemedyElementCategory) {
                RemedyElementCategory category = (RemedyElementCategory) element;
                if (category.getName().equals(ProvUIMessages.RemedyCategoryAdded))
                    return ProvUIImages.getImage(ProvUIImages.IMG_ADDED);
                if (category.getName().equals(ProvUIMessages.RemedyCategoryChanged))
                    return ProvUIImages.getImage(ProvUIImages.IMG_CHANGED);
                if (category.getName().equals(ProvUIMessages.RemedyCategoryNotAdded))
                    return ProvUIImages.getImage(ProvUIImages.IMG_NOTADDED);
                if (category.getName().equals(ProvUIMessages.RemedyCategoryRemoved))
                    return ProvUIImages.getImage(ProvUIImages.IMG_REMOVED);
            } else if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iuDetail = (RemedyIUDetail) element;
                int status = compare(iuDetail);
                if (compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()) < 0
                        && containerPage != null && containerPage.getWizard() instanceof UpdateWizard) {
                    Image img = ProvUIImages.getImage(ProvUIImages.IMG_UPGRADED_IU);
                    ImageDescriptor overlay = ProvUIActivator.getDefault().getImageRegistry()
                            .getDescriptor(ProvUIImages.IMG_INFO);
                    String decoratedImageId = ProvUIImages.IMG_UPGRADED_IU.concat(ProvUIImages.IMG_INFO);
                    if (ProvUIActivator.getDefault().getImageRegistry().get(decoratedImageId) == null) {
                        DecorationOverlayIcon decoratedImage = new DecorationOverlayIcon(img, overlay,
                                IDecoration.BOTTOM_RIGHT);
                        ProvUIActivator.getDefault().getImageRegistry().put(decoratedImageId, decoratedImage);
                    }
                    Image decoratedImg = ProvUIActivator.getDefault().getImageRegistry().get(decoratedImageId);
                    return decoratedImg;
                }

                if (status < 0)
                    return ProvUIImages.getImage(ProvUIImages.IMG_DOWNGRADED_IU);
                if (status > 0)
                    return ProvUIImages.getImage(ProvUIImages.IMG_UPGRADED_IU);
                return ProvUIImages.getImage(ProvUIImages.IMG_IU);
            }
            return super.getImage(element);
        }

        public String getToolTipText(Object element) {
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iuDetail = (RemedyIUDetail) element;
                String toolTipText = ""; //$NON-NLS-1$
                List<String> versions = new ArrayList<String>();
                if (iuDetail.getInstalledVersion() != null)
                    versions.add(ProvUIMessages.RemedyElementInstalledVersion
                            + iuDetail.getInstalledVersion().toString());
                if (iuDetail.getRequestedVersion() != null)
                    versions.add(ProvUIMessages.RemedyElementRequestedVersion
                            + iuDetail.getRequestedVersion().toString());
                if (iuDetail.getBeingInstalledVersion() != null)
                    versions.add(ProvUIMessages.RemedyElementBeingInstalledVersion
                            + iuDetail.getBeingInstalledVersion().toString());
                for (Iterator<String> iterator = versions.iterator(); iterator.hasNext();) {
                    String version = iterator.next();
                    toolTipText += (toolTipText == "" ? "" : "\n") + version; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
                }
                if (containerPage != null && containerPage.getWizard() instanceof UpdateWizard
                        && compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()) < 0)
                    toolTipText = ProvUIMessages.RemedyElementNotHighestVersion + "\n\n" + toolTipText; //$NON-NLS-1$
                return toolTipText;
            }
            return super.getToolTipText(element);
        }

        private int compare(Version versionA, Version versionB) {
            if (versionA != null && versionB != null)
                return versionA.compareTo(versionB);
            return 0;
        }

        private int compare(RemedyIUDetail iuDetail) {
            if (iuDetail.getStatus() == RemedyIUDetail.STATUS_ADDED && iuDetail.getRequestedVersion() != null
                    && iuDetail.getBeingInstalledVersion() != null) {
                return compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion());
            }
            if (iuDetail.getStatus() == RemedyIUDetail.STATUS_CHANGED && iuDetail.getInstalledVersion() != null
                    && iuDetail.getBeingInstalledVersion() != null) {
                return compare(iuDetail.getBeingInstalledVersion(), iuDetail.getInstalledVersion());
            }
            return 0;
        }
    });
    TreeViewerColumn versionColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
    versionColumn.getColumn().setText(ProvUIMessages.ProvUI_VersionColumnTitle);
    versionColumn.getColumn().setWidth(200);
    versionColumn.getColumn().addSelectionListener(columnChangeListener(1));
    versionColumn.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iu = (RemedyIUDetail) element;
                if (iu.getBeingInstalledVersion() != null)
                    return iu.getBeingInstalledVersion().toString();
            }
            return ""; //$NON-NLS-1$
        }
    });
    TreeViewerColumn idColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
    idColumn.getColumn().setText(ProvUIMessages.ProvUI_IdColumnTitle);
    idColumn.getColumn().setWidth(200);
    idColumn.getColumn().addSelectionListener(columnChangeListener(2));

    idColumn.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iu = (RemedyIUDetail) element;
                return iu.getIu().getId();
            }
            return ""; //$NON-NLS-1$
        }
    });

    treeComparator = new TreeViewerComparator();
    treeViewer.setComparator(treeComparator);
    treeViewer.setContentProvider(new RemedyContentProvider());
    treeViewer.setAutoExpandLevel(2);
    iuDetailsGroup = new IUDetailsGroup(resultErrorComposite, treeViewer, 500, true);
}

From source file:org.eclipse.handly.ui.viewer.ProblemLabelDecorator.java

License:Open Source License

@Override
public Image decorateImage(Image image, Object element) {
    if (image == null)
        return null;

    Severity severity = computeProblemSeverity(element);
    if (severity == null)
        return null;

    return (Image) getResourceManager()
            .get(new DecorationOverlayIcon(image, getOverlayImage(severity), IDecoration.BOTTOM_LEFT));
}

From source file:org.eclipse.jdt.internal.ui.wizards.buildpaths.CPListLabelProvider.java

License:Open Source License

@Override
public Image getImage(Object element) {
    if (element instanceof CPListElement) {
        CPListElement cpentry = (CPListElement) element;
        ImageDescriptor imageDescriptor = getCPListElementBaseImage(cpentry);
        if (imageDescriptor != null) {
            if (cpentry.isMissing() || cpentry.hasMissingChildren()) {
                imageDescriptor = new JavaElementImageDescriptor(imageDescriptor,
                        JavaElementImageDescriptor.ERROR, JavaElementImageProvider.SMALL_SIZE);
            }//from   w ww.j  a  v  a2  s  .  c  o  m
            return fRegistry.get(imageDescriptor);
        }
    } else if (element instanceof CPListElementAttribute) {
        CPListElementAttribute attribute = (CPListElementAttribute) element;
        String key = (attribute).getKey();
        if (key.equals(CPListElement.SOURCEATTACHMENT)) {
            return fRegistry.get(JavaPluginImages.DESC_OBJS_SOURCE_ATTACH_ATTRIB);
        } else if (key.equals(CPListElement.OUTPUT)) {
            return fRegistry.get(JavaPluginImages.DESC_OBJS_OUTPUT_FOLDER_ATTRIB);
        } else if (key.equals(CPListElement.EXCLUSION)) {
            return fRegistry.get(JavaPluginImages.DESC_OBJS_EXCLUSION_FILTER_ATTRIB);
        } else if (key.equals(CPListElement.INCLUSION)) {
            return fRegistry.get(JavaPluginImages.DESC_OBJS_INCLUSION_FILTER_ATTRIB);
        } else if (key.equals(CPListElement.ACCESSRULES)) {
            return fRegistry.get(JavaPluginImages.DESC_OBJS_ACCESSRULES_ATTRIB);
        } else if (key.equals(CPListElement.IGNORE_OPTIONAL_PROBLEMS)) {
            Image image = fRegistry.get(getCPListElementBaseImage(attribute.getParent()));
            if (image != null) {
                ImageDescriptor overlay = JavaPluginImages.DESC_OVR_IGNORE_OPTIONAL_PROBLEMS;
                ImageDescriptor imageDescriptor = new DecorationOverlayIcon(image, overlay,
                        IDecoration.BOTTOM_LEFT);
                return fRegistry.get(imageDescriptor);
            }
        } else {
            ClasspathAttributeConfiguration config = fAttributeDescriptors.get(key);
            if (config != null) {
                return fRegistry.get(config.getImageDescriptor(attribute.getClasspathAttributeAccess()));
            }
        }
        return fSharedImages.getImage(ISharedImages.IMG_OBJS_CLASSPATH_VAR_ENTRY);
    } else if (element instanceof CPUserLibraryElement) {
        if (((CPUserLibraryElement) element).hasMissingChildren()) {
            ImageDescriptor descriptor = fSharedImages.getImageDescriptor(ISharedImages.IMG_OBJS_LIBRARY);
            if (descriptor != null) {
                return fRegistry.get(new JavaElementImageDescriptor(descriptor,
                        JavaElementImageDescriptor.ERROR, JavaElementImageProvider.SMALL_SIZE));
            }
        }
        return fSharedImages.getImage(ISharedImages.IMG_OBJS_LIBRARY);
    } else if (element instanceof IAccessRule) {
        IAccessRule rule = (IAccessRule) element;
        return AccessRulesLabelProvider.getResolutionImage(rule.getKind());
    }
    return null;
}

From source file:org.eclipse.jdt.internal.ui.wizards.buildpaths.CPVariableElementLabelProvider.java

License:Open Source License

public CPVariableElementLabelProvider(boolean highlightReadOnly) {
    ImageRegistry reg = JavaPlugin.getDefault().getImageRegistry();
    fJARImage = reg.get(JavaPluginImages.IMG_OBJS_EXTJAR);
    fFolderImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);

    fDeprecatedJARImage = new DecorationOverlayIcon(fJARImage, JavaPluginImages.DESC_OVR_DEPRECATED,
            IDecoration.TOP_LEFT).createImage();
    fDeprecatedFolderImage = new DecorationOverlayIcon(fFolderImage, JavaPluginImages.DESC_OVR_DEPRECATED,
            IDecoration.TOP_LEFT).createImage();

    fHighlightReadOnly = highlightReadOnly;
}

From source file:org.eclipse.jubula.client.ui.constants.IconConstants.java

License:Open Source License

/**
 * Puts the given overlay on top of another image
 * @param image the image//from   w w w.  j  av  a  2  s .  c  o  m
 * @param overlay the overlay
 * @param quadrant the position
 * @return image
 */
public static Image decorateImage(Image image, ImageDescriptor overlay, int quadrant) {
    DecorationOverlayIcon icon = new DecorationOverlayIcon(image, overlay, quadrant);
    Image img = CACHE.get(icon);
    if (img == null) {
        img = icon.createImage();
        CACHE.put(icon, img);
    }
    return img;
}

From source file:org.eclipse.languageserver.outline.SymbolsLabelProvider.java

License:Open Source License

private Image getOverlay(Image res, int maxSeverity) {
    if (maxSeverity != 1 && maxSeverity != 2) {
        throw new IllegalArgumentException("Severity " + maxSeverity + " not supported."); //$NON-NLS-1$ //$NON-NLS-2$
    }/*from  w  w w . j a  va  2s . c  o  m*/
    if (!this.overlays.containsKey(res)) {
        this.overlays.put(res, new Image[2]);
    }
    Image[] currentOverlays = this.overlays.get(res);
    if (currentOverlays[maxSeverity - 1] == null) {
        String overlayId = null;
        if (maxSeverity == IMarker.SEVERITY_ERROR) {
            overlayId = ISharedImages.IMG_DEC_FIELD_ERROR;
        } else if (maxSeverity == IMarker.SEVERITY_WARNING) {
            overlayId = ISharedImages.IMG_DEC_FIELD_WARNING;
        }
        currentOverlays[maxSeverity - 1] = new DecorationOverlayIcon(res,
                PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(overlayId),
                IDecoration.BOTTOM_LEFT).createImage();
    }
    return currentOverlays[maxSeverity - 1];
}

From source file:org.eclipse.m2e.core.ui.internal.MavenImages.java

License:Open Source License

private static ImageDescriptor createOverlayDescriptor(ImageDescriptor base, ImageDescriptor overlay,
        int quadrant) {
    return new DecorationOverlayIcon(base.createImage(), overlay, quadrant);
}

From source file:org.eclipse.m2e.core.ui.internal.MavenImages.java

License:Open Source License

private static ImageDescriptor createOverlayDescriptor(Image base, ImageDescriptor overlay, int quadrant) {
    return new DecorationOverlayIcon(base, overlay, quadrant);
}