List of usage examples for org.eclipse.jface.viewers StyledString setStyle
public void setStyle(int offset, int length, Styler styler) throws StringIndexOutOfBoundsException
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; }