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:at.medevit.plugin.alpha.decorator.ListElementDecorator.java

License:Open Source License

@Override
public Image decorateImage(Image image, Object element) {
    if (element.equals(PartAlpha.objects[1])) {
        return new DecorationOverlayIcon(image,
                Icon.OVERLAY_ERROR.getImageDescriptor(IconSize._7x8_OverlayIconSize), IDecoration.BOTTOM_RIGHT)
                        .createImage();/*from  w w w  .ja v a2  s .com*/
    }
    return null;
}

From source file:au.gov.ga.earthsci.catalog.part.CatalogTreeLabelProvider.java

License:Apache License

private Image getDecoratedIcon(Image base) {
    String key = base.hashCode() + ""; //$NON-NLS-1$

    if (base.isDisposed()) {
        decoratedImageCache.remove(key);
        return null;
    }/*  w  w w.j a v a  2  s. c  om*/

    Image decorated = decoratedImageCache.get(key);
    if (decorated != null) {
        return decorated;
    }

    decorated = new DecorationOverlayIcon(base,
            ImageRegistry.getInstance().getDescriptor(ImageRegistry.DECORATION_INCLUDED),
            IDecoration.BOTTOM_RIGHT).createImage();
    decoratedImageCache.put(key, decorated);
    return decorated;
}

From source file:cn.dockerfoundry.ide.eclipse.server.ui.internal.editor.ApplicationMasterPart.java

License:Open Source License

private void createApplicationsSection() {
    Section section = getSection();//from  w ww  . java  2s  .co  m
    section.setLayout(new GridLayout());
    GridDataFactory.fillDefaults().grab(true, true).applyTo(section);
    section.setText(Messages.COMMONTXT_APPLICATIONS);
    section.setDescription(Messages.ApplicationMasterPart_TEXT_APP_DESCRIP);

    Composite client = toolkit.createComposite(section);
    client.setLayout(new GridLayout());
    GridDataFactory.fillDefaults().grab(true, true).applyTo(client);
    section.setClient(client);

    Composite headerComposite = toolkit.createComposite(section, SWT.NONE);
    RowLayout rowLayout = new RowLayout();
    rowLayout.marginTop = 0;
    rowLayout.marginBottom = 0;
    headerComposite.setLayout(rowLayout);
    headerComposite.setBackground(null);

    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    toolBarManager.createControl(headerComposite);

    applicationsViewer = new TableViewer(toolkit.createTable(client, SWT.NONE));
    applicationsViewer.setContentProvider(new TreeContentProvider());
    applicationsViewer.setLabelProvider(new ServerLabelProvider() {
        @Override
        public Image getImage(Object element) {
            Image image = super.getImage(element);

            if (element instanceof IModule) {
                IModule module = (IModule) element;
                DockerFoundryApplicationModule appModule = editorPage.getCloudServer()
                        .getExistingCloudModule(module);
                if (appModule != null && appModule.getErrorMessage() != null) {
                    return DockerFoundryImages.getImage(new DecorationOverlayIcon(image,
                            DockerFoundryImages.OVERLAY_ERROR, IDecoration.BOTTOM_LEFT));
                }
            }

            return image;
        }

        @Override
        public String getText(Object element) {
            // This is the WTP module name (usually, it's the workspace
            // project name)
            String moduleName = super.getText(element);

            // However, the user has the option to specify a different name
            // when pushing an app, which is used as the cf app name. If
            // they are different, and the
            // corresponding workspace project is accessible, show both.
            // Otherwise, show the cf app name.

            if (element instanceof IModule) {

                IModule module = (IModule) element;

                // Find the corresponding Cloud Foundry-aware application
                // Module.
                DockerFoundryApplicationModule appModule = cloudServer
                        .getExistingCloudModule((IModule) element);

                if (appModule != null) {
                    String cfAppName = appModule.getDeployedApplicationName();

                    if (cfAppName != null) {

                        // Be sure not to show a null WTP module name,
                        // although
                        // that should not be encountered
                        if (moduleName != null && !cfAppName.equals(moduleName)
                                && DockerFoundryProperties.isModuleProjectAccessible
                                        .testProperty(new IModule[] { module }, cloudServer)) {
                            moduleName = cfAppName + " (" + moduleName + ")"; //$NON-NLS-1$ //$NON-NLS-2$
                        } else {
                            moduleName = cfAppName;
                        }
                    }
                }
            }

            return moduleName;
        }

    });
    applicationsViewer.setInput(new CloudApplication[0]);
    applicationsViewer.setSorter(new DockerFoundryViewerSorter());

    applicationsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            IModule module = (IModule) selection.getFirstElement();

            if (currentModule != module) {
                currentModule = module;
                getManagedForm().fireSelectionChanged(ApplicationMasterPart.this, selection);
            }
        }
    });
    GridDataFactory.fillDefaults().grab(true, true).hint(250, SWT.DEFAULT)
            .applyTo(applicationsViewer.getControl());

    int ops = DND.DROP_COPY | DND.DROP_LINK | DND.DROP_DEFAULT;
    Transfer[] transfers = new Transfer[] { LocalSelectionTransfer.getTransfer() };
    ApplicationViewersDropAdapter listener = new ApplicationViewersDropAdapter(applicationsViewer);
    applicationsViewer.addDropSupport(ops, transfers, listener);

    // create context menu
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            fillApplicationsContextMenu(manager);
        }
    });

    Menu menu = menuManager.createContextMenu(applicationsViewer.getControl());
    applicationsViewer.getControl().setMenu(menu);
    editorPage.getSite().registerContextMenu(menuManager, applicationsViewer);

    Action addRemoveApplicationAction = new Action(Messages.ApplicationMasterPart_TEXT_ADD_REMOVE,
            ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_MODIFY_MODULES)) {
        @Override
        public void run() {
            ModifyModulesWizard wizard = new ModifyModulesWizard(cloudServer.getServerOriginal());
            WizardDialog dialog = new WizardDialog(getSection().getShell(), wizard);
            dialog.open();
        }
    };
    toolBarManager.add(addRemoveApplicationAction);

    // Fix for STS-2996. Moved from CloudFoundryApplicationsEditorPage
    toolBarManager.add(RefreshEditorAction.getRefreshAction(editorPage, null));
    toolBarManager.update(true);
    section.setTextClient(headerComposite);

    getManagedForm().getToolkit().paintBordersFor(client);
}

