Example usage for org.eclipse.jface.viewers StyledString setStyle

List of usage examples for org.eclipse.jface.viewers StyledString setStyle

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers StyledString setStyle.

Prototype

public void setStyle(int offset, int length, Styler styler) throws StringIndexOutOfBoundsException 

Source Link

Document

Sets a styler to use for the given source range.

Usage

From source file:at.bestsolution.efxclipse.tooling.css.ui.contentassist.CssDslRealtimeProposalProvider.java

License:Open Source License

public void complete_css_property(ruleset model, RuleCall ruleCall, ContentAssistContext context,
        ICompletionProposalAcceptor acceptor) {
    URI uri = model.eResource().getURI();

    List<CssProperty> properties = extension.getAllProperties(uri);
    if (properties != null) {

        Map<Integer, String> alternateSource = new HashMap<Integer, String>();
        Map<Integer, CssProperty> filterMap = new HashMap<Integer, CssProperty>();

        for (CssProperty property : properties) {
            CssProperty old = filterMap.put(property.eqHash, property);
            if (old != null) {
                String x = alternateSource.get(property.eqHash);
                if (x != null) {
                    alternateSource.put(property.eqHash, x + ", " + property.parent.fQName);
                } else {
                    alternateSource.put(property.eqHash, old.parent.fQName + ", " + property.parent.fQName);
                }//from w ww .  ja va  2s  .c  o  m
            }
        }

        for (CssProperty property : filterMap.values()) {

            StyledString displayString = new StyledString();
            String name = property.name + " ";
            String nfo = "";
            String alternate = alternateSource.get(property.eqHash);
            if (alternate == null) {
                nfo = "(" + property.parent.fQName + ")";
            } else {
                nfo = "( " + alternate + " )";
            }

            displayString.append(name);
            displayString.append(nfo);

            displayString.setStyle(name.length(), nfo.length(), new Styler() {
                @Override
                public void applyStyles(TextStyle textStyle) {
                    textStyle.foreground = Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
                }
            });

            Image img = labelProvider.getImage(CssDslFactory.eINSTANCE.createcss_property());

            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) createCompletionProposal(
                    property.name, displayString, img, context);

            if (cp != null) {
                cp.setAdditionalProposalInfo(model);
                cp.setHover(new PropertyHover(property));
                cp.setTriggerCharacters(new char[] { ' ' });
                cp.setTextApplier(new IReplacementTextApplier() {

                    @Override
                    public void apply(IDocument document, ConfigurableCompletionProposal proposal)
                            throws BadLocationException {
                        document.replace(proposal.getReplacementOffset(), proposal.getReplacementLength(),
                                proposal.getReplacementString() + ": ");
                        proposal.setCursorPosition(proposal.getCursorPosition() + 2);
                    }
                });

                acceptor.accept(cp);
            }
        }
    }

    //      List<Property> properties = extension.getProperties(uri);
    //      
    //      
    //      if (properties != null) {
    //      
    //         for (Property property : properties) {
    //            
    //            
    //            ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) createCompletionProposal(property.getName(), property.getName(), null, context);
    //            cp.setAdditionalProposalInfo(model);
    //            //cp.setHover(new HoverImpl(extension.getDocForProperty(model.eResource().getURI(), property.getName())));
    //         
    //            cp.setHover(new PropertyHover(uri, property.getName()));
    //            
    //            cp.setImage(labelProvider.getImage(CssDslFactory.eINSTANCE.createcss_property()));
    //            
    //            StyledString displayString = new StyledString();
    //            String name = property.getName() + " ";
    //            String nfo = "(" + "defined in package lala" + ")";
    //            
    //            displayString.append(name);
    //            displayString.append(nfo);
    //            
    //            displayString.setStyle(name.length(), nfo.length(), new Styler() {
    //               @Override
    //               public void applyStyles(TextStyle textStyle) {
    //                  textStyle.foreground = Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
    //               }
    //            });
    //            
    //            
    //            cp.setDisplayString(displayString);
    //            acceptor.accept(cp);
    //         }
    //      }
}

From source file:at.bestsolution.efxclipse.tooling.css.ui.contentassist.CssDslRealtimeProposalProvider.java

License:Open Source License

