Example usage for org.eclipse.jface.viewers ViewerLabel getImage

List of usage examples for org.eclipse.jface.viewers ViewerLabel getImage

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerLabel getImage.

Prototype

public final Image getImage() 

Source Link

Document

Get the image for the receiver.

Usage

From source file:com.jointlogic.breadcrumbs.sampleapp.api.BreadcrumbViewer.java

License:Open Source License

/**
 * @param item//from w w  w .  java2  s  .  co  m
 *            Item to refresh.
 * @return returns whether the item's size and layout needs to be updated.
 */
private boolean refreshItem(final BreadcrumbItem item) {
    boolean layoutChanged = false;

    final TreePath path = getTreePathFromItem(item);

    final ViewerLabel label = new ViewerLabel(item.getText(), item.getImage());
    ((ITreePathLabelProvider) getLabelProvider()).updateLabel(label, path);

    if (label.hasNewText()) {
        item.setText(label.getText());
        layoutChanged = true;
    }
    if (label.hasNewImage()) {
        item.setImage(label.getImage());
        layoutChanged = true;
    }
    if (label.hasNewTooltipText()) {
        item.setToolTip(label.getTooltipText());
    }
    return layoutChanged;
}

From source file:org.eclipse.cdt.internal.ui.util.ResourceToItemsMapper.java

License:Open Source License

private void updateItem(Item item) {
    if (!item.isDisposed()) { // defensive code
        ILabelProvider lprovider = (ILabelProvider) fContentViewer.getLabelProvider();

        Object data = item.getData();

        // If it is an IItemLabelProvider than short circuit: patch Tod (bug 55012)
        if (data != null && lprovider instanceof IViewerLabelProvider) {
            IViewerLabelProvider provider = (IViewerLabelProvider) lprovider;

            ViewerLabel updateLabel = new ViewerLabel(item.getText(), item.getImage());
            provider.updateLabel(updateLabel, data);

            if (updateLabel.hasNewImage()) {
                item.setImage(updateLabel.getImage());
            }/*from   w  w  w  .  j  a  v a  2  s . co m*/
            if (updateLabel.hasNewText()) {
                item.setText(updateLabel.getText());
            }
        } else {
            Image oldImage = item.getImage();
            Image image = lprovider.getImage(data);
            if (image != null && !image.equals(oldImage)) {
                item.setImage(image);
            }
            String oldText = item.getText();
            String text = lprovider.getText(data);
            if (text != null && !text.equals(oldText)) {
                item.setText(text);
            }
        }
    }
}

From source file:org.eclipse.debug.internal.ui.viewers.breadcrumb.BreadcrumbViewer.java

License:Open Source License

/** 
 * @param item Item to refresh./*from   ww  w.  ja va  2 s . com*/
 * @return returns whether the item's size and layout needs to be updated.
 */
private boolean refreshItem(BreadcrumbItem item) {
    boolean layoutChanged = false;

    TreePath path = getTreePathFromItem(item);

    ViewerLabel label = new ViewerLabel(item.getText(), item.getImage());
    ((ITreePathLabelProvider) getLabelProvider()).updateLabel(label, path);

    if (label.hasNewText()) {
        item.setText(label.getText());
        layoutChanged = true;
    }
    if (label.hasNewImage()) {
        item.setImage(label.getImage());
        layoutChanged = true;
    }
    if (label.hasNewTooltipText()) {
        item.setToolTip(label.getTooltipText());
    }
    return layoutChanged;
}

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

License:Open Source License

/**
 * {@inheritDoc}//from w  w  w.ja  v a 2s .  c o  m
 */
public void updateLabel(ViewerLabel settings, Object element) {
    ILabelDecorator currentDecorator = getLabelDecorator();
    String oldText = settings.getText();
    boolean decorationReady = true;
    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;
        }
    }
    // update icon and label

    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.jubula.client.ui.provider.DecoratingCellLabelProvider.java

License:Open Source License

/**
 * {@inheritDoc}//w  w  w.ja v  a 2  s  .  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.jubula.client.ui.provider.DecoratingCellLabelProvider.java

License:Open Source License

/**
 * Decorate the settings// w w w.  jav  a  2s. c  om
 * 
 * @param settings
 *            the settings obtained from the label provider
 * @param elementPath
 *            the element path being decorated
 */
private void decorateSettings(ViewerLabel settings, TreePath elementPath) {
    Object element = elementPath.getLastSegment();
    if (m_decorator != null) {
        if (m_decorator instanceof LabelDecorator) {
            LabelDecorator labelDecorator = (LabelDecorator) m_decorator;
            String text = labelDecorator.decorateText(settings.getText(), element, getDecorationContext());
            if (text != null && text.length() > 0) {
                settings.setText(text);
            }
            Image image = labelDecorator.decorateImage(settings.getImage(), element, getDecorationContext());
            if (image != null) {
                settings.setImage(image);
            }

        } else {
            String text = m_decorator.decorateText(settings.getText(), element);
            if (text != null && text.length() > 0) {
                settings.setText(text);
            }
            Image image = m_decorator.decorateImage(settings.getImage(), element);
            if (image != null) {
                settings.setImage(image);
            }
        }
        if (m_decorator instanceof IColorDecorator) {
            IColorDecorator colorDecorator = (IColorDecorator) m_decorator;
            Color background = colorDecorator.decorateBackground(element);
            if (background != null) {
                settings.setBackground(background);
            }
            Color foreground = colorDecorator.decorateForeground(element);
            if (foreground != null) {
                settings.setForeground(foreground);
            }
        }

        if (m_decorator instanceof IFontDecorator) {
            Font font = ((IFontDecorator) m_decorator).decorateFont(element);
            if (font != null) {
                settings.setFont(font);
            }
        }
    }
}

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

License:Open Source License

/**
 * {@inheritDoc}//from   w  w w. j  av  a 2  s  . c  om
 */
public void update(ViewerCell cell) {

    ViewerLabel label = new ViewerLabel(cell.getText(), cell.getImage());

    // Set up the initial settings from the label provider
    label.setBackground(getBackground(cell.getElement()));
    label.setForeground(getForeground(cell.getElement()));
    label.setFont(getFont(cell.getElement()));

    updateLabel(label, cell.getElement());

    cell.setBackground(label.getBackground());
    cell.setForeground(label.getForeground());
    cell.setFont(label.getFont());

    if (label.hasNewText()) {
        cell.setText(label.getText());
    }

    if (label.hasNewImage()) {
        cell.setImage(label.getImage());
    }
}

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  w ww. j  a  v  a 2  s .  c om*/
        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);
    }
}