From source file:co.edu.unal.colswe.changescribe.core.decorator.ProblemLabelDecorator.java

License:Open Source License

private Image getDecoratedImage(Image base, String teamImageId) {
    ImageDescriptor overlay = TeamImages.getImageDescriptor(teamImageId);
    DecorationOverlayIcon decorated = new DecorationOverlayIcon(base, overlay, IDecoration.BOTTOM_LEFT);
    return (Image) this.resourceManager.get(decorated);
}

From source file:com.android.sdkuilib.internal.widgets.AvdSelector.java

License:Apache License

@NonNull
private Image getTagImage(IdDisplay tag, final boolean isOk, final boolean isRepair, final boolean isInvalid) {
    if (tag == null) {
        tag = SystemImage.DEFAULT_TAG;/*from  ww  w.  jav a  2s . c om*/
    }

    String fname = String.format("tag_%s_32.png", tag.getId());
    String kname = String.format("%d%d%d_%s", (isOk ? 1 : 0), (isRepair ? 1 : 0), (isInvalid ? 1 : 0), fname);
    return mImageFactory.getImageByName(fname, kname, new Filter() {
        @Override
        public Image filter(Image source) {
            // We don't need an overlay for good AVDs.
            if (isOk) {
                return source;
            }

            Image overlayImg = isRepair ? mBrokenImage : mInvalidImage;
            ImageDescriptor overlayDesc = ImageDescriptor.createFromImage(overlayImg);

            DecorationOverlayIcon overlaid = new DecorationOverlayIcon(source, overlayDesc,
                    IDecoration.BOTTOM_RIGHT);
            return overlaid.createImage();
        }
    });
}

From source file:com.aptana.editor.js.contentassist.JSModelFormatter.java

License:Open Source License

private Image addOverlay(Image base, ImageDescriptor overlay, int location, String key) {
    ImageRegistry reg = getImageRegistry();
    Image cached = reg.get(key);/*  w  w  w. j a v a 2 s .  c  o m*/
    if (cached != null) {
        return cached;
    }

    DecorationOverlayIcon decorator = new DecorationOverlayIcon(base, overlay, location);
    Image result = decorator.createImage();
    reg.put(key, result);
    return result;
}

