Package org.jbpm.ui.dialog

Source Code of org.jbpm.ui.dialog.XmlHighlightTextStyling

package org.jbpm.ui.dialog;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.graphics.Color;

public class XmlHighlightTextStyling extends HighlightTextStyling {
    private static final Color COLOR_XML_ATTRIBUTE_NAME = new Color(null, 255, 55, 55);
    private static final Color COLOR_XML_ATTRIBUTE_VALUE = new Color(null, 0, 0, 255);
    private static final Color COLOR_XML_ELEMENT_TEXT = new Color(null, 0, 0, 0);
    private static final Color COLOR_XML_COMMENT = new Color(null, 155, 155, 155);
    private static final Color COLOR_XML_ELEMENT_NAME = new Color(null, 0, 155, 0);

    private static List<RegexpHighlight> highlightDefinitions = new ArrayList<RegexpHighlight>();
    static {
        addHighlight("attrName", "(?m)[a-zA-Z_][\\w\\-\\:]*?(?:\\={1})", COLOR_XML_ATTRIBUTE_NAME, SWT.NORMAL);
        addHighlight("attrValue", "(?m)\"[^\"]*\"", COLOR_XML_ATTRIBUTE_VALUE, SWT.NORMAL);
        addHighlight("tag", "(?m)((?:</?\\s*)\\b([a-zA-Z_][\\w\\-\\:\\=]*)\\b>?)|(<\\?xml)|(\\?>)|(>)", COLOR_XML_ELEMENT_NAME, SWT.NORMAL);
        addHighlight("text", "(?s)(?<=\\>)[^<>]*+(?=\\<)", COLOR_XML_ELEMENT_TEXT, SWT.NORMAL);
        addHighlight("cdata", "(?s)(?<=>)\\s*?<\\!\\[CDATA\\[.*?\\]\\]>\\s*?(?=<)", COLOR_XML_ELEMENT_TEXT, SWT.NORMAL);
        addHighlight("comment", "(?s)(<!--.*?-->)|(<!--.*?\\z)", COLOR_XML_COMMENT, SWT.ITALIC);
    }

    public static void addHighlight(String name, String regexp, Color fg, int textStyle) {
        StyleRange styleRange = new StyleRange(0, 0, fg, null, textStyle);
        RegexpHighlight highlight = new RegexpHighlight(name, regexp, styleRange);
        highlightDefinitions.add(highlight);
    }
   
    public XmlHighlightTextStyling() {
        super(highlightDefinitions);
    }

}
TOP

Related Classes of org.jbpm.ui.dialog.XmlHighlightTextStyling

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.