private void handlePropertyCompletion(URI uri, EObject model, List<CssTok> prefixToks, String prefix,
        String elementName, String propertyName, ContentAssistContext context,
        ICompletionProposalAcceptor acceptor) {

    List<Proposal> proposals = extension.findProposals(uri, elementName, propertyName, prefixToks, prefix);

    for (Proposal p : proposals) {

        StyledString displayString = new StyledString();
        String name = p.getLabel() + " ";
        String nfo = "( " + p.getLabel() + " )";

        displayString.append(name);//ww  w.  j  a  va2 s .c  om
        displayString.append(nfo);

        displayString.setStyle(name.length(), nfo.length(), new Styler() {
            @Override
            public void applyStyles(TextStyle textStyle) {
                textStyle.foreground = Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
            }
        });

        // TODO fix image
        Image img = labelProvider.getImage(CssDslFactory.eINSTANCE.createcss_property());

        ConfigurableCompletionProposal cp = (ConfigurableCompletionProposal) createCompletionProposal(
                p.getProposal(), displayString, img, context);

        if (cp != null) {
            cp.setAdditionalProposalInfo(model);
            //cp.setHover(new PropertyHover(property));
            cp.setAutoInsertable(true);
            cp.setTriggerCharacters(new char[] { ' ' });
            if (p instanceof DialogProposal) {
                final DialogProposal dProp = (DialogProposal) p;
                cp.setTextApplier(new ReplacementTextApplier() {
                    //                  
                    @Override
                    public String getActualReplacementString(ConfigurableCompletionProposal proposal) {
                        return dProp.openProposal();
                    }
                });
            } else {
                cp.setTextApplier(new IReplacementTextApplier() {

                    @Override
                    public void apply(IDocument document, ConfigurableCompletionProposal proposal)
                            throws BadLocationException {
                        //                     proposal.setReplaceContextLength((proposal.getReplacementString() + " ").length());

                        System.err.println("apply " + proposal.getReplacementString());

                        if (",".equals(proposal.getReplacementString())) {
                            document.replace(proposal.getReplacementOffset() - 1,
                                    proposal.getReplacementLength() + 1, proposal.getReplacementString() + " ");
                            //                        proposal.setCursorPosition(proposal.getCursorPosition() + 1);
                        } else if (",".equals(proposal.getReplacementString())) {
                            document.replace(proposal.getReplacementOffset() - 1,
                                    proposal.getReplacementLength() + 1,
                                    proposal.getReplacementString() + "\n");
                        } else {
                            document.replace(proposal.getReplacementOffset(), proposal.getReplacementLength(),
                                    proposal.getReplacementString() + " ");
                            proposal.setCursorPosition(proposal.getCursorPosition() + 1);

                        }

                    }
                });
            }

            acceptor.accept(cp);
        }
    }
}

From source file:com.google.dart.tools.ui.internal.typehierarchy.HierarchyLabelProvider.java

License:Open Source License

@Override
public StyledString getStyledText(Object element) {
    StyledString styledText = super.getStyledText(element);
    if (lightPredicate.apply(element)) {
        styledText.setStyle(0, styledText.getString().length(), StyledString.QUALIFIER_STYLER);
    }//  w  w w .j  a v  a2 s.  com
    return styledText;
}

From source file:com.google.dart.tools.ui.internal.typehierarchy.TypeHierarchyLabelProvider_NEW.java

License:Open Source License

@Override
public StyledString getStyledText(Object o) {
    if (o instanceof TypeItem) {
        TypeItem item = (TypeItem) o;/* w w  w .ja v a  2s. c o m*/
        StyledString styledString = item.toStyledString();
        if (lightPredicate.apply(o)) {
            styledString.setStyle(0, styledString.getString().length(), StyledString.QUALIFIER_STYLER);
        }
        return styledString;
    }
    return new StyledString("" + o);
}

From source file:com.google.dart.tools.ui.internal.typehierarchy.TypeHierarchyLabelProvider_OLD.java

License:Open Source License

@Override
public StyledString getStyledText(Object element) {
    if (element instanceof TypeItem) {
        TypeItem item = (TypeItem) element;
        return item.toStyledString();
    }// www .java2s .  c om
    StyledString styledText = super.getStyledText(element);
    if (lightPredicate.apply(element)) {
        styledText.setStyle(0, styledText.getString().length(), StyledString.QUALIFIER_STYLER);
    }
    return styledText;
}

From source file:com.nextep.designer.dbgm.mysql.ui.jface.MySQLIndexedColumnLabelProvider.java

License:Open Source License

