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

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

Introduction

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

Prototype

int BOTTOM_RIGHT

To view the source code for org.eclipse.jface.viewers IDecoration BOTTOM_RIGHT.

Click Source Link

Document

Constant for the bottom right quadrant.

Usage

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  www .  j a va  2 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.emf.ecp.emfstore.internal.ui.decorator.RepositoryViewLabelDecorator.java

License:Open Source License

/**
 * {@inheritDoc}/*  w  w  w .  ja va2 s.c  o  m*/
 */
@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);
            }
        }
    }
}

From source file:org.eclipse.emf.ecp.validation.connector.ValidationFailedDecorator.java

License:Open Source License

/**
 * {@inheritDoc}//from   w  w w .j a  va2 s  . c  o m
 */
@Override
public void decorate(final Object element, IDecoration decoration) {
    if (!(element instanceof EObject) && !(element instanceof ECPProject)) {
        return;
    }

    Integer severity = null;

    if (element instanceof EObject) {

        final ECPProject project = ECPUtil.getECPProjectManager().getProject(element);

        if (project != null && project.isOpen()) {
            severity = Activator.getDefault().getValidationService(project).getDiagnostic(element)
                    .getSeverity();
        }
    } else if (element instanceof ECPProject && ((ECPProject) element).isOpen()) {
        if (ECPUtil.getECPProjectManager().getProject(((ECPProject) element).getName()) == null) {
            return;
        }
        severity = Activator.getDefault().getValidationService((ECPProject) element).getRootDiagnostic()
                .getSeverity();
    }

    if (severity == null) {
        return;
    }

    switch (severity.intValue()) {
    case Diagnostic.ERROR:
        decoration.addOverlay(Activator.getImageDescriptor("icons/error_decorate.png"), //$NON-NLS-1$
                IDecoration.BOTTOM_RIGHT);
        break;
    case Diagnostic.WARNING:
        decoration.addOverlay(Activator.getImageDescriptor("icons/warning_decorate.png"), //$NON-NLS-1$
                IDecoration.BOTTOM_RIGHT);
        break;
    case Diagnostic.OK:
        decoration.addOverlay(null);
        break;
    default:
        break;
    }

}

From source file:org.eclipse.emf.emfstore.client.ui.decorators.ChildrenDecorator.java

License:Open Source License

/**
 * {@inheritDoc}/* w  w w .  j a va 2  s  .c o m*/
 * 
 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object,
 *      org.eclipse.jface.viewers.IDecoration)
 */
public void decorate(Object element, IDecoration decoration) {
    URL url = FileLocator.find(Platform.getBundle("org.eclipse.emf.ecp.common"), new Path("icons/shortcut.png"),
            null);
    ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(url);
    decoration.addOverlay(imageDescriptor, IDecoration.BOTTOM_RIGHT);

}

From source file:org.eclipse.emf.emfstore.client.ui.views.emfstorebrowser.provider.ESBrowserLabelDecorator.java

License:Open Source License

/**
 * {@inheritDoc} Decorates the label of a {@link ServerInfo} object
 * according to its login state./*w w  w. ja v  a  2 s  . c om*/
 */
public void decorate(Object element, IDecoration decoration) {

    if (element instanceof ServerInfo) {
        ServerInfo server = (ServerInfo) element;

        if (server.getLastUsersession() != null && server.getLastUsersession().isLoggedIn()) {
            decoration.addOverlay(Activator.getImageDescriptor("icons/bullet_green.png"),
                    IDecoration.BOTTOM_RIGHT);
        } else {
            decoration.addOverlay(Activator.getImageDescriptor("icons/bullet_delete.png"),
                    IDecoration.BOTTOM_RIGHT);
        }
    }
}

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;//from ww  w. j  a  v  a  2  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.jpt.common.ui.internal.jface.OverlayImageDescriptor.java

License:Open Source License

/**
 * Draw the underlay image first, followed by either the base image or the
 * replacement image, followed by the overlay images in the order indicated
 * by the overlay constants defined on {@link IDecoration}.
 *///  w  w  w  .j  a v a 2  s.  c o m
