Example usage for org.eclipse.jface.viewers ITreePathLabelProvider updateLabel

List of usage examples for org.eclipse.jface.viewers ITreePathLabelProvider updateLabel

Introduction

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

Prototype

public void updateLabel(ViewerLabel label, TreePath elementPath);

Source Link

Document

Updates the label for the given element.

Usage

From source file:org.eclipse.jubula.client.ui.provider.DecoratingCellLabelProvider.java

License:Open Source License

/**
 * {@inheritDoc}// w ww.  j  a  v a 2s.  co  m
 */
public void updateLabel(ViewerLabel settings, TreePath elementPath) {
    ILabelDecorator currentDecorator = getLabelDecorator();
    String oldText = settings.getText();
    Object element = elementPath.getLastSegment();
    boolean decorationReady = true;
    if (currentDecorator instanceof LabelDecorator) {
        LabelDecorator labelDecorator = (LabelDecorator) currentDecorator;
        if (!labelDecorator.prepareDecoration(element, oldText, getDecorationContext())) {
            // The decoration is not ready but has been queued for
            // processing
            decorationReady = false;
        }
    } else if (currentDecorator instanceof IDelayedLabelDecorator) {
        IDelayedLabelDecorator delayedDecorator = (IDelayedLabelDecorator) currentDecorator;
        if (!delayedDecorator.prepareDecoration(element, oldText)) {
            // The decoration is not ready but has been queued for
            // processing
            decorationReady = false;
        }
    }
    // settings.setHasPendingDecorations(!decorationReady);
    // update icon and label

    if (m_provider instanceof ITreePathLabelProvider) {
        ITreePathLabelProvider pprov = (ITreePathLabelProvider) m_provider;
        if (decorationReady || oldText == null || settings.getText().length() == 0) {
            pprov.updateLabel(settings, elementPath);
            decorateSettings(settings, elementPath);
        }
    } else {
        if (decorationReady || oldText == null || settings.getText().length() == 0) {
            settings.setText(getText(element));
        }

        Image oldImage = settings.getImage();
        if (decorationReady || oldImage == null) {
            settings.setImage(getImage(element));
        }

        if (decorationReady) {
            updateForDecorationReady(settings, element);
        }
    }

}

From source file:org.eclipse.team.internal.ui.synchronize.actions.CopyToClipboardAction.java

License:Open Source License

private String getTextFor(TreePath path) {
    Object element = path.getLastSegment();
    if (element instanceof ITypedElement) {
        return ((ITypedElement) element).getName();
    }//w ww.ja v a2  s .  com
    INavigatorContentService service = getNavigatorContentService();
    if (service != null) {
        ILabelProvider provider = service.createCommonLabelProvider();
        if (provider instanceof ITreePathLabelProvider) {
            ITreePathLabelProvider tplp = (ITreePathLabelProvider) provider;
            ViewerLabel viewerLabel = new ViewerLabel("", null); //$NON-NLS-1$
            tplp.updateLabel(viewerLabel, path);
            return viewerLabel.getText();
        }
        return provider.getText(element);
    }
    if (element instanceof IResource) {
        IResource resource = (IResource) element;
        return resource.getName();
    }
    return null;
}

From source file:org.eclipse.ui.internal.navigator.extensions.SafeDelegateCommonLabelProvider.java

License:Open Source License

public void updateLabel(ViewerLabel label, TreePath elementPath) {
    if (delegateLabelProvider instanceof ITreePathLabelProvider) {
        ITreePathLabelProvider tplp = (ITreePathLabelProvider) delegateLabelProvider;
        String text = label.getText() != null ? label.getText() : ""; //$NON-NLS-1$
        Image image = label.getImage();
        tplp.updateLabel(label, elementPath);
        if (label.getText() == null)
            label.setText(text);//from   www. j a  v a2  s. c  o m
        if (label.getImage() == null && image != null)
            label.setImage(image);
    } else {
        Image image = getImage(elementPath.getLastSegment());
        if (image != null)
            label.setImage(image);
        String text = getText(elementPath.getLastSegment());
        if (text != null)
            label.setText(text);
    }
}

From source file:org.eclipse.ui.internal.navigator.NavigatorContentServiceLabelProvider.java

License:Open Source License

/**
 * Search for text label and take overrides into account. 
 * Uses only simple ITreeContentProvider.getParent() style semantics. 
 */// ww w.j  a  v  a 2s  .  c o m
private void findUpdateLabel(NavigatorContentExtension foundExtension, ReusableViewerLabel label,
        TreePath elementPath) {

    ILabelProvider labelProvider = foundExtension.getLabelProvider();
    if (labelProvider instanceof ITreePathLabelProvider) {
        ITreePathLabelProvider tplp = (ITreePathLabelProvider) labelProvider;
        tplp.updateLabel(label, elementPath);
    } else {
        label.setImage(labelProvider.getImage(elementPath.getLastSegment()));
        label.setText(labelProvider.getText(elementPath.getLastSegment()));
    }
}

From source file:org.neuro4j.studio.debug.ui.views.StructuredViewer.java

License:Apache License

/**
 * Build a label up for the element using the supplied label provider.
 * /*from  w ww . ja  v a  2s.  c o m*/
 * @param updateLabel
 *        The ViewerLabel to collect the result in
 * @param elementPath
 *        The path of the element being decorated.
 * @param labelProvider
 *        ILabelProvider the labelProvider for the receiver.
 */
void buildLabel(ViewerLabel updateLabel, TreePath elementPath, ITreePathLabelProvider labelProvider) {

    labelProvider.updateLabel(updateLabel, elementPath);

    colorAndFontCollector.setUsedDecorators();

    if (updateLabel.hasNewBackground()) {
        colorAndFontCollector.setBackground(updateLabel.getBackground());
    }

    if (updateLabel.hasNewForeground()) {
        colorAndFontCollector.setForeground(updateLabel.getForeground());
    }

    if (updateLabel.hasNewFont()) {
        colorAndFontCollector.setFont(updateLabel.getFont());
    }

}