Example usage for org.eclipse.jface.viewers ViewerCell getStyleRanges

List of usage examples for org.eclipse.jface.viewers ViewerCell getStyleRanges

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerCell getStyleRanges.

Prototype

public StyleRange[] getStyleRanges() 

Source Link

Document

Returns the style ranges to be applied on the text label or null if no style ranges have been set.

Usage

From source file:com.google.gapid.widgets.MeasuringViewLabelProvider.java

License:Apache License

@Override
public void update(ViewerCell cell) {
    // Adjusted from the DelegatingStyledCellLabelProvider implementation.

    StyledString styledString = format(cell.getItem(), cell.getElement(), LinkableStyledString.ignoring(theme))
            .getString();//w  ww . ja  v  a 2  s .  c  o m
    String newText = styledString.toString();

    StyleRange[] oldStyleRanges = cell.getStyleRanges();
    StyleRange[] newStyleRanges = styledString.getStyleRanges();

    if (!Arrays.equals(oldStyleRanges, newStyleRanges)) {
        cell.setStyleRanges(newStyleRanges);
        if (cell.getText().equals(newText)) {
            cell.setText("");
        }
    }
    Color bgcolor = getBackgroundColor(cell.getElement());
    if (bgcolor != null) {
        cell.setBackground(bgcolor);
    }
    cell.setImage(getImage(cell.getElement()));
    cell.setText(newText);
}

From source file:com.google.gapid.widgets.MeasuringViewLabelProvider.java

License:Apache License

private void updateLayout(ViewerCell cell, StyledString string) {
    // Adjusted from similar method from super class.
    layout.setStyle(null, 0, Integer.MAX_VALUE);
    layout.setText(string.toString());/*  w  w w. j av  a  2s .  c  o m*/

    for (StyleRange range : cell.getStyleRanges()) {
        layout.setStyle(range, range.start, range.start + range.length - 1);
    }
}

From source file:com.hydra.project.myplugin_nebula.xviewer.XViewerStyledTextLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();

    StyledString styledString = getStyledText(element, cell.getColumnIndex());
    String newText = styledString.toString();

    StyleRange[] oldStyleRanges = cell.getStyleRanges();
    StyleRange[] newStyleRanges = isOwnerDrawEnabled() ? styledString.getStyleRanges() : null;

    if (!Arrays.equals(oldStyleRanges, newStyleRanges)) {
        cell.setStyleRanges(newStyleRanges);
        //         if (cell.getText().equals(newText)) {
        //            // make sure there will be a refresh from a change
        //            cell.setText(""); //$NON-NLS-1$
        //         }
    }/*from w w  w. j  av a 2 s.  c  o m*/

    cell.setText(newText);
    cell.setImage(getColumnImage(element, cell.getColumnIndex()));
    cell.setFont(getFont(element, cell.getColumnIndex()));
    cell.setForeground(getForeground(element, cell.getColumnIndex()));
    cell.setBackground(getBackground(element, cell.getColumnIndex()));

    // no super call required. changes on item will trigger the refresh.
}

From source file:es.uah.aut.srg.micobs.util.impl.MICOBSAdapterFactoryLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    Object element = cell.getElement();

    StyledString styledString = getStyledText(element);
    String newText = styledString.toString();

    StyleRange[] oldStyleRanges = cell.getStyleRanges();
    StyleRange[] newStyleRanges = isOwnerDrawEnabled() ? styledString.getStyleRanges() : null;

    if (!Arrays.equals(oldStyleRanges, newStyleRanges)) {
        cell.setStyleRanges(newStyleRanges);
        if (cell.getText().equals(newText)) {
            // make sure there will be a refresh from a change
            cell.setText(""); //$NON-NLS-1$
        }//  www . j  av a 2  s  .  co m
    }

    cell.setText(newText);
    cell.setImage(getImage(element));
    cell.setFont(getFont(element));
    cell.setForeground(getForeground(element));
    cell.setBackground(getBackground(element));

    // no super call required. changes on item will trigger the refresh.
}