Example usage for org.eclipse.jface.resource ImageDescriptor createWithFlags

List of usage examples for org.eclipse.jface.resource ImageDescriptor createWithFlags

Introduction

In this page you can find the example usage for org.eclipse.jface.resource ImageDescriptor createWithFlags.

Prototype

public static ImageDescriptor createWithFlags(ImageDescriptor originalImage, int swtFlags) 

Source Link

Document

Creates an ImageDescriptor based on the given original descriptor, but with additional SWT flags.

Usage

From source file:com.aptana.snippets.ui.views.SnippetsView.java

License:Open Source License

private Image getDisabledImage(URL url) {
    String urlString = url.toString();
    Image image = disabledImageRegistry.get(urlString);

    if (image == null) {
        ImageDescriptor descriptor = imageRegistry.getDescriptor(urlString);
        disabledImageRegistry.put(urlString, ImageDescriptor.createWithFlags(descriptor, SWT.IMAGE_DISABLE));
        image = disabledImageRegistry.get(urlString);
    }/*www  .ja v a2  s .c om*/

    return image;
}

From source file:com.github.haixing_hu.swt.action.ActionContributionItemEx.java

License:Open Source License

/**
 * Updates the images for this action./*w w w . ja v a 2 s .co m*/
 *
 * @param forceImage
 *          <code>true</code> if some form of image is compulsory, and
 *          <code>false</code> if it is acceptable for this item to have no
 *          image
 * @return <code>true</code> if there are images for this action,
 *         <code>false</code> if not
 */
private boolean updateImages(boolean forceImage) {

    final ResourceManager parentResourceManager = JFaceResources.getResources();

    if (widget instanceof ToolItem) {
        if (USE_COLOR_ICONS) {
            ImageDescriptor image = action.getHoverImageDescriptor();
            if (image == null) {
                image = action.getImageDescriptor();
            }
            final ImageDescriptor disabledImage = action.getDisabledImageDescriptor();

            // Make sure there is a valid image.
            if ((image == null) && forceImage) {
                image = ImageDescriptor.getMissingImageDescriptor();
            }

            final LocalResourceManager localManager = new LocalResourceManager(parentResourceManager);

            // performance: more efficient in SWT to set disabled and hot
            // image before regular image
            ((ToolItem) widget).setDisabledImage(
                    disabledImage == null ? null : localManager.createImageWithDefault(disabledImage));
            ((ToolItem) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));

            disposeOldImages();
            imageManager = localManager;

            return image != null;
        }
        ImageDescriptor image = action.getImageDescriptor();
        ImageDescriptor hoverImage = action.getHoverImageDescriptor();
        final ImageDescriptor disabledImage = action.getDisabledImageDescriptor();

        // If there is no regular image, but there is a hover image,
        // convert the hover image to gray and use it as the regular image.
        if ((image == null) && (hoverImage != null)) {
            image = ImageDescriptor.createWithFlags(action.getHoverImageDescriptor(), SWT.IMAGE_GRAY);
        } else {
            // If there is no hover image, use the regular image as the
            // hover image,
            // and convert the regular image to gray
            if ((hoverImage == null) && (image != null)) {
                hoverImage = image;
                image = ImageDescriptor.createWithFlags(action.getImageDescriptor(), SWT.IMAGE_GRAY);
            }
        }

        // Make sure there is a valid image.
        if ((hoverImage == null) && (image == null) && forceImage) {
            image = ImageDescriptor.getMissingImageDescriptor();
        }

        // Create a local resource manager to remember the images we've
        // allocated for this tool item
        final LocalResourceManager localManager = new LocalResourceManager(parentResourceManager);

        // performance: more efficient in SWT to set disabled and hot image
        // before regular image
        ((ToolItem) widget).setDisabledImage(
                disabledImage == null ? null : localManager.createImageWithDefault(disabledImage));
        ((ToolItem) widget)
                .setHotImage(hoverImage == null ? null : localManager.createImageWithDefault(hoverImage));
        ((ToolItem) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));

        // Now that we're no longer referencing the old images, clear them
        // out.
        disposeOldImages();
        imageManager = localManager;

        return image != null;
    } else if ((widget instanceof Item) || (widget instanceof Button)) {

        // Use hover image if there is one, otherwise use regular image.
        ImageDescriptor image = action.getHoverImageDescriptor();
        if (image == null) {
            image = action.getImageDescriptor();
        }
        // Make sure there is a valid image.
        if ((image == null) && forceImage) {
            image = ImageDescriptor.getMissingImageDescriptor();
        }

        // Create a local resource manager to remember the images we've
        // allocated for this widget
        final LocalResourceManager localManager = new LocalResourceManager(parentResourceManager);

        if (widget instanceof Item) {
            ((Item) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));
        } else if (widget instanceof Button) {
            ((Button) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));
        }

        // Now that we're no longer referencing the old images, clear them
        // out.
        disposeOldImages();
        imageManager = localManager;

        return image != null;
    }
    return false;
}

