Example usage for com.google.gwt.uibinder.rebind XMLElement consumeRequiredAttribute

List of usage examples for com.google.gwt.uibinder.rebind XMLElement consumeRequiredAttribute

Introduction

In this page you can find the example usage for com.google.gwt.uibinder.rebind XMLElement consumeRequiredAttribute.

Prototype

public String consumeRequiredAttribute(String name, JType... types) throws UnableToCompleteException 

Source Link

Document

Consumes the given required attribute as a literal or field reference.

Usage

From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.ComponentParser.java

License:Apache License

/**
 * FIXME - only works for String value's
 * //from  w w  w.j a  v  a  2s  . com
 * @param elem
 * @param fieldName
 * @param writer
 */
private void consumeDataChildren(XMLElement elem, String fieldName, UiBinderWriter writer)
        throws UnableToCompleteException {
    Interpreter<Boolean> interpreter = new SimpleInterpreter(elem.getNamespaceUri(), "data");
    JClassType stringType = writer.getOracle().findType("java.lang.String");

    for (XMLElement child : elem.consumeChildElements(interpreter)) {
        String key = child.consumeRequiredAttribute("key", stringType);
        String value = child.consumeRequiredAttribute("value", stringType);

        writer.addStatement("%s.setData(%s, %s);", fieldName, key, value);
    }
}

From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.custom.PortalParser.java

License:Apache License

@Override
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer)
        throws UnableToCompleteException {
    JClassType integerType = writer.getOracle().findType("java.lang.Integer");

    JClassType doubleType = writer.getOracle().findType("java.lang.Double");

    String columnCountAttribute = elem.consumeRequiredAttribute("numColumns", integerType);
    Integer columnCount = Integer.valueOf(columnCountAttribute);

    Interpreter<Boolean> interpreter = new SimpleInterpreter(elem.getNamespaceUri(), "column");
    int columnIndex = 0;
    for (XMLElement column : elem.consumeChildElements(interpreter)) {
        String width = column.consumeAttribute("width", doubleType);
        if (width != null) {
            writer.addStatement("%s.setColumnWidth(%d, %s);", fieldName, columnIndex, width);
        }//from  w ww  . jav a2 s . co m

        for (XMLElement columnChild : column.consumeChildElements()) {
            String childField = writer.parseElementToField(columnChild);
            writer.addStatement("%s.add(%s, %d);", fieldName, childField, columnIndex);
        }

        columnIndex++;
    }

    if (columnIndex > columnCount) {
        writer.die(elem, "numColumns set to %s, but found %s", columnCountAttribute, columnIndex);
    }

    writer.setFieldInitializerAsConstructor(fieldName, type, "" + columnIndex);
}

From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.form.SimpleComboBoxParser.java

License:Apache License

private String parseChildElement(XMLElement elem, JClassType valueType, UiBinderWriter writer)
        throws UnableToCompleteException {
    if ("value".equals(elem.getLocalName())) {
        return String.format("\"%s\"",
                elem.consumeInnerTextEscapedAsHtmlStringLiteral(new TextInterpreter(writer)));
    } else if ("item".equals(elem.getLocalName())) {
        return elem.consumeRequiredAttribute("value", valueType);
    }/*from  w ww. j  a v  a  2  s . c  o m*/

    writer.die(elem, "Unknown child element of SimpleComboBox");

    return null; // will never get here
}

From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.treepanel.TreePanelParser.java

License:Apache License

public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer)
        throws UnableToCompleteException {
    JClassType treePanelType = writer.getOracle().findType(GxtClassnameConstants.TREEPANEL);

    JClassType treeStoreType = writer.getOracle().findType(GxtClassnameConstants.TREESTORE);
    String store = elem.consumeRequiredAttribute("store", treeStoreType);

    writer.setFieldInitializerAsConstructor(fieldName, treePanelType, store);
}