Package org.jbpm.ui.dialog

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

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 JavaHighlightTextStyling extends HighlightTextStyling {
    private static final Color COLOR_COMMENT = new Color(null, 155, 155, 155);
    private static final Color COLOR_JAVA_KEYWORD = new Color(null, 0, 200, 0);
    private static final Color COLOR_STRING = new Color(null, 0, 0, 200);
    private static final Color VARIABLE_COLOR = new Color(null, 155, 155, 255);

    private static List<RegexpHighlight> highlightDefinitions = new ArrayList<RegexpHighlight>();
    static {
        addHighlight("keyword", "(?m)\\b(?:package|import|public|private|protected|static|final|native|volatile|transient|boolean|short|int|long|float|double|char|new|return|switch|case|try|catch|throws|throw|finally|if|else|for|while|do|class|interface|void|enum|null|true|false)\\b",
                COLOR_JAVA_KEYWORD, SWT.BOLD);
        addHighlight("string", "(?m)\"[^\"]*\"", COLOR_STRING, SWT.BOLD);
        addHighlight("lineComment", "(?m)//.*$", COLOR_COMMENT, SWT.ITALIC);
        addHighlight("blockComment", "(?s)/\\*.*?(?:\\*/|\\z)", COLOR_COMMENT, SWT.ITALIC);
    }

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

    public JavaHighlightTextStyling(List<String> variableNames) {
        super(highlightDefinitions);
        for (String variableName : variableNames) {
            StyleRange styleRange = new StyleRange(0, 0, VARIABLE_COLOR, null, SWT.NORMAL);
            addHighlightDefinition(new RegexpHighlight(variableName, variableName, styleRange));
        }
    }
}
TOP

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

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.