@Override
public StyledString getStyledText(Object element) {
    final StyledString s = super.getStyledText(element);
    if (element instanceof IBasicColumn) {
        final IBasicColumn col = (IBasicColumn) element;
        if (col.getParent() != null) {
            final IKeyConstraint pk = DBGMHelper.getPrimaryKey(col.getParent());
            if (pk != null) {
                if (pk.getConstrainedColumnsRef().contains(col.getReference())) {
                    s.setStyle(0, s.getString().length(), BOLD_STYLER);
                }//from   w w  w.jav a  2 s . co  m
            }
        }

        // Appending prefix length if defined
        if (index != null) {
            final Integer prefixLength = index.getColumnPrefixLength(col.getReference());
            if (prefixLength != null) {
                s.append(" (" + prefixLength.toString() + ")", StyledString.COUNTER_STYLER);
            }
        }
        final String datatype = DBGMHelper.getDatatypeLabel(((IBasicColumn) element).getDatatype());
        s.append(" : " + datatype, StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
    }
    return s;

}

From source file:com.nextep.designer.dbgm.ui.jface.DbgmLabelProvider.java

License:Open Source License

@Override
public StyledString getStyledText(Object element) {
    final StyledString s = super.getStyledText(element);
    if (element instanceof IBasicColumn) {
        final IBasicColumn col = (IBasicColumn) element;
        if (col.getParent() != null) {
            final IKeyConstraint pk = DBGMHelper.getPrimaryKey(col.getParent());
            if (pk != null) {
                if (pk.getConstrainedColumnsRef().contains(col.getReference())) {
                    s.setStyle(0, s.getString().length(), BOLD_STYLER);
                }/*from   ww  w .j  a v a  2  s.c om*/
            }
        }
        final String datatype = DBGMHelper.getDatatypeLabel(((IBasicColumn) element).getDatatype());
        s.append(" : " + datatype, StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
        s.append(col.isNotNull() ? " NOT NULL" : "", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$//$NON-NLS-2$
    }
    return s;

}

From source file:com.nextep.designer.dbgm.ui.jface.IndexedColumnLabelProvider.java

License:Open Source License

@Override
public StyledString getStyledText(Object element) {
    if (element instanceof IBasicColumn) {
        StyledString s = new StyledString();
        final IBasicColumn col = (IBasicColumn) element;
        // Appending function if defined
        final String function = index.getFunction(col.getReference());
        if (function != null) {
            s.append(function, ITALIC_STYLER);
        } else {/*from  w  w  w.jav a  2s.c o  m*/
            s.append(col.getName());
            if (col.getParent() != null) {
                final IKeyConstraint pk = DBGMHelper.getPrimaryKey(col.getParent());
                if (pk != null) {
                    if (pk.getConstrainedColumnsRef().contains(col.getReference())) {
                        s.setStyle(0, s.getString().length(), BOLD_STYLER);
                    }
                }
            }

            final String datatype = DBGMHelper.getDatatypeLabel(((IBasicColumn) element).getDatatype());
            s.append(" : " + datatype, StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
        }
        return s;
    } else {
        return super.getStyledText(element);
    }

}

From source file:com.palantir.typescript.search.SearchResultLabelProvider.java

License:Apache License

private StyledString getLineStyledText(LineResult lineResult) {
    StyledString string = new StyledString();
    ReferenceEntryEx firstReference = lineResult.getMatches().get(0).getReference();

    // line number
    int lineNumber = firstReference.getLineNumber();
    String lineNumberString = MessageFormat.format("{0,number,integer}: ", lineNumber + 1);
    string.append(lineNumberString, StyledString.QUALIFIER_STYLER);

    // line (highlight the matches)
    int lineStart = firstReference.getLineStart();
    String line = firstReference.getLine();
    int trimStart = NON_WHITESPACE_MATCHER.indexIn(line);
    int trimEnd = NON_WHITESPACE_MATCHER.lastIndexIn(line);
    string.append(line.substring(trimStart, trimEnd + 1));
    for (FindReferenceMatch match : lineResult.getMatches()) {
        ReferenceEntryEx reference = match.getReference();
        TextSpan textSpan = reference.getTextSpan();
        int offset = textSpan.getStart() + lineNumberString.length() - trimStart - lineStart;
        int length = textSpan.getLength();

        // highlight the match if its present in the line (note: the line may have been truncated earlier)
        if (offset + length <= string.length()) {
            string.setStyle(offset, length, HIGHLIGHT_STYLE);
        }//from  w w w .  j  a  v  a 2  s.  co m
    }

    return string;
}

From source file:ext.org.eclipse.jdt.internal.ui.search.OccurrencesSearchLabelProvider.java

License:Open Source License

private StyledString internalGetRichText(Object element) {
    JavaElementLine jel = (JavaElementLine) element;

    String lineNumberString = getLineNumberLabel(jel);

    Styler highlightStyle = ColoringLabelProvider.HIGHLIGHT_STYLE;

    StyledString res = new StyledString();
    res.append(lineNumberString, StyledString.QUALIFIER_STYLER);
    res.append(jel.getLineContents());/* w w  w .  ja  v a2 s  .  c o  m*/
    Match[] matches = getPage().getInput().getMatches(jel);
    for (int i = 0; i < matches.length; i++) {
        OccurrenceMatch curr = (OccurrenceMatch) matches[i];
        int offset = curr.getOriginalOffset() - jel.getLineStartOffset() + lineNumberString.length();
        int length = curr.getOriginalLength();

        if (offset >= 0 && (offset + length <= res.length())) {
            if ((curr.getFlags() & IOccurrencesFinder.F_WRITE_OCCURRENCE) != 0) {
                res.setStyle(offset, length, ColoringLabelProvider.HIGHLIGHT_WRITE_STYLE);
            } else {
                res.setStyle(offset, length, highlightStyle);
            }
        }
    }
    return res;
}