From source file:com.aptana.editor.js.views.JSIndexViewLabelProvider.java

License:Open Source License

public Image decorateImage(Image image, Object element) {
    Image result = null;//w ww. j  a va 2s .  com

    if (image != null && element instanceof PropertyElement) {
        PropertyElement property = (PropertyElement) element;

        if (property.isClassProperty()) {
            DecorationOverlayIcon decorator = new DecorationOverlayIcon(image, STATIC_OVERLAY,
                    IDecoration.TOP_RIGHT);

            result = decorator.createImage();
        }
    }

    return result;
}

From source file:com.archimatetool.editor.diagram.ArchimateDiagramEditorActionBarContributor.java

License:Open Source License

@Override
protected void buildActions() {
    super.buildActions();

    // Show Structural Chains
    RetargetAction retargetAction = new LabelRetargetAction(ShowStructuralChainsAction.ID,
            ShowStructuralChainsAction.DEFAULT_TEXT);
    retargetAction.setImageDescriptor(/*w  w  w  .ja v a2 s.  c o m*/
            IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_DERIVED_16));
    addRetargetAction(retargetAction);

    // Create Derived Relation
    retargetAction = new RetargetAction(CreateDerivedRelationAction.ID, CreateDerivedRelationAction.TEXT);
    retargetAction.setImageDescriptor(new DecorationOverlayIcon(
            IArchimateImages.ImageFactory.getImage(IArchimateImages.ICON_DERIVED_SM_16),
            IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_NEW_OVERLAY_16),
            IDecoration.TOP_LEFT));
    addRetargetAction(retargetAction);

    // Delete From Model
    retargetAction = new RetargetAction(DeleteFromModelAction.ID, DeleteFromModelAction.TEXT);
    addRetargetAction(retargetAction);

    // Viewpoints
    for (IViewpoint viewPoint : ViewpointsManager.INSTANCE.getAllViewpoints()) {
        retargetAction = new RetargetAction(viewPoint.getClass().toString(), viewPoint.getName(),
                IAction.AS_RADIO_BUTTON);
        // Looks better as a checkbox
        //retargetAction.setImageDescriptor(ViewpointsManager.INSTANCE.getImageDescriptor(viewPoint));
        addRetargetAction(retargetAction);
    }
}

From source file:com.archimatetool.editor.ui.ImageFactory.java

License:Open Source License

/**
 * Return a composite overlay image/*w  w w  .j a v a2s . co m*/
 * 
 * @param imageName
 * @param overlayName
 * @param quadrant the quadrant (one of {@link IDecoration} 
 * ({@link IDecoration#TOP_LEFT}, {@link IDecoration#TOP_RIGHT},
 * {@link IDecoration#BOTTOM_LEFT}, {@link IDecoration#BOTTOM_RIGHT} 
 * or {@link IDecoration#UNDERLAY})
 * @return
 */
public Image getOverlayImage(String imageName, String overlayName, int quadrant) {
    // Make a registry name, cached
    String key_name = imageName + overlayName + quadrant;

    Image image = getImage(key_name);

    // Make it and cache it
    if (image == null) {
        Image underlay = getImage(imageName);
        ImageDescriptor overlay = getImageDescriptor(overlayName);
        if (underlay != null && overlay != null) {
            image = new DecorationOverlayIcon(underlay, overlay, quadrant).createImage();
            if (image != null) {
                ImageRegistry registry = fPlugin.getImageRegistry();
                registry.put(key_name, image);
            }
        }
    }

    return image;
}

From source file:com.astra.ses.spell.gui.model.outline.OutlineDecorator.java

License:Open Source License

@Override
public Image decorateImage(Image image, Object element) {
    OutlineNode node = (OutlineNode) element;
    Image result = null;//  ww  w.j a va  2 s .  c  o  m
    switch (node.getType()) {
    case CATEGORY:
        DecorationOverlayIcon icon = new DecorationOverlayIcon(image, m_categoryImage,
                IDecoration.BOTTOM_RIGHT);
        result = icon.createImage();
        break;
    default:
        break;
    }

    return result;
}