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:org.springframework.ide.eclipse.boot.dash.views.BootDashCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object e = cell.getElement();
    Image[] imgs = bdeLabels.getImageAnimation(e, forColum);
    StyledString label = bdeLabels.getStyledText(e, forColum);
    cell.setText(label.getString());//from  w  ww .j av  a  2  s  . c  om
    cell.setStyleRanges(label.getStyleRanges());
    animate(cell, imgs);
}

From source file:org.springframework.ide.eclipse.boot.dash.views.RequestMappingLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object o = cell.getElement();
    if (o instanceof String) {
        if (column == RequestMappingsColumn.SRC) {
            cell.setText((String) o);
            cell.setStyleRanges(null);
        } else {/*w ww.j a  v a2  s  .c o  m*/
            cell.setText("");
        }
    } else if (o instanceof RequestMapping) {
        StyledString styledText = getStyledText((RequestMapping) o);
        if (styledText != null) {
            cell.setText(styledText.getString());
            cell.setStyleRanges(styledText.getStyleRanges());
        } else {
            cell.setText("" + cell.getElement());
            cell.setStyleRanges(null);
        }
    } else {
        cell.setText("");
        cell.setStyleRanges(null);
    }
}

From source file:org.springsource.ide.eclipse.commons.livexp.ui.util.SwtConnect.java

License:Open Source License

/**
 * Decorate a basic LabelProvider so that it bolds matched elements based on a text-based filter applied to its labels.
 *///from   w ww.  j  a  v  a  2  s  .c o m
public static StyledCellLabelProvider boldMatchedElements(Stylers stylers, ILabelProvider baseLabels,
        Filter<String> filter) {
    return new StyledCellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();

            //image
            cell.setImage(baseLabels.getImage(element));

            //styled label
            String label = baseLabels.getText(element);
            StyledString styledLabel = new StyledString(label);
            if (filter.accept(label)) {
                Styler bold = stylers.bold();
                for (IRegion r : filter.getHighlights(label)) {
                    styledLabel.setStyle(r.getOffset(), r.getLength(), bold);
                }
            }
            cell.setStyleRanges(styledLabel.getStyleRanges());
            cell.setText(styledLabel.getString());
            cell.getControl().redraw();
            //^^^ Sigh... Yes, this is needed. It seems SWT/Jface isn't smart enough to itself figure out that if 
            //the styleranges change a redraw is needed to make the change visible.
        }

    };
}

From source file:org.talend.camel.designer.ui.editor.dependencies.controls.SearchCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    final String text = getText(element);
    cell.setText(text);//from   ww w.  ja v a 2s  .com
    cell.setImage(getImage(element));
    cell.setFont(getFont(element));
    if (filterString != null && !filterString.isEmpty()) {
        int filterIndex = text.indexOf(filterString);
        StyleRange styleRange = new StyleRange(filterIndex, filterString.length(), null, hightLight);
        cell.setStyleRanges(new StyleRange[] { styleRange });
    } else {
        cell.setStyleRanges(null);
    }
}

From source file:org.wso2.developerstudio.appfactory.ui.views.AppListLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    StyledString text = new StyledString();
    if (element instanceof ApplicationInfo) {
        ApplicationInfo app = (ApplicationInfo) element;
        text.append(app.getName());/*from ww  w  . jav  a  2  s.  c o  m*/
        ImageDescriptor imageDescriptorFromPlugin = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID,
                "/icons/submodules.gif");
        cell.setImage(imageDescriptorFromPlugin.createImage());

        if (app.getLableState() == 1) {
            text.append(" (Loading)", StyledString.DECORATIONS_STYLER);
        } else if (app.getLableState() == 2) {
            text.append(" (Opened)", StyledString.COUNTER_STYLER);
        } else {
            text.append("", StyledString.DECORATIONS_STYLER);
        }
    } else if (element instanceof AppVersionGroup) {
        AppVersionGroup group = (AppVersionGroup) element;
        ImageDescriptor imageDescriptorFromPlugin = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID,
                "/icons/branch_obj.gif");
        cell.setImage(imageDescriptorFromPlugin.createImage());

        text.append("" + group.getVersionGroupName(), StyledString.DECORATIONS_STYLER);

    } else {
        AppVersionInfo version = (AppVersionInfo) element;

        if (version.isCheckedout()) {

            if (version.isForkedVersion()) {
                text.append("forked -Checked out", StyledString.COUNTER_STYLER);
            } else {
                text.append("main -Checked out", StyledString.COUNTER_STYLER);
            }

        } else {

            if (version.isForkedVersion()) {
                text.append("forked", StyledString.DECORATIONS_STYLER);
            } else {
                text.append("main", StyledString.DECORATIONS_STYLER);
            }

        }

        ImageDescriptor imageDescriptorFromPlugin = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID,
                "/icons/branch_obj.gif");
        cell.setImage(imageDescriptorFromPlugin.createImage());
    }
    cell.setText(text.toString());
    cell.setStyleRanges(text.getStyleRanges());
    super.update(cell);
}

