Search in sources :

Example 41 with TextAttribute

use of org.eclipse.jface.text.TextAttribute in project webtools.sourceediting by eclipse.

the class JSONSyntaxColoringPage method applyStyles.

/**
 * Color the text in the sample area according to the current preferences
 */
void applyStyles() {
    if (fText == null || fText.isDisposed())
        return;
    IStructuredDocumentRegion documentRegion = fDocument.getFirstStructuredDocumentRegion();
    while (documentRegion != null) {
        ITextRegionList regions = documentRegion.getRegions();
        for (int i = 0; i < regions.size(); i++) {
            ITextRegion currentRegion = regions.get(i);
            // lookup the local coloring type and apply it
            String namedStyle = (String) fContextToStyleMap.get(currentRegion.getType());
            if (namedStyle == null)
                continue;
            TextAttribute attribute = getAttributeFor(namedStyle);
            if (attribute == null)
                continue;
            StyleRange style = new StyleRange(documentRegion.getStartOffset(currentRegion), currentRegion.getTextLength(), attribute.getForeground(), attribute.getBackground(), attribute.getStyle());
            style.strikeout = (attribute.getStyle() & TextAttribute.STRIKETHROUGH) != 0;
            style.underline = (attribute.getStyle() & TextAttribute.UNDERLINE) != 0;
            fText.setStyleRange(style);
        }
        documentRegion = documentRegion.getNext();
    }
}
Also used : ITextRegionList(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList) IStructuredDocumentRegion(org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion) ITextRegion(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion) TextAttribute(org.eclipse.jface.text.TextAttribute) StyleRange(org.eclipse.swt.custom.StyleRange)

Example 42 with TextAttribute

use of org.eclipse.jface.text.TextAttribute in project webtools.sourceediting by eclipse.

the class JSONSyntaxColoringPage method activate.

// activate controls based on the given local color type
private void activate(String namedStyle) {
    Color foreground = fDefaultForeground;
    Color background = fDefaultBackground;
    if (namedStyle == null) {
        fClearStyle.setEnabled(false);
        fBold.setEnabled(false);
        fItalic.setEnabled(false);
        fStrike.setEnabled(false);
        fUnderline.setEnabled(false);
        fForegroundLabel.setEnabled(false);
        fBackgroundLabel.setEnabled(false);
        fForegroundColorEditor.setEnabled(false);
        fBackgroundColorEditor.setEnabled(false);
        fBold.setSelection(false);
        fItalic.setSelection(false);
        fStrike.setSelection(false);
        fUnderline.setSelection(false);
    } else {
        TextAttribute attribute = getAttributeFor(namedStyle);
        fClearStyle.setEnabled(true);
        fBold.setEnabled(true);
        fItalic.setEnabled(true);
        fStrike.setEnabled(true);
        fUnderline.setEnabled(true);
        fForegroundLabel.setEnabled(true);
        fBackgroundLabel.setEnabled(true);
        fForegroundColorEditor.setEnabled(true);
        fBackgroundColorEditor.setEnabled(true);
        fBold.setSelection((attribute.getStyle() & SWT.BOLD) != 0);
        fItalic.setSelection((attribute.getStyle() & SWT.ITALIC) != 0);
        fStrike.setSelection((attribute.getStyle() & TextAttribute.STRIKETHROUGH) != 0);
        fUnderline.setSelection((attribute.getStyle() & TextAttribute.UNDERLINE) != 0);
        if (attribute.getForeground() != null) {
            foreground = attribute.getForeground();
        }
        if (attribute.getBackground() != null) {
            background = attribute.getBackground();
        }
    }
    fForegroundColorEditor.setColorValue(foreground.getRGB());
    fBackgroundColorEditor.setColorValue(background.getRGB());
}
Also used : TextAttribute(org.eclipse.jface.text.TextAttribute) Color(org.eclipse.swt.graphics.Color)

Example 43 with TextAttribute

use of org.eclipse.jface.text.TextAttribute in project webtools.sourceediting by eclipse.

the class LineStyleProviderForJSDT method addRange.

/**
 * Adds style information to the given text presentation.
 *
 * @param presentation
 *            the text presentation to be extended
 * @param offset
 *            the offset of the range to be styled
 * @param length
 *            the length of the range to be styled
 * @param attr
 *            the attribute describing the style of the range to be styled
 */
