Example usage for org.eclipse.jface.viewers IDecoration addOverlay

List of usage examples for org.eclipse.jface.viewers IDecoration addOverlay

Introduction

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

Prototype

void addOverlay(ImageDescriptor overlay, int quadrant);

Source Link

Document

Adds an overlay to the element's image.

Usage

From source file:org.eclipse.cft.server.ui.internal.CloudFoundryDecorator.java

License:Open Source License

public void decorate(Object element, final IDecoration decoration) {
    if (element instanceof ModuleServer) {
        ModuleServer moduleServer = (ModuleServer) element;
        IServer s = moduleServer.getServer();
        if (s != null && CloudServerUtil.isCloudFoundryServer(s)) {
            IModule[] modules = moduleServer.getModule();
            if (modules != null && modules.length == 1) {
                CloudFoundryServer server = getCloudFoundryServer(moduleServer.getServer());
                if (server == null || !server.isConnected()) {
                    return;

                }//from   www.  j  a v a2s .c o m
                CloudFoundryApplicationModule module = server.getExistingCloudModule(modules[0]);

                // module may no longer exist
                if (module == null) {
                    return;
                }

                if (module.getLocalModule() != null) {
                    // show local information?
                }

                CloudApplication application = module.getApplication();
                if (application != null) {
                    String deployedAppName = application.getName();
                    IModule localModule = module.getLocalModule();
                    // Only show "Deployed as" when the local module name does not match the deployed app name.
                    if (localModule != null && !localModule.getName().equals(deployedAppName)) {
                        decoration.addSuffix(
                                NLS.bind(Messages.CloudFoundryDecorator_SUFFIX_DEPLOYED_AS, deployedAppName));
                    } else {
                        decoration.addSuffix(Messages.CloudFoundryDecorator_SUFFIX_DEPLOYED);
                    }
                } else {
                    decoration.addSuffix(Messages.CloudFoundryDecorator_SUFFIX_NOT_DEPLOYED);
                }

                if (module.getStatus() != null && !module.getStatus().isOK()) {
                    if (module.getStatus().getSeverity() == IStatus.ERROR) {
                        decoration.addOverlay(CloudFoundryImages.OVERLAY_ERROR, IDecoration.BOTTOM_LEFT);
                    } else if (module.getStatus().getSeverity() == IStatus.WARNING) {
                        decoration.addOverlay(CloudFoundryImages.OVERLAY_WARNING, IDecoration.BOTTOM_LEFT);
                    }
                }
            }
        }
    } else if (element instanceof Server) {
        Server server = (Server) element;
        if (CloudServerUtil.isCloudFoundryServer(server)) {
            final CloudFoundryServer cfServer = getCloudFoundryServer(server);
            if (cfServer != null && cfServer.getUsername() != null) {
                // This now runs on a non UI thread, so we need to join this
                // update to a UI thread.
                Display.getDefault().syncExec(new Runnable() {

                    @Override
                    public void run() {
                        // decoration.addSuffix(NLS.bind("  [{0}, {1}]",
                        // cfServer.getUsername(), cfServer.getUrl()));
                        if (cfServer.hasCloudSpace()) {
                            CloudFoundrySpace clSpace = cfServer.getCloudFoundrySpace();
                            if (clSpace != null) {
                                decoration.addSuffix(
                                        NLS.bind(" - {0} - {1}", clSpace.getOrgName(), clSpace.getSpaceName())); //$NON-NLS-1$
                            }
                        }
                        try {
                            List<AbstractCloudFoundryUrl> cloudUrls = CloudServerUIUtil.getAllUrls(
                                    cfServer.getBehaviour().getServer().getServerType().getId(), null);
                            String url = cfServer.getUrl();
                            // decoration.addSuffix(NLS.bind("  {0}",
                            // cfServer.getUsername()));
                            for (AbstractCloudFoundryUrl cloudUrl : cloudUrls) {
                                if (cloudUrl.getUrl().equals(url)) {
                                    decoration.addSuffix(NLS.bind(" - {0}", cloudUrl.getUrl())); //$NON-NLS-1$
                                    break;
                                }
                            }
                        } catch (CoreException e) {
                            CloudFoundryServerUiPlugin.logError(e);
                        }
                    }
                });
            }
        }
    }
}

From source file:org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.providers.decorators.impl.FilterNodeDecorationService.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration)
 *///  www.j  a v a 2  s.co m
public void decorate(Object element, IDecoration decoration) {
    IFilterNode filterNode = (IFilterNode) element;
    if (hasFiltering(filterNode)) {
        decoration.addOverlay(ImageDescription.getFilterDecorationDescriptor(), IDecoration.BOTTOM_RIGHT);
        decoration.addSuffix(FILTERED);
    }
}

