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

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

Introduction

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

Prototype

public String getNamespaceUri() 

Source Link

Document

Gets this element's namespace URI.

Usage

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

License:Apache License

@Deprecated
private void handleBackwardsCompatibleMenu(XMLElement elem, String fieldName, UiBinderWriter writer)
        throws UnableToCompleteException {
    Interpreter<Boolean> menuInterpreter = new SimpleInterpreter(elem.getNamespaceUri(), "menu");

    Collection<XMLElement> menuChildElements = elem.consumeChildElements(menuInterpreter);
    if (menuChildElements.isEmpty()) {
        return;/*w  w  w .  ja  v  a2 s .co m*/
    }
    writer.warn(elem,
            "Use of <%s:menu> has been deprecated.  Nesting a Menu widget is the new preferred approach.",
            elem.getPrefix());
    if (menuChildElements.size() > 1) {
        writer.die(elem, "Buttons can contain only a single menu.");
    }

    String menu = writer.declareField(GxtClassnameConstants.MENU, elem);

    XMLElement menuNode = menuChildElements.iterator().next();
    for (XMLElement child : menuNode.consumeChildElements()) {
        String childField = writer.parseElementToField(child);
        writer.addStatement("%s.add(%s);", menu, childField);
    }

    writer.addStatement("%s.setMenu(%s);", fieldName, menu);
}

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.ComponentParser.java

License:Apache License

protected void handleToolTips(XMLElement elem, String fieldName, UiBinderWriter writer)
        throws UnableToCompleteException {
    Interpreter<Boolean> toolTipConfigInterpreter = new SimpleInterpreter(elem.getNamespaceUri(),
            "tooltipconfig");
    Collection<XMLElement> toolTipConfigs = elem.consumeChildElements(toolTipConfigInterpreter);
    if (toolTipConfigs.isEmpty())
        return;//from   w w  w  .  ja v  a  2 s.  c om
    if (toolTipConfigs.size() > 1) {
        writer.die(elem, "tooltipconfig can only be used once");
    }

    XMLElement toolTipConfigElem = toolTipConfigs.iterator().next();

    String toolTipConfig = writer.declareField(GxtClassnameConstants.TOOLTIPCONFIG, toolTipConfigElem);

    JClassType toolTipConfigType = writer.getOracle().findType(GxtClassnameConstants.TOOLTIPCONFIG);
    ElementParserUtil.applyAttributes(toolTipConfigElem, toolTipConfig, toolTipConfigType, writer);

    writer.addStatement("%s.setToolTip(%s);", fieldName, toolTipConfig);
}

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

License:Apache License

public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer)
        throws UnableToCompleteException {
    handleTopBottomComponents(elem, fieldName, writer);

    for (XMLElement buttonsElem : elem
            .consumeChildElements(new SimpleInterpreter(elem.getNamespaceUri(), "buttons"))) {
        for (XMLElement button : buttonsElem.consumeChildElements()) {
            if (!ElementParserUtil.isElementOfType(writer, button, GxtClassnameConstants.BUTTON)) {
                writer.die("Element buttons can only contain Button children.", elem);
            }/*from   w ww  .  ja v a 2  s .c  o m*/
            String buttonField = writer.parseElementToField(button);
            writer.addStatement("%s.addButton(%s);", fieldName, buttonField);
        }
    }

    for (XMLElement header : elem
            .consumeChildElements(new SimpleInterpreter(elem.getNamespaceUri(), "header"))) {
        String headerFieldName = writer.declareField(GxtClassnameConstants.HEADER, header);
        // set to null at first.  assign with addStatement
        writer.setFieldInitializer(headerFieldName, "null");
        writer.addStatement("%s = %s.getHeader();", headerFieldName, fieldName);
        ElementParserUtil.applyAttributes(header, headerFieldName, GxtClassnameConstants.HEADER, writer);

        for (XMLElement headerChild : header.consumeChildElements()) {
            String childField = writer.parseElementToField(headerChild);
            writer.addStatement("%s.addTool(%s);", headerFieldName, childField);
        }
    }
}

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

