protected TypeStyle getTypeStyleFromString()

in CasViewerEclipsePlugin/uimaj-ep-casviewer-core/src/main/java/org/apache/uima/casviewer/ui/internal/style/TypeSystemStyle.java [278:360]


    protected TypeStyle getTypeStyleFromString (TypeStyle typeStyle, Display display, String styleColor)
    {
        if (typeStyle == null) {
            typeStyle = new TypeStyle();
        }
        
        StringTokenizer token = new StringTokenizer(styleColor, ":;");
        if (!token.hasMoreTokens()) {
            return null; // No token
        }
            
        // Get foreground color
        token.nextToken();
        String fgString = token.nextToken().toLowerCase().trim();
        if (fgString.startsWith("#")) {
            if (display != null) {
                typeStyle.setForeground(decode(display, fgString));
            }
        } else {
            // Color name is used
            String newFgString = (String) colorNameMap.get(fgString);
            if (newFgString != null) {
                if (display != null) {
                    typeStyle.setForeground(decode(display, newFgString));
                }
            } else {
                // Unknown color name
                Trace.err("Unknown FG color name: " + fgString);
                if (display != null)
                    typeStyle.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
            }
        }
        
        // Get background color
        token.nextToken();
        String bgString = token.nextToken().toLowerCase().trim();
        if (bgString.startsWith("#")) {
            if (display != null)
                typeStyle.setBackground(decode(display, bgString));
        } else {
            // Color name is used
            String newBgString = (String) colorNameMap.get(bgString);
            if (newBgString != null) {
                if (display != null)
                    typeStyle.setBackground(decode(display, newBgString));
            } else {
                // Unknown color name
                Trace.err("Unknown BG color name: " + bgString);
                if (display != null)
                    typeStyle.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
            }
        }
        
        // Parses the string "checked:false"
        boolean checked = false;     // default to Checked
        if(token.hasMoreTokens() ) {
            String ck = token.nextToken();  //checked
            String tf = token.nextToken() ; //true or false
            if(ck.equals( "checked")) {
                if(tf.equals( "false")) {
                    checked = false;
                } else if(tf.equals( "true")) {
                    checked = true;
                }
            }
        }
        typeStyle.setChecked(checked);
        
        // Parses the string "hidden:false"
        boolean hidden = false;     // default to Hidden
        if(token.hasMoreTokens() ) {
            String ck = token.nextToken();  //checked
            String tf = token.nextToken() ; //true or false
            if(ck.equals( "hidden")) {
                if(tf.equals("true")) {
                    hidden = true;
                }
            }
        }
        typeStyle.setHidden(hidden);
        
        return typeStyle;
    }