From source file:org.eclipse.ease.modules.unittest.ui.decorators.TestDecorator.java

License:Open Source License

private void addOverlay(final TestStatus status, final IDecoration decoration) {
    switch (status) {
    case PASS:/*from   w ww. j  a v a 2 s. c  o m*/
        decoration.addOverlay(getImage(IMAGE_OK), IDecoration.BOTTOM_LEFT);
        break;
    case ERROR:
        decoration.addOverlay(getImage(IMAGE_ERROR), IDecoration.BOTTOM_LEFT);
        break;
    case FAILURE:
        decoration.addOverlay(getImage(IMAGE_FAILURE), IDecoration.BOTTOM_LEFT);
        break;
    case RUNNING:
        decoration.addOverlay(getImage(IMAGE_RUNNING), IDecoration.BOTTOM_LEFT);
        break;
    default:
        // nothing to do
        break;
    }
}

From source file:org.eclipse.eatop.examples.explorer.decorators.ModelReferenceDecorator.java

License:Open Source License

@Override
public void decorate(Object element, IDecoration decoration) {
    if (elementIsReferenced(element) && elementIsInstanceReferenced(element)) {
        decoration.addOverlay(referenceOverlay, IDecoration.TOP_LEFT);
        decoration.addOverlay(instanceRefOverlay, IDecoration.BOTTOM_RIGHT);
    } else if (elementIsReferenced(element)) {
        decoration.addOverlay(referenceOverlay, IDecoration.TOP_LEFT);
    } else if (elementIsInstanceReferenced(element)) {
        decoration.addOverlay(instanceRefOverlay, IDecoration.BOTTOM_RIGHT);
    } else {/*from  w ww  . jav  a2  s  .co  m*/
        decoration.addOverlay(null);
    }
}

From source file:org.eclipse.eatop.workspace.ui.decorators.EastADLProjectLabelDecorator.java

License:Open Source License

@Override
public void decorate(Object element, IDecoration decoration) {
    // Handle only projects
    if (element instanceof IProject) {
        // Try to retrieve eastADL release descriptor from given project
        EastADLReleaseDescriptor eastADLRelease = IEastADLWorkspacePreferences.EAST_ADL_RELEASE
                .get((IProject) element);
        if (eastADLRelease != null && hasEastADLNatureOnly((IProject) element)) {
            // Adapt eastADL release descriptor in order to get its item label provider
            IItemLabelProvider itemLabelProvider = (IItemLabelProvider) Platform.getAdapterManager()
                    .loadAdapter(eastADLRelease, IItemLabelProvider.class.getName());
            if (itemLabelProvider != null) {
                try {
                    // URL of the image given by item label provider
                    Object imageURL = itemLabelProvider.getImage(eastADLRelease);
                    if (imageURL instanceof URL) {
                        // Obtain corresponding image descriptor from image URL
                        ImageDescriptor imageDescriptor = Activator.getPlugin()
                                .getImageDescriptor((URL) imageURL);

                        // Add image as top left decoration
                        decoration.addOverlay(imageDescriptor, IDecoration.TOP_LEFT);
                    }/*from w  w  w .  j a v  a  2  s  . c om*/
                } catch (MissingResourceException ex) {
                    PlatformLogUtil.logAsWarning(Activator.getPlugin(), ex);
                }
            }
        }
    }
}

From source file:org.eclipse.ecf.sync.ui.resources.decorators.RemotelyOpenedEditorsDecorator.java

License:Open Source License

public void decorate(Object element, IDecoration decoration) {
    IResource resource = (IResource) element;
    if (!set.contains(resource.getFullPath().toString())) {
        return;//from  w  w w  .  j ava2s  . c o  m
    }

    if (resource instanceof IFile) {
        if (descriptor2 == null) {
            URL url = FileLocator.find(Platform.getBundle(SyncResourcesUI.PLUGIN_ID), new Path(iconPath2),
                    null);

            if (url == null)
                return;
            descriptor2 = ImageDescriptor.createFromURL(url);
        }
        decoration.addOverlay(descriptor2, quadrant);
    } else {
        if (descriptor == null) {
            URL url = FileLocator.find(Platform.getBundle(SyncResourcesUI.PLUGIN_ID), new Path(iconPath), null);

            if (url == null)
                return;
            descriptor = ImageDescriptor.createFromURL(url);
        }
        decoration.addOverlay(descriptor, quadrant);
    }
}

From source file:org.eclipse.emf.ecp.emfstore.internal.ui.decorator.EMFStoreDirtyDecorator.java

License:Open Source License