From source file:com.google.gdt.eclipse.managedapis.ui.ApiListingItem.java

License:Open Source License

private Image createGrayImage(Image image) {
    ImageDescriptor descriptor = ImageDescriptor.createWithFlags(ImageDescriptor.createFromImage(image),
            SWT.IMAGE_GRAY);//from   ww w  .  j  a  v  a  2s.c  o  m

    return resources.getResourceManager().createImage(descriptor);
}

From source file:org.eclipse.jpt.common.ui.JptCommonUiImages.java

License:Open Source License

/**
 * Return an image descriptor corresponding to the specified image
 * descriptor "grayed" out.//from ww w .jav a  2s  .com
 * @see org.eclipse.swt.graphics.Image#Image(org.eclipse.swt.graphics.Device, org.eclipse.swt.graphics.Image, int)
 * @see SWT#IMAGE_GRAY
 */
public static ImageDescriptor gray(ImageDescriptor descriptor) {
    return ImageDescriptor.createWithFlags(descriptor, SWT.IMAGE_GRAY);
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils.java

License:Open Source License

/**
 * Get a disabled version of the current image and add it to the image registry if necessary
 * /*from  ww w.j a va2s.  co m*/
 * @param aUrl
 *            - the location of the original image
 * @return Image
 */
public static Image loadDisabledIcon(final String aUrl) {
    final R4EUIPlugin plugin = R4EUIPlugin.getDefault();
    fLock.lock();
    Image icon = plugin.getImageRegistry().get(aUrl + "_disabled");
    try {
        if (null == icon) {
            final URL imageURL = plugin.getBundle().getEntry(aUrl);
            final ImageDescriptor originalDescriptor = ImageDescriptor.createFromURL(imageURL);
            final ImageDescriptor disabledDescriptor = ImageDescriptor.createWithFlags(originalDescriptor,
                    SWT.IMAGE_DISABLE);
            //NOTE:  Here we block while creating the new Image because we need to return it from this method
            Display.getDefault().syncExec(new Runnable() {
                public void run() {
                    final Image newIcon = disabledDescriptor.createImage();
                    plugin.getImageRegistry().put(aUrl + "_disabled", newIcon);
                }
            });
        }
    } finally {
        fLock.unlock();
    }
    return icon;
}

From source file:org.eclipse.nebula.widgets.suggestbox.canvas.ClosableSuggestBoxCanvas.java

License:Open Source License

public ClosableSuggestBoxCanvas(Composite parent, int style, Object input, ILabelProvider labelProvider) {
    super(parent, style, input, labelProvider);
    resourceManager = new LocalResourceManager(JFaceResources.getResources(), this);
    Bundle bundle = FrameworkUtil.getBundle(getClass());

    closeImgDescActive = ImageDescriptor
            .createFromURL(FileLocator.find(bundle, new Path("icons/close.png"), null));
    closeImgDescInactive = ImageDescriptor.createWithFlags(closeImgDescActive, SWT.IMAGE_DISABLE);

    addListener();/*from   www .  ja  v a2s  .c om*/
}

From source file:org.eclipse.sirius.diagram.ui.tools.internal.actions.style.ResetStylePropertiesToDefaultValuesAction.java

License:Open Source License

/**
 * Create a new {@link ResetStylePropertiesToDefaultValuesAction}.
 * /*from ww  w  . j a v  a2  s  .  com*/
 * @param page
 *            the {@link IWorkbenchPage}
 */
public ResetStylePropertiesToDefaultValuesAction(IWorkbenchPage page) {
    super(ACTION_NAME);
    this.page = page;
    final ImageDescriptor enabledImage = DiagramUIPlugin.Implementation
            .getBundledImageDescriptor(DiagramImagesPath.UNDO_ICON);
    final ImageDescriptor disabledImage = ImageDescriptor.createWithFlags(enabledImage, SWT.IMAGE_DISABLE);
    this.setId(ID);
    this.setImageDescriptor(enabledImage);
    this.setDisabledImageDescriptor(disabledImage);
    this.setEnabled(isEnabled());
}

From source file:org.eclipse.sirius.diagram.ui.tools.internal.actions.style.SetStyleToWorkspaceImageAction.java

License:Open Source License

/**
 * Create an new {@link SetStyleToWorkspaceImageAction}.
 *///  w  ww .ja  v a 2s  . c om
public SetStyleToWorkspaceImageAction() {
    super(SET_STYLE_TO_WORKSPACE_IMAGE_ACTION_NAME);
    setId(SET_STYLE_TO_WORKSPACE_IMAGE_ACTION_ID);
    final ImageDescriptor enabledImage = DiagramUIPlugin.Implementation
            .getBundledImageDescriptor(DiagramImagesPath.IMAGE_ICON);
    final ImageDescriptor disabledImage = ImageDescriptor.createWithFlags(enabledImage, SWT.IMAGE_DISABLE);
    this.setImageDescriptor(enabledImage);
    this.setDisabledImageDescriptor(disabledImage);
}

From source file:org.eclipse.sirius.diagram.ui.tools.internal.editor.tabbar.actions.ResetToDefaultFiltersAction.java

License:Open Source License

/**
 * Default constructor.//from w  ww .j a  va2  s  .  c o  m
 * 
 * @param domain
 *            the {@link TransactionalEditingDomain} on which set filters to
 *            default concern
 * @param dDiagram
 *            the {@link DDiagram} on which set filters to default concern
 */
public ResetToDefaultFiltersAction(TransactionalEditingDomain domain, DDiagram dDiagram) {
    super(Messages.ResetToDefaultFiltersAction_text, IAction.AS_PUSH_BUTTON);
    setId(ID);
    setToolTipText(Messages.ResetToDefaultFiltersAction_tooltip);
    ImageDescriptor enabledImage = DiagramUIPlugin.Implementation
            .getBundledImageDescriptor(DiagramImagesPath.UNDO_ICON);
    ImageDescriptor disabledImage = ImageDescriptor.createWithFlags(enabledImage, SWT.IMAGE_DISABLE);
    setImageDescriptor(enabledImage);
    setDisabledImageDescriptor(disabledImage);
    this.domain = domain;
    this.dDiagram = dDiagram;
}

From source file:org.eclipse.sirius.ui.tools.internal.views.common.navigator.SiriusCommonLabelProvider.java

License:Open Source License

/**
 * {@inheritDoc}/*from  w  ww  . ja v a  2 s  . c om*/
 */
public Image getImage(Object element) {
    Image img = null;
    if (!(element instanceof IResource) && sessionLabelProvider != null) {
        try {

            // Let eclipse look for file and project icons + nature
            // decoration
            img = sessionLabelProvider.getImage(element);

            // If the current element is a dangling representation, its icon
            // is grayed. The grayed image is computed only once for each
            // type of representation.
            if (img != null && isDanglingRepresentation(element)) {
                DSemanticDecorator dSemanticDecorator = getDSemanticDecorator(element);
                String key = dSemanticDecorator.eClass().getName() + "_disabled";
                Image disabledImage = SiriusEditPlugin.getPlugin().getImageRegistry().get(key);
                if (disabledImage == null) {
                    ImageDescriptor desc = ImageDescriptor.createFromImage(img);
                    ImageDescriptor disabledDesc = ImageDescriptor.createWithFlags(desc, SWT.IMAGE_DISABLE);
                    SiriusEditPlugin.getPlugin().getImageRegistry().put(key, disabledDesc);
                    disabledImage = SiriusEditPlugin.getPlugin().getImageRegistry().get(key);
                }
                img = disabledImage;
            }
        } catch (IllegalStateException e) {
            // This can happen when trying to get the label of a CDOObject
            // which
            // Transaction has just been closed
            // Nothing to do, null will returned
        } catch (NullPointerException e) {
            // This can happen when trying to get the label of a CDOObject
            // which transaction has just been closed
            // Nothing to do, null will returned
        }
    } else if (element instanceof IFile) {
        // This file is not in a ModelingProject (check in
        // <possibleChildren> and <triggerPoints> of
        // "org.eclipse.ui.navigator.navigatorContent" of plugin.xml)
        IFile file = (IFile) element;

        if (new IFileQuery(file).isResourceHandledByOpenedSession()) {
            // Add "Sirius Modeling" overlay on this semantic file.
            String fileExtension = file.getFileExtension();
            // Create a key to store/restore the image in image registry of
            // SiriusEditPlugin
            String imgKey = fileExtension + "Decorated";
            // Get the existing image (if any)
            img = SiriusEditPlugin.getPlugin().getImageRegistry().get(imgKey);
            // If the image has already been computed, use it.
            if (img == null) {
                // Get the base image to overlay
                ImageDescriptor imageDescriptor = null;
                IWorkbenchAdapter wbAdapter = (IWorkbenchAdapter) file.getAdapter(IWorkbenchAdapter.class);
                if (wbAdapter != null) {
                    imageDescriptor = wbAdapter.getImageDescriptor(file);
                }
                if (imageDescriptor != null) {
                    // Add an overlay with the "Sirius Modeling" overlay
                    ImageDescriptor[] imageDescriptors = new ImageDescriptor[5];
                    imageDescriptors[IDecoration.TOP_RIGHT] = SIRIUS_MODELING_OVERLAY_DESC;
                    img = new DecorationOverlayIcon(imageDescriptor.createImage(), imageDescriptors)
                            .createImage();
                    SiriusEditPlugin.getPlugin().getImageRegistry().put(imgKey, img);
                }
            }
        }
    }
    return img;
}