From source file:org.wso2.developerstudio.eclipse.registry.apim.views.RegistryBrowserAPIMViewLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    StyledString text = new StyledString();
    StyleRange styleRange = null;//from   w  w  w  . j a va2s.  com
    if (element instanceof RegistryNode) {
        RegistryNode node = (RegistryNode) element;
        ImageDescriptor imageDescriptorDeleteResource = ImageUtils.getImageDescriptor(ImageUtils.ICON_REGISTRY);
        cell.setImage(imageDescriptorDeleteResource.createImage());
        text.append(node.getCaption());

    } else if (element instanceof RegistryResourceNode) {
        RegistryResourceNode node = (RegistryResourceNode) element;

        if (node.getResourceType() == RegistryResourceType.RESOURCE) {
            ImageDescriptor imageDesSeq = ImageUtils.getImageDescriptor(ImageUtils.STATE_NORMAL);
            Styler seqStyle = StyledString.DECORATIONS_STYLER;

            if (node.isIsdeleted()) {
                imageDesSeq = ImageUtils.getImageDescriptor(ImageUtils.STATE_DELETED);
                styleRange = new StyleRange();
                styleRange.start = 0;
                styleRange.length = node.getCaption().length();
                styleRange.strikeout = true;
                Display cdisplay = Display.getCurrent();
                styleRange.strikeoutColor = cdisplay.getSystemColor(SWT.COLOR_RED);
            }
            if (node.isIsnew()) {
                seqStyle = StyledString.COUNTER_STYLER;
                imageDesSeq = ImageUtils.getImageDescriptor(ImageUtils.STATE_NEW);
            } else {
                if (node.isIsmodifiyed()) {
                    seqStyle = StyledString.QUALIFIER_STYLER;
                    imageDesSeq = ImageUtils.getImageDescriptor(ImageUtils.STATE_MODIFIED);

                }
                if (node.isRename()) {
                    seqStyle = StyledString.QUALIFIER_STYLER;
                    imageDesSeq = ImageUtils.getImageDescriptor(ImageUtils.STATE_MODIFIED);

                }
            }
            cell.setImage(imageDesSeq.createImage());
            text.append(node.getCaption(), seqStyle);

        } else if (node.getResourceType() == RegistryResourceType.COLLECTION) {
            ImageDescriptor imageDescriptorDeleteResource = ImageUtils
                    .getImageDescriptor(ImageUtils.ACTION_ADD_FOLDER);
            cell.setImage(imageDescriptorDeleteResource.createImage());
            text.append(node.getCaption());
        }
    } else if (element instanceof RegistryContentContainer) {
        RegistryContentContainer node = (RegistryContentContainer) element;
        ImageDescriptor imageDescriptorDeleteResource = ImageUtils
                .getImageDescriptor(ImageUtils.ACTION_ADD_FOLDER);
        cell.setImage(imageDescriptorDeleteResource.createImage());
        text.append(node.getCaption());
    }
    cell.setText(text.toString());
    if (styleRange != null) {
        StyleRange[] styleArray = new StyleRange[1];
        styleArray[0] = styleRange;
        cell.setStyleRanges(styleArray);
    } else {
        cell.setStyleRanges(text.getStyleRanges());
    }

    super.update(cell);
}