/** {@inheritDoc} */
@Override/*from   w w w. j  av  a2s  .  co m*/
public void decorate(Object element, IDecoration decoration) {
    if (element instanceof ECPProject) {
        final InternalProject project = (InternalProject) element;
        if (ECPUtil.getECPProjectManager().getProject(project.getName()) == null) {
            return;
        }
        final ProjectSpace projectSpace = ((ESLocalProjectImpl) EMFStoreProvider.INSTANCE
                .getProjectSpace(project)).toInternalAPI();

        if (!observers.containsKey(element)) {
            final EMFStoreDirtyObserver emfStoreDirtyObserver = new EMFStoreDirtyObserver(projectSpace,
                    project);
            ESWorkspaceProviderImpl.getObserverBus().register(emfStoreDirtyObserver);
            // projectSpace.getOperationManager().addOperationObserver(emfStoreDirtyObserver);
            observers.put((ECPProject) element, emfStoreDirtyObserver);
        }
        if (project.isOpen() && projectSpace.isShared() && observers.get(element).isDirty()) {
            decoration.addOverlay(Activator.getImageDescriptor(dirtyPath), IDecoration.BOTTOM_LEFT);
        }
    }

    else if (element instanceof EObject) {
        InternalProject project = null;
        try {
            project = (InternalProject) ECPUtil.getECPProjectManager().getProject(element);
        } catch (final IllegalArgumentException iae) {
            // ignore
        }
        if (project != null && project.isOpen() && EMFStoreProvider.INSTANCE.getProjectSpace(project).isShared()
                && EMFStoreDirtyDecoratorCachedTree.getInstance(project).getCachedValue(element) > 0) {
            decoration.addOverlay(Activator.getImageDescriptor(dirtyPath), IDecoration.BOTTOM_LEFT);
        } else {
            decoration.addOverlay(null);
        }
        return;
    }

}

From source file:org.eclipse.emf.ecp.emfstore.internal.ui.decorator.EMFStoreUnsharedDecorator.java

License:Open Source License

/**
 * {@inheritDoc}/*www .j a  v a2s  .  c om*/
 *
 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang .Object,
 *      org.eclipse.jface.viewers.IDecoration)
 * @param element
 *            element
 * @param decoration
 *            decoration
 */
@Override
public void decorate(Object element, IDecoration decoration) {
    if (element instanceof ECPProject) {
        final ECPProject project = (ECPProject) element;
        if (project.isOpen() && project.getProvider().getName() == EMFStoreProvider.NAME) {
            if (!EMFStoreProvider.INSTANCE.getProjectSpace((InternalProject) element).isShared()) {
                decoration.addOverlay(Activator.getImageDescriptor(imagePath), IDecoration.BOTTOM_LEFT);
            }
        }
    }
}

From source file:org.eclipse.emf.ecp.emfstore.internal.ui.decorator.ProjectEMFStoreDirtyDecorator.java

License:Open Source License

/** {@inheritDoc} */
@Override//w  w  w  .j  ava  2s. c  o  m
public void decorate(Object element, IDecoration decoration) {

    if (!(element instanceof ECPProject)) {
        return;
    }
    final ECPProvider ecpProvider = ECPUtil.getECPProviderRegistry().getProvider(EMFStoreProvider.NAME);
    final EMFStoreProvider provider = (EMFStoreProvider) ECPUtil.getResolvedElement(ecpProvider);
    final InternalProject project = (InternalProject) element;
    if (!project.getProvider().equals(provider)) {
        return;
    }
    final ESLocalProject projectSpace = provider.getProjectSpace(project);

    if (projectSpace == null) {
        return;
    }

    if (project.isOpen() && projectSpace.isShared() && projectSpace.hasUncommitedChanges()) {
        decoration.addOverlay(Activator.getImageDescriptor(dirtyPath), IDecoration.BOTTOM_LEFT);
    }

}

From source file:org.eclipse.emf.ecp.emfstore.internal.ui.decorator.RepositoryViewLabelDecorator.java

License:Open Source License

/**
 * {@inheritDoc}/*from  ww  w  .  j a va2  s  .  com*/
 */
@Override
public void decorate(Object element, IDecoration decoration) {
    if (element instanceof ECPRepository) {
        final InternalRepository repository = (InternalRepository) element;
        final ECPProvider provider = repository.getProvider();

        if (provider != null && EMFStoreProvider.NAME.equalsIgnoreCase(provider.getName())) {
            final ESServer server = EMFStoreProvider.INSTANCE.getServerInfo(repository);
            if (server.getLastUsersession() != null && server.getLastUsersession().isLoggedIn()) {
                decoration.addOverlay(Activator.getImageDescriptor("icons/bullet_green.png"), //$NON-NLS-1$
                        IDecoration.BOTTOM_RIGHT);
            } else {
                decoration.addOverlay(Activator.getImageDescriptor("icons/bullet_delete.png"), //$NON-NLS-1$
                        IDecoration.BOTTOM_RIGHT);
            }
        }
    }
}