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

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

Introduction

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

Prototype

public void setStyleRanges(StyleRange[] styleRanges) 

Source Link

Document

Set the style ranges to be applied on the text label Note: Requires StyledCellLabelProvider with owner draw enabled.

Usage

From source file:com.blackducksoftware.integration.eclipseplugin.views.providers.DependencyNumVulnColumnLabelProvider.java

License:Apache License

@Override
public void styleCell(ViewerCell cell) {
    if (cell.getText().equals(VALUE_UNKNOWN)) {
        cell.setText("");
        return;//from w w w  .j  a v  a  2  s. c  o  m
    }
    String[] vulnChunks = cell.getText().split(":");
    cell.setFont(JFaceResources.getTextFont());
    Display display = Display.getCurrent();
    final String noVulns = " 0 ";
    final Color textColor = display.getSystemColor(SWT.COLOR_WHITE);
    final Color highColor = decodeHex(display, "#b52b24");
    final Color mediumColor = decodeHex(display, "#eca4a0");
    final Color lowColor = decodeHex(display, "#999999");
    final Color invisible = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
    final Color[] vulnColors = new Color[] { highColor, mediumColor, lowColor };
    StyleRange[] styleRanges = new StyleRange[vulnChunks.length];
    int lastLabelEnd = 0;
    cell.setText(String.format("%1$-5s %2$-5s %3$-5s", StringUtils.center(vulnChunks[0], 5),
            StringUtils.center(vulnChunks[1], 5), StringUtils.center(vulnChunks[2], 5)));
    for (int i = 0; i < vulnChunks.length; i++) {
        int labelStart = cell.getText().indexOf(vulnChunks[i], lastLabelEnd);
        int labelSize = vulnChunks[i].length();
        if (vulnChunks[i].equals(noVulns)) {
            styleRanges[i] = new StyleRange(labelStart, labelSize, invisible, invisible);
        } else {
            styleRanges[i] = new StyleRange(labelStart, labelSize, textColor, vulnColors[i]);
        }
        lastLabelEnd = labelStart + labelSize;
    }
    cell.setStyleRanges(styleRanges);
}

From source file:com.contrastsecurity.ide.eclipse.ui.internal.model.VulnerabilityLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    if (element instanceof Trace) {
        int index = cell.getColumnIndex();
        switch (index) {
        case 0:/*w  ww. j a  va 2s.c  o m*/
        case 3:
            Image image = getImage(element, index);
            cell.setImage(image);
            break;
        case 1:
            String title = getText(element, index);
            if (title.startsWith(UNLICENSED_PREFIX)) {
                StyledString text = new StyledString();
                StyleRange range = new StyleRange(0, UNLICENSED_PREFIX.length(), Constants.UNLICENSED_COLOR,
                        null);
                text.append(title, StyledString.DECORATIONS_STYLER);
                StyleRange[] ranges = { range };
                cell.setStyleRanges(ranges);
            }
            cell.setText(title);
            break;
        case 2:
            String appName = ((Trace) element).getApplication().getName();
            cell.setText(appName);
            break;
        default:
            break;
        }
        if (index == 0) {

        }
    }
    super.update(cell);
}