@Override
protected void drawCompositeImage(int width, int height) {
    if (this.overlays.length > IDecoration.UNDERLAY) {
        ImageDescriptor underlay = this.overlays[IDecoration.UNDERLAY];
        if (underlay != null) {
            this.drawImage(underlay.getImageData(), 0, 0);
        }
    }

    ImageDescriptor temp = this.base;
    if (this.overlays.length > IDecoration.REPLACE) {
        ImageDescriptor replace = this.overlays[IDecoration.REPLACE];
        if (replace != null) {
            temp = replace;
        }
    }
    this.drawImage(this.convertToImageData(temp), 0, 0);

    for (int i = 0; i < this.overlays.length; i++) {
        ImageDescriptor overlay = this.overlays[i];
        if (overlay == null) {
            continue;
        }
        ImageData overlayData = this.convertToImageData(overlay);
        switch (i) {
        case IDecoration.TOP_LEFT:
            this.drawImage(overlayData, 0, 0);
            break;
        case IDecoration.TOP_RIGHT:
            this.drawImage(overlayData, (this.size.x - overlayData.width), 0);
            break;
        case IDecoration.BOTTOM_LEFT:
            this.drawImage(overlayData, 0, (this.size.y - overlayData.height));
            break;
        case IDecoration.BOTTOM_RIGHT:
            this.drawImage(overlayData, (this.size.x - overlayData.width), (this.size.y - overlayData.height));
            break;
        default:
            // NOP
        }
    }
}

From source file:org.eclipse.jubula.client.teststyle.gui.decoration.DecoratorHandler.java

License:Open Source License

/**
 * Checks in the ProblemCont if the INodePO contains Elements which must be
 * decorated for violating a Checkstyle rule.
 * /*w  w w.  ja v  a  2 s  . c o  m*/
 * {@inheritDoc}
 */
public void decorate(Object element, IDecoration decoration) {
    if (element == null || !TeststyleHandler.getInstance().isEnabled()) {
        return; // Cancel the method, an null element can't be decorated.
    }

    Severity severity = getWorstSeverity(getViolatingBaseChecks(element));

    if (element instanceof INodePO && severity != null) {
        INodePO node = (INodePO) element;
        IProblem worstProblem = ProblemFactory.getWorstProblem(node.getProblems());
        if (worstProblem != null && severity.ordinal() * 2 <= worstProblem.getStatus().getSeverity()) {
            severity = null;
        }
    }

    if (severity != null) {
        switch (severity) {
        case WARNING:
            decoration.addOverlay(IconConstants.WARNING_IMAGE_DESCRIPTOR, IDecoration.BOTTOM_RIGHT);
            break;
        case ERROR:
            decoration.addOverlay(IconConstants.ERROR_IMAGE_DESCRIPTOR, IDecoration.BOTTOM_RIGHT);
            break;
        default:
            break;
        }
    }
    for (BaseCheck chk : getViolatingBaseChecks(element)) {
        decoration.addPrefix(chk.getPrefix(element));
        decoration.addSuffix(chk.getSuffix(element));
    }
    BaseContext cont = BaseContext.getFor(element.getClass());
    for (DecoratingCheck chk : CheckCont.getDecChecksFor(cont)) {
        if (chk.isActive(cont) && chk.decorate(element)) {
            // FIXME mbs decorating icons
            decoration.addPrefix(chk.getPrefix(element));
            decoration.addSuffix(chk.getSuffix(element));
        }
    }
}

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

License:Open Source License