private void addRange(Collection presentation, int offset, int length, TextAttribute attr) {
    // support for user defined backgroud for JSP scriptlet regions
    TextAttribute ta = (TextAttribute) getTextAttributes().get(IStyleConstantsJs.JSP_CONTENT);
    Color bgColor = ta.getBackground();
    if (bgColor == null) {
        bgColor = attr.getBackground();
    }
    StyleRange result = new StyleRange(offset, length, attr.getForeground(), bgColor, attr.getStyle());
    if ((attr.getStyle() & TextAttribute.STRIKETHROUGH) != 0) {
        result.strikeout = true;
    }
    if ((attr.getStyle() & TextAttribute.UNDERLINE) != 0) {
        result.underline = true;
    }
    presentation.add(result);
}
Also used : TextAttribute(org.eclipse.jface.text.TextAttribute) Color(org.eclipse.swt.graphics.Color) StyleRange(org.eclipse.swt.custom.StyleRange)

Example 44 with TextAttribute

use of org.eclipse.jface.text.TextAttribute in project webtools.sourceediting by eclipse.

the class SemanticHighlightingManager method adaptToTextBackgroundChange.

private void adaptToTextBackgroundChange(HighlightingStyle highlighting, PropertyChangeEvent event) {
    RGB rgb = null;
    Object value = event.getNewValue();
    if (value instanceof RGB)
        rgb = (RGB) value;
    else if (value instanceof String)
        rgb = ColorHelper.toRGB((String) value);
    if (rgb != null) {
        Color color = EditorUtility.getColor(rgb);
        TextAttribute oldAttr = highlighting.getTextAttribute();
        highlighting.setTextAttribute(new TextAttribute(oldAttr.getForeground(), color, oldAttr.getStyle()));
    }
}
Also used : TextAttribute(org.eclipse.jface.text.TextAttribute) Color(org.eclipse.swt.graphics.Color) RGB(org.eclipse.swt.graphics.RGB)

Example 45 with TextAttribute

use of org.eclipse.jface.text.TextAttribute in project webtools.sourceediting by eclipse.

the class LineStyleProviderForJSPEL method getTokenTextAttribute.

/**
 * Returns a text attribute encoded in the given token. If the token's
 * data is not <code>null</code> and a text attribute it is assumed that
 * it is the encoded text attribute. It returns the default text attribute
 * if there is no encoded text attribute found.
 *
 * @param token
 *            the token whose text attribute is to be determined
 * @return the token's text attribute
 */
private TextAttribute getTokenTextAttribute(IToken token) {
    TextAttribute ta = null;
    Object data = token.getData();
    if (data instanceof TextAttribute)
        ta = (TextAttribute) data;
    else {
        ta = (TextAttribute) getTextAttributes().get(IStyleConstantsJSPJava.JAVA_DEFAULT);
    }
    return ta;
}
Also used : TextAttribute(org.eclipse.jface.text.TextAttribute)

Aggregations

TextAttribute (org.eclipse.jface.text.TextAttribute)142 Token (org.eclipse.jface.text.rules.Token)45 RGB (org.eclipse.swt.graphics.RGB)37 Color (org.eclipse.swt.graphics.Color)36 IToken (org.eclipse.jface.text.rules.IToken)23 StyleRange (org.eclipse.swt.custom.StyleRange)20 IPresentationReconciler (org.eclipse.jface.text.presentation.IPresentationReconciler)16 PresentationReconciler (org.eclipse.jface.text.presentation.PresentationReconciler)16 DefaultDamagerRepairer (org.eclipse.jface.text.rules.DefaultDamagerRepairer)14 ITextRegion (org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion)12 ITextRegionList (org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList)12 IRule (org.eclipse.jface.text.rules.IRule)10 RuleBasedScanner (org.eclipse.jface.text.rules.RuleBasedScanner)9 IStructuredDocumentRegion (org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion)8 ArrayList (java.util.ArrayList)7 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)6 ColorRegistry (org.eclipse.jface.resource.ColorRegistry)5 Document (org.eclipse.jface.text.Document)4 IDocument (org.eclipse.jface.text.IDocument)4 MultiLineRule (org.eclipse.jface.text.rules.MultiLineRule)4