From source file:com.dubture.symfony.ui.views.ServiceLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {

    Object element = cell.getElement();

    Styler style = null;//from  w w  w. ja va2 s . c o m

    if (element instanceof IProject) {

        IProject project = (IProject) element;
        StyledString styledString = new StyledString(project.getName(), style);
        cell.setText(styledString.toString());
        cell.setImage(PHPPluginImages.get(PHPPluginImages.IMG_OBJS_PHP_PROJECT));

    } else if (element instanceof Service) {

        Service service = (Service) element;
        String name = service.getClassName() != null ? service.getClassName() : service.getId();
        StyledString styledString = new StyledString(name, style);

        String decoration = MessageFormat.format(" [{0}]", new Object[] { service.getId() }); //$NON-NLS-1$
        styledString.append(decoration, StyledString.DECORATIONS_STYLER);

        cell.setText(styledString.toString());
        cell.setStyleRanges(styledString.getStyleRanges());

        if (service.isPublic()) {
            cell.setImage(SymfonyPluginImages.get(SymfonyPluginImages.IMG_OBJS_SERVICE_PUBLIC));
        } else {
            cell.setImage(SymfonyPluginImages.get(SymfonyPluginImages.IMG_OBJS_SERVICE_PRIVATE));
        }

    } else if (element instanceof Bundle) {

        Bundle bundle = (Bundle) element;

        StyledString styledString = new StyledString(bundle.getElementName(), style);
        cell.setText(styledString.toString());
        cell.setImage(SymfonyPluginImages.get(SymfonyPluginImages.IMG_OBJS_BUNDLE2));

    }
}

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();/*from   ww w.  j  a va 2s.  c om*/
    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.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 ww  . j av a 2s .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:com.kdmanalytics.toif.report.internal.providers.ReportLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    Object element = cell.getElement();
    final StyledString styledString = new StyledString(getColumnText(element, cell.getColumnIndex()));

    if (element instanceof IFindingEntry) {
        final IFindingEntry entry = (IFindingEntry) element;

        if (Citing.UNKNOWN == entry.isOk()) {
            cell.setForeground(colorReg.get(FOREGROUND_BLACK));
            cell.setBackground(colorReg.get(BLUE));
        } else {/*from ww  w  . j  a  va 2  s  . c o m*/

            cell.setForeground(Citing.TRUE == entry.isOk() ? colorReg.get(FOREGROUND_GREEN)
                    : colorReg.get(FOREGROUND_RED));
            cell.setBackground(Citing.TRUE == entry.isOk() ? colorReg.get(GREEN) : colorReg.get(RED));
        }
    } else if (element instanceof IFileGroup) {
        cell.setFont(getFont(element));
    }
    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(cell.getColumnIndex() > 0 ? null : getImage(element));
}

From source file:com.kdmanalytics.toif.report.internal.providers.ReportStyledCellLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final IToifReportEntry entry = (IToifReportEntry) cell.getElement();
    final StyledString styledString = new StyledString(getColumnText(entry, cell.getColumnIndex()));
    final IFindingEntry findingEntry = entry.getFindingEntry();

    if (Citing.UNKNOWN == findingEntry.isOk()) {
        cell.setForeground(FOREGROUND_BLACK);
        cell.setBackground(WHITE);//from   www .j a  v a2s. c  om
    } else {

        cell.setForeground(Citing.TRUE == findingEntry.isOk() ? FOREGROUND_RED : FOREGROUND_GREEN);
        cell.setBackground(Citing.TRUE == findingEntry.isOk() ? RED : GREEN);
    }
    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(getImage(entry, cell.getColumnIndex()));
}

From source file:com.kdmanalytics.toif.ui.views.DefectDescStyledLabelProvider.java

License:Open Source License

public void update(final ViewerCell cell) {
    final DefectNode entry = (DefectNode) cell.getElement();
    int index = cell.getColumnIndex();
    final StyledString styledString = new StyledString(getColumnText(entry, index));

    String desc = entry.getDescription();
    if (desc.startsWith("http://") || desc.startsWith("https://")) {
        cell.setForeground(FOREGROUND_BLUE);
    }//from w  ww  .  jav  a2s . c o m

    String text = styledString.toString();

    // This removed code is used to split the string into a number of separate
    // lines suitable for wrapping.
    //
    //
    // // How many characters will we allow per line?
    // Tree tree = (Tree)cell.getControl();
    //
    // // Use the client area minus the first column to see how much room we have
    // // for text.
    // Rectangle area = viewer.getTree().getClientArea();
    // TreeColumn column = tree.getColumn(0);
    // int width = area.width - column.getWidth();
    // if (width < 50) width = 50;
    // width -= 10;
    // GC gc = new GC(tree);
    // FontMetrics fm = gc.getFontMetrics();
    // int charWidth = fm.getAverageCharWidth();
    // int charCount = width / charWidth;
    // if (charCount < 10) charCount = 10;
    //
    // List<String> lines = new LinkedList<String>();
    //
    // while (text.length() > 0) {
    // // Break at space
    // int lastSpace = text.lastIndexOf(' ', charCount);
    // if (lastSpace > 10) {
    // lines.add(text.substring(0, lastSpace));
    // text = text.substring(lastSpace + 1);
    // continue;
    // }
    //
    // // Break at next space
    // int nextSpace = text.indexOf(' ', charCount);
    // if (nextSpace > 10) {
    // lines.add(text.substring(0, nextSpace));
    // text = text.substring(nextSpace + 1);
    // continue;
    // }
    //
    // // Just use whole string
    // lines.add(text);
    // text = "";
    // }
    //
    // // Add in \n characters
    // StringBuilder sb = new StringBuilder();
    // for (int i = 0; i < lines.size(); i++) {
    // if (i > 0) sb.append("\n");
    // sb.append(lines.get(i));
    // }
    //
    // cell.setText(sb.toString());
    cell.setText(text);
    cell.setStyleRanges(styledString.getStyleRanges());
}