public NestedProjectsComposite(Composite parent, int style, IProject[] initialSelection,
        boolean showOutOfDateWarning) {
    super(parent, style);
    this.showOutOfDateUI = showOutOfDateWarning;

    setLayout(new GridLayout(2, false));

    Label lblAvailable = new Label(this, SWT.NONE);
    lblAvailable.setText(Messages.UpdateDepenciesDialog_availableCodebasesLabel);
    lblAvailable.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));

    codebaseViewer = new CheckboxTreeViewer(this, SWT.BORDER);
    codebaseViewer.setContentProvider(new ITreeContentProvider() {

        public void dispose() {
        }/*from w  ww . j  a v  a  2  s .c om*/

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object element) {
            if (element instanceof Collection) {
                return ((Collection<?>) element).toArray();
            }
            return null;
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof IProject) {
                String elePath = getElePath(parentElement);
                String prevPath = null;
                List<IProject> children = new ArrayList<IProject>();
                for (String path : projectPaths.keySet()) {
                    if (path.length() != elePath.length() && path.startsWith(elePath)) {
                        if (prevPath == null || !path.startsWith(prevPath)) {
                            prevPath = path;
                            children.add(getProject(path));
                        }
                    }
                }
                return children.toArray();
            } else if (parentElement instanceof Collection) {
                return ((Collection<?>) parentElement).toArray();
            }
            return null;
        }

        public Object getParent(Object element) {
            String elePath = getElePath(element);
            String prevPath = null;
            for (String path : projectPaths.keySet()) {
                if (elePath.length() != path.length() && elePath.startsWith(path)
                        && (prevPath == null || prevPath.length() < path.length())) {
                    prevPath = path;
                }
            }
            return prevPath == null ? projects : getProject(prevPath);
        }

        public boolean hasChildren(Object element) {
            if (element instanceof IProject) {
                String elePath = getElePath(element);
                for (String path : projectPaths.keySet()) {
                    if (elePath.length() != path.length() && path.startsWith(elePath)) {
                        return true;
                    }
                }
            } else if (element instanceof Collection) {
                return !((Collection<?>) element).isEmpty();
            }
            return false;
        }
    });
    codebaseViewer.setLabelProvider(new MavenProjectLabelProvider() {
        public Image getImage(Object element) {
            Image img = super.getImage(element);
            if (showOutOfDateUI && requiresUpdate((IProject) element)) {
                img = MavenImages.createOverlayImage(MavenImages.OOD_MVN_PROJECT, img,
                        MavenImages.OUT_OF_DATE_OVERLAY, IDecoration.BOTTOM_RIGHT);
            }
            return img;
        }
    });
    codebaseViewer.setComparator(new ViewerComparator());

    projects = getMavenCodebases();

    // prevent flicker
    codebaseViewer.getTree().setRedraw(false);
    try {
        codebaseViewer.setInput(projects);
        codebaseViewer.expandAll();
        if (initialSelection != null) { // windowbuilder compat
            for (IProject project : initialSelection) {
                setSubtreeChecked(project, true);
            }

            // Reveal the first element
            if (initialSelection.length > 0) {
                codebaseViewer.reveal(initialSelection[0]);
            }
        }
    } finally {
        codebaseViewer.getTree().setRedraw(true);
    }

    Tree tree = codebaseViewer.getTree();
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    gd.heightHint = 300;
    gd.widthHint = 300;
    tree.setLayoutData(gd);

    GridLayout layout = new GridLayout(2, false);
    layout.marginLeft = 10;

    Composite selectionActionComposite = new Composite(this, SWT.NONE);
    selectionActionComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    GridLayout gl_selectionActionComposite = new GridLayout(1, false);
    gl_selectionActionComposite.marginWidth = 0;
    gl_selectionActionComposite.marginHeight = 0;
    selectionActionComposite.setLayout(gl_selectionActionComposite);

    createButtons(selectionActionComposite);

    createOutOfDateProjectsWarning(parent);

    createMenu();

    codebaseViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateSelectedProjects();
        }
    });

    updateSelectedProjects();
}

From source file:org.eclipse.m2m.internal.qvt.oml.debug.ui.QVTODebugUIPlugin.java

License:Open Source License

@Override
protected ImageRegistry createImageRegistry() {
    ImageRegistry imageRegistry = super.createImageRegistry();
    imageRegistry.put(QVTODebugImages.LOCAL_VARIABLE, imageDescriptor("localvar_obj.gif")); //$NON-NLS-1$      
    imageRegistry.put(QVTODebugImages.THIS_VARIABLE, imageDescriptor("thisvar_obj.gif")); //$NON-NLS-1$
    imageRegistry.put(QVTODebugImages.PREDEFINED_VARIABLE, imageDescriptor("predefvar_obj.gif")); //$NON-NLS-1$
    imageRegistry.put(QVTODebugImages.MODEL_PARAMETER, imageDescriptor("modelpar_obj.gif")); //$NON-NLS-1$
    imageRegistry.put(QVTODebugImages.ATTRIBUTE, imageDescriptor("attribute_obj.gif")); //$NON-NLS-1$
    imageRegistry.put(QVTODebugImages.REFERENCE, imageDescriptor("reference_obj.gif")); //$NON-NLS-1$
    imageRegistry.put(QVTODebugImages.COLLECTION_ELEMENT, imageDescriptor("index_element_obj.gif")); //$NON-NLS-1$

    imageRegistry.put(QVTODebugImages.INTERM_PROPERTY, overlayImage("intermprop_ovr.gif", //$NON-NLS-1$ 
            imageRegistry.get(QVTODebugImages.ATTRIBUTE), IDecoration.BOTTOM_RIGHT));

    imageRegistry.put(QVTODebugImages.CONDITIONAL_BPNT_ENABLED, overlayImage("conditional_ovr.gif", //$NON-NLS-1$ 
            DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT), IDecoration.TOP_LEFT));
    imageRegistry.put(QVTODebugImages.CONDITIONAL_BPNT_DISABLED, overlayImage("conditional_ovr_disabled.gif", //$NON-NLS-1$
            DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED), IDecoration.TOP_LEFT));

    return imageRegistry;
}