License:Apache License

protected void handleTopBottomComponents(XMLElement elem, String fieldName, UiBinderWriter writer)
        throws UnableToCompleteException {
    Interpreter<Boolean> topBottomComponentInterpreter = new TopBottomComponentInterpreter(
            elem.getNamespaceUri());

    for (XMLElement child : elem.consumeChildElements(topBottomComponentInterpreter)) {
        XMLElement widget = child.consumeSingleChildElement();

        if (!isComponentElement(writer, widget)) {
            writer.die(elem, "%s must contain a GXT Component, but found %s", child, widget);
        }/*from w  w  w  .  ja v  a  2s.  c o  m*/

        String widgetName = writer.parseElementToField(widget);
        String methodName = SupportedChildLocalNames.valueOf(child.getLocalName()).getMethodName();
        writer.addStatement("%s.%s(%s);", fieldName, methodName, widgetName);
    }
}

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   ww  w.  ja va  2s  . c om*/

        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.CheckBoxGroupParser.java

License:Apache License

private boolean isValidElement(XMLElement parent, XMLElement child) {
    if (!parent.getNamespaceUri().equals(child.getNamespaceUri())) {
        return false;
    }//from w w  w. ja  va 2s  . co m

    return "CheckBox".equals(child.getLocalName());
}

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

License:Apache License

@Override
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer)
        throws UnableToCompleteException {

    Interpreter<Boolean> formButtonBindingInterpreter = new SimpleInterpreter(elem.getNamespaceUri(),
            "formButtonBinding");
    for (XMLElement child : elem.consumeChildElements(formButtonBindingInterpreter)) {
        String buttonField = child.consumeRequiredRawAttribute("buttonField");

        String bindingField = writer.declareField(GxtClassnameConstants.FORMBUTTONBINDING, child);
        // set to null temporarily.  We'll initialize it as a statement. 
        //Need to make sure the FormPanel is initialized first.
        writer.setFieldInitializer(bindingField, "null");

        writer.addStatement("%s = new %s(%s);", bindingField, GxtClassnameConstants.FORMBUTTONBINDING,
                fieldName);/*from   www  .ja  v  a  2s .c o  m*/
        writer.addStatement("%s.addButton(%s);", bindingField, buttonField);
    }

}

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

License:Apache License

@Override
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer)
        throws UnableToCompleteException {

    String parameterizedType = elem.consumeRawAttribute("type", "java.lang.String");
    JClassType valueType = writer.getOracle().findType(parameterizedType);
    if (valueType == null) {
        writer.die(elem, "Found type attribute, but unable to resolve the value: %s", parameterizedType);
    }//w  w  w .j a va2 s  . c om

    for (XMLElement child : elem.consumeChildElements()) {
        if (!child.getNamespaceUri().equals(elem.getNamespaceUri())) {
            writer.die(elem,
                    "Children of SimpleComboBox must be in the same namespace.  Expected '%s' but found '%s'",
                    elem.getPrefix(), child.getPrefix());
        }

        String data = parseChildElement(child, valueType, writer);

        writer.addStatement("%s.add(%s);", fieldName, data);
    }

    if (elem.getAttribute("simpleValue") != null) {
        writer.addStatement("%s.setSimpleValue(%s);", fieldName,
                elem.consumeAttribute("simpleValue", valueType));
    }
}

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

License:Apache License

private boolean isValidChildElement(XMLElement parent, XMLElement child) {
    if (!parent.getNamespaceUri().equals(child.getNamespaceUri())) {
        return false;
    }/*from   www.j  a  v  a  2  s . com*/

    if (!DOCK_NAMES.contains(child.getLocalName())) {
        return false;
    }

    return true;
}