From source file:com.kdmanalytics.toif.ui.views.FindingStyledLabelProvider.java

License:Open Source License

public void update(final ViewerCell cell) {
    final IFindingEntry entry = (IFindingEntry) cell.getElement();
    int index = cell.getColumnIndex();
    String text = getColumnText(entry, index);
    if (text == null) {
        text = "";
    }/*ww w.  j a v  a 2 s . c o m*/
    final StyledString styledString = new StyledString(text);

    Boolean citing = entry.getCiting();
    if (citing != null) {
        if (citing) {
            cell.setForeground(FOREGROUND_RED);
            cell.setBackground(RED);
        } else {
            cell.setForeground(FOREGROUND_GREEN);
            cell.setBackground(GREEN);
        }
    } else {
        cell.setForeground(FOREGROUND_BLACK);
        cell.setBackground(WHITE);
    }

    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(getImage(entry, cell.getColumnIndex()));
}

From source file:com.kopson.cite.views.SmartLogConsole.java

License:Open Source License

/**
 *  This will create the columns for the table
 *  //w ww.j a  v  a2  s  .c  o m
 * @param parent
 */
private void createColumns(final Composite parent) {
    headerMenu = new Menu(parent.getShell(), SWT.POP_UP);

    String[] titles = { CITE.SMARTLOG_COLUMN_ID, CITE.SMARTLOG_COLUMN_TYPE, CITE.SMARTLOG_COLUMN_TAG,
            CITE.SMARTLOG_COLUMN_MESSAGE, CITE.SMARTLOG_COLUMN_OBJECT, CITE.SMARTLOG_COLUMN_ASSERT };

    int[] bounds = { 100, 100, 100, 100, 100, 100 };

    TableViewerColumn idColumn = createTableViewerColumn(titles[0], bounds[0], 0);
    idColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText("" + ((SmartLogEntry) cell.getElement()).getId());
        }

        @Override
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 100;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

    });

    TableViewerColumn typeColumn = createTableViewerColumn(titles[1], bounds[1], 1);
    typeColumn.setLabelProvider(new StyledCellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            String search = searchText.getText();
            SmartLogEntry logRow = (SmartLogEntry) cell.getElement();
            String cellText = logRow.getType();
            cell.setText(cellText);
            if (search != null && search.length() > 0) {
                int intRangesCorrectSize[] = SearchUtil.getSearchTermOccurrences(search, cellText);
                List<StyleRange> styleRange = new ArrayList<StyleRange>();
                for (int i = 0; i < intRangesCorrectSize.length / 2; i++) {
                    int start = intRangesCorrectSize[i];
                    int length = intRangesCorrectSize[++i];
                    StyleRange myStyledRange = new StyleRange(start, length, null, colorYellow);

                    styleRange.add(myStyledRange);
                }
                cell.setStyleRanges(styleRange.toArray(new StyleRange[styleRange.size()]));
            } else {
                cell.setStyleRanges(null);
            }

            super.update(cell);

        }
    });

    typeColumn.setEditingSupport(new TypeEditingSupport(viewer));

    TableViewerColumn tagColumn = createTableViewerColumn(titles[2], bounds[2], 2);
    tagColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((SmartLogEntry) cell.getElement()).getTag());
        }

        @Override
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 100;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

    });
    tagColumn.setEditingSupport(new TagEditingSupport(viewer));

    TableViewerColumn messageColumn = createTableViewerColumn(titles[3], bounds[3], 3);
    messageColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SmartLogEntry) element).getMessage();
        }
    });

    messageColumn.setEditingSupport(new MessageEditingSupport(viewer));

    TableViewerColumn objectColumn = createTableViewerColumn(titles[4], bounds[4], 4);
    objectColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SmartLogEntry) element).getObject();
        }

        //TODO: set meaningful images
        @Override
        public Image getImage(Object element) {
            if (((SmartLogEntry) element).getObject() != null) {
                return CHECKED;
            }
            return UNCHECKED;
        }
    });

    TableViewerColumn assertColumn = createTableViewerColumn(titles[5], bounds[5], 5);
    assertColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SmartLogEntry) element).getAssertion();
        }
    });
    assertColumn.setEditingSupport(new AssertionEditingSupport(viewer));
}