From source file:org.yakindu.sct.simulation.ui.view.ExecutionContextLabelProvider.java

License:Open Source License

private void updateNameCell(ViewerCell cell) {
    Object element = cell.getElement();
    if (element instanceof ExecutionEvent) {
        ExecutionEvent event = (ExecutionEvent) element;
        cell.setText(event.getName());/*  w  ww.j a v  a2 s.c om*/
        StyleRange style1 = new StyleRange();
        style1.start = 0;
        style1.length = event.getName().length();
        style1.underline = true;
        style1.foreground = ColorConstants.lightBlue;
        cell.setText(event.getName());
        cell.setStyleRanges(new StyleRange[] { style1 });
        if (event.getName().contains("time_event")) {
            cell.setImage(SimulationImages.TIMEEVENT.image());
        } else {
            if (event.isScheduled()) {
                cell.setImage(SimulationImages.EVENT_ENABLED.image());
            } else {
                cell.setImage(SimulationImages.EVENT_DISABLED.image());
            }
        }
    } else if (element instanceof ExecutionVariable) {
        ExecutionVariable variable = (ExecutionVariable) element;
        cell.setText(variable.getName());
        if (((ExecutionVariable) element).isWritable())
            cell.setImage(SimulationImages.VARIABLE.image());
        else
            cell.setImage(SimulationImages.VARIABLE_LOCK.image());
    } else if (element instanceof CompositeSlot) {
        cell.setText(((CompositeSlot) element).getName());
        cell.setImage(SimulationImages.SCOPE.image());
    }
}

From source file:phasereditor.ui.PhaserEditorUI.java

License:Open Source License

public static StyledCellLabelProvider createSearchLabelProvider(Supplier<String> getStr,
        Function<Object, String> toStr) {
    return new StyledCellLabelProvider() {
        @Override//from  w  w w  . ja  va2s . c  o  m
        public void update(ViewerCell cell) {
            String search = getStr.get();
            String cellText = toStr.apply(cell.getElement());
            cell.setText(cellText);
            if (search != null && search.length() > 0) {
                int intRangesCorrectSize[] = getSearchTermOccurrences(search, cellText);
                List<StyleRange> styleRange = new ArrayList<>();
                for (int i = 0; i < intRangesCorrectSize.length / 2; i++) {
                    int start = intRangesCorrectSize[i];
                    int length = intRangesCorrectSize[++i];
                    StyleRange myStyledRange = new StyleRange(start, length, null, null);
                    myStyledRange.font = SWTResourceManager.getBoldFont(cell.getFont());
                    styleRange.add(myStyledRange);
                }
                cell.setStyleRanges(styleRange.toArray(new StyleRange[styleRange.size()]));
            } else {
                cell.setStyleRanges(null);
            }

            super.update(cell);

        }
    };
}

From source file:pl.poznan.put.cs.gui4pddl.planview.ui.PlanView.java

License:Open Source License

