public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { // Parse children. for (XMLElement child : elem.consumeChildElements()) { if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); } } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { if (writer.getOwnerClass().getUiField(fieldName).isProvided()) { return; } if (!writer.useLazyWidgetBuilders()) { writer.die("LazyPanel only works with UiBinder.useLazyWidgetBuilders enabled."); } XMLElement child = elem.consumeSingleChildElement(); if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); String lazyPanelClassPath = LazyPanel.class.getName(); String widgetClassPath = Widget.class.getName(); String code = String.format(INITIALIZER_FORMAT, lazyPanelClassPath, widgetClassPath, childField.getNextReference()); writer.setFieldInitializer(fieldName, code); } }
@Override public String interpretElement(XMLElement elem) throws UnableToCompleteException { if (!uiWriter.isWidgetElement(elem)) { return super.interpretElement(elem); } JClassType type = uiWriter.findFieldType(elem); TypeOracle oracle = uiWriter.getOracle(); MessagesWriter mw = uiWriter.getMessages(); String name = mw.consumeMessageAttribute("ph", elem); if ("".equals(name)) { name = "widget" + (++serial); } String idHolder = uiWriter.declareDomIdHolder(null); idToWidgetElement.put(idHolder, elem); if (oracle.findType(HasHTML.class.getName()).isAssignableFrom(type)) { return handleHasHTMLPlaceholder(elem, name, idHolder); } if (oracle.findType(HasText.class.getName()).isAssignableFrom(type)) { return handleHasTextPlaceholder(elem, name, idHolder); } return handleOpaqueWidgetPlaceholder(elem, name, idHolder); }
if (!writer.isWidgetElement(children.body)) { writer.die(children.body, "Must be a widget"); XMLElement headerElement = children.customHeader.consumeSingleChildElement(); if (!writer.isWidgetElement(headerElement)) { writer.die(headerElement, "Must be a widget");
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { for (XMLElement child : elem.consumeChildElements()) { String ns = child.getNamespaceUri(); String tagName = child.getLocalName(); if (ns != null && ns.equals(elem.getNamespaceUri()) && localTagNameIsCell(tagName)) { // It's a cell element, so parse its single child as a widget. XMLElement widget = child.consumeSingleChildElement(); FieldWriter childField = writer.parseElementToField(widget); writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); // Parse the cell tag's alignment & size attributes. parseCellAttributes(child, fieldName, childField, writer); } else { if (!writer.isWidgetElement(child)) { writer.die(elem, "Expected a widget or <%s:%s>, found %s", elem.getPrefix(), CELL_TAG.toLowerCase(Locale.ROOT), child); } // It's just a normal child, so parse it as a widget. FieldWriter childField = writer.parseElementToField(child); writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); } } }
if (!writer.isWidgetElement(customCaption)) { writer.die(customCaption, "<%s:%s> must be a widget", customCaption.getPrefix(), CUSTOM_CAPTION);
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { // Parse children. for (XMLElement child : elem.consumeChildElements()) { if (!writer.isWidgetElement(child)) { writer.die(child, "Widget required"); } // Stack panel label comes from the StackPanel-text attribute of the child String stackItemLabel = null; String variableAttributeName = elem.getPrefix() + ":" + ATTRIBUTE_TEXT; if (child.hasAttribute(variableAttributeName)) { stackItemLabel = child.consumeRawAttribute(variableAttributeName); } FieldWriter childField = writer.parseElementToField(child); if (stackItemLabel == null) { writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); } else { writer.addStatement("%1$s.add(%2$s, \"%3$s\");", fieldName, childField.getNextReference(), stackItemLabel); } } } }
writer.die(tabElem, "Must have a child widget"); if (!writer.isWidgetElement(children.body)) { writer.die(children.body, "Must be a widget"); XMLElement headerElement = children.customHeader.consumeSingleChildElement(); if (!writer.isWidgetElement(headerElement)) { writer.die(headerElement, "Is not a widget");
body.getName(), child); if (!writer.isWidgetElement(child)) { writer.die(elem, "Found non-widget %s", child);
writer.die(stackElem, "Must have a child widget"); if (!writer.isWidgetElement(children.body)) { writer.die(children.body, "Must be a widget"); XMLElement headerElement = children.customHeader.consumeSingleChildElement(); String size = children.customHeader.consumeRequiredDoubleAttribute("size"); if (!writer.isWidgetElement(headerElement)) { writer.die(headerElement, "Is not a widget");
if (!writer.isWidgetElement(widget)) { writer.die(elem, "%s must contain a widget, but found %s", child, widget);
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { // Parse children. for (XMLElement child : elem.consumeChildElements()) { // Parse position element. if (isPositionElement(elem, child)) { // Parse position. String left = child.consumeRequiredIntAttribute("left"); String top = child.consumeRequiredIntAttribute("top"); // Add child widget. XMLElement widgetElem = child.consumeSingleChildElement(); FieldWriter widgetField = writer.parseElementToField(widgetElem); writer.addStatement("%1$s.add(%2$s, %3$s, %4$s);", fieldName, widgetField.getNextReference(), left, top); continue; } // Parse Widget. if (writer.isWidgetElement(child)) { FieldWriter widgetFieldName = writer.parseElementToField(child); writer.addStatement("%1$s.add(%2$s);", fieldName, widgetFieldName.getNextReference()); continue; } // die writer.die(child, "Expecting only <%s:%s> or widget children in %s", elem.getPrefix(), AT, elem); } }
public String interpretElement(XMLElement elem) throws UnableToCompleteException { if (!uiWriter.isWidgetElement(elem)) { return null;
writer.die(tabChild, "May only have a single child widget"); if (!writer.isWidgetElement(tabChild)) { writer.die(tabChild, "Must be a widget");
public String interpretElement(XMLElement elem) throws UnableToCompleteException { if (writer.isWidgetElement(elem)) { writer.die("Found widget %s in an SVG context", elem); } return pipe.interpretElement(elem); } }
public String interpretElement(XMLElement elem) throws UnableToCompleteException { if (writer.isWidgetElement(elem)) { writer.die("Found widget %s in an SVG context", elem); } return pipe.interpretElement(elem); } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { XMLElement childElement = elem.consumeSingleChildElement(); if ( ! writer.isWidgetElement(childElement) ) { writer.die(elem, "Child element must be a widget type. Found: %s", childElement); } String widget = writer.parseElementToField(childElement); writer.setFieldInitializerAsConstructor(fieldName, type, widget); }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { // Parse children. for (XMLElement child : elem.consumeChildElements()) { if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); } } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { // Parse children. for (XMLElement child : elem.consumeChildElements()) { if (!writer.isWidgetElement(child)) { writer.die(child, "Expecting only widgets in %s", elem); } FieldWriter childField = writer.parseElementToField(child); writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); } } }
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { // Parse children. for (XMLElement child : elem.consumeChildElements()) { if (!writer.isWidgetElement(child)) { writer.die(child, "Widget required"); } // Stack panel label comes from the StackPanel-text attribute of the child String stackItemLabel = null; String variableAttributeName = elem.getPrefix() + ":" + ATTRIBUTE_TEXT; if (child.hasAttribute(variableAttributeName)) { stackItemLabel = child.consumeRawAttribute(variableAttributeName); } FieldWriter childField = writer.parseElementToField(child); if (stackItemLabel == null) { writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference()); } else { writer.addStatement("%1$s.add(%2$s, \"%3$s\");", fieldName, childField.getNextReference(), stackItemLabel); } } } }