List of usage examples for com.google.gwt.uibinder.rebind XMLElement getNamespaceUri
public String getNamespaceUri()
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; }