private void createColumns(TableColumnLayout layout, final Composite parent, final TableViewer viewer) {

    TableViewerColumn col = createTableViewerColumn(layout, columnTitles[0], 0);

    col.setLabelProvider(new ColumnLabelProvider() {
        @Override/*from www.  jav a 2 s .  com*/
        public String getText(Object element) {
            PlanViewDataRow p = (PlanViewDataRow) element;
            return p.getProjectName();
        }
    });

    col = createTableViewerColumn(layout, columnTitles[1], 1);

    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            PlanViewDataRow p = (PlanViewDataRow) element;
            return p.getDomain();
        }
    });

    col = createTableViewerColumn(layout, columnTitles[2], 2);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {

            PlanViewDataRow p = (PlanViewDataRow) element;
            return p.getProblem();
        }
    });

    col = createTableViewerColumn(layout, columnTitles[3], 3);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {

            PlanViewDataRow p = (PlanViewDataRow) element;
            return p.getId();
        }
    });

    col = createTableViewerColumn(layout, columnTitles[4], 4);
    col.setLabelProvider(new StyledCellLabelProvider() {

        public int getToolTipDisplayDelayTime(Object object) {
            return 700;
        }

        public String getToolTipText(Object element) {
            PlanViewDataRow row = (PlanViewDataRow) element;
            List<String> files = row.getPlanFileNames();
            IFolder workingDir = row.getWorkingFolder();
            StringBuilder sb = new StringBuilder();
            if (files != null) {
                for (String file : files) {
                    if (!workingDir.getFile(file).exists()) {
                        sb.append(file + ", ");
                    }
                }
            }
            if (sb.length() >= 2) {
                sb.delete(sb.length() - 2, sb.length());
            }

            return sb.length() > 0 ? "Files " + sb.toString() + " don't exists"
                    : "Double click the row to open files";
        }

        public void update(ViewerCell cell) {
            PlanViewDataRow row = (PlanViewDataRow) cell.getElement();
            StringBuilder sb = new StringBuilder();
            List<String> files = row.getPlanFileNames();
            IFolder workingDir = row.getWorkingFolder();
            List<StyleRange> styles = new ArrayList<StyleRange>();
            if (files != null) {
                if (files.size() > 1) {
                    for (int i = 0; i < files.size() - 1; i++) {
                        if (!workingDir.getFile(files.get(i)).exists()) {
                            int begin = sb.length();
                            sb.append(files.get(i) + ", ");
                            int end = sb.length() - 2;
                            StyleRange range = new StyleRange(begin, end - begin,
                                    Display.getCurrent().getSystemColor(SWT.COLOR_RED), null);
                            styles.add(range);
                        } else {
                            sb.append(files.get(i) + ", ");
                        }
                    }
                }
                if (files.size() > 0) {
                    if (!workingDir.getFile(files.get(files.size() - 1)).exists()) {
                        int begin = sb.length();
                        sb.append(files.get(files.size() - 1));
                        int end = sb.length();
                        StyleRange range = new StyleRange(begin, end - begin,
                                Display.getCurrent().getSystemColor(SWT.COLOR_RED), null);
                        styles.add(range);
                    } else {
                        sb.append(files.get(files.size() - 1));
                    }
                }
            }
            cell.setText(sb.toString());
            if (files == null || files.size() == 0) {
                String text = "No plan files";
                cell.setText(text);
                StyleRange range = new StyleRange(0, text.length(), null,
                        Display.getCurrent().getSystemColor(SWT.COLOR_RED));
                styles.add(range);
            }
            StyleRange[] range = styles.toArray(new StyleRange[0]);
            cell.setStyleRanges(range);
            super.update(cell);
        }

    });

    col = createTableViewerColumn(layout, columnTitles[5], 5);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            PlanViewDataRow p = (PlanViewDataRow) element;
            return p.getPlannerName();
        }

    });

    col = createTableViewerColumn(layout, columnTitles[6], 6);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            PlanViewDataRow p = (PlanViewDataRow) element;
            return p.getPlannerArguments();
        }

    });
}

From source file:sernet.verinice.rcp.search.tables.SearchTableColumnLabelProvider.java

License:Open Source License

private void markMatches(ViewerCell cell) {

    VeriniceSearchResultRow row = (VeriniceSearchResultRow) cell.getElement();
    Occurence occurences = row.getOccurence();
    VeriniceQuery query = row.getParent().getParent().getVeriniceQuery();
    List<StyleRange> styleRanges = new ArrayList<StyleRange>(0);

    if (query.isQueryEmpty()) {
        return;//  w w  w  . ja  v  a2 s.c o m
    }

    if (column instanceof PropertyTypeColumn) {
        for (String fragment : occurences.getMatches(column.getId())) {
            createStyleRanges(cell, fragment, styleRanges);
        }
    }

    if (column instanceof TitleColumn) {
        createStyleRanges(cell, query.getQuery(), styleRanges);
    }

    cell.setStyleRanges(styleRanges.toArray(new StyleRange[styleRanges.size()]));
}