Package com.google.gwt.uibinder.rebind

Examples of com.google.gwt.uibinder.rebind.FieldWriter


    String[] expected = {
        "fieldName.setHTML(\"@mockToken-" + ElementParserTester.FIELD_NAME
            + "-Hello, I <b>caption</b>you.\");",
        "fieldName.setWidget(<g:Label>);",};

    FieldWriter w = tester.parse(b.toString());
    assertEquals("new " + PARSED_TYPE + "(true, true)", w.getInitializer());

    Iterator<String> i = tester.writer.statements.iterator();
    for (String e : expected) {
      assertEquals(e, i.next());
    }
View Full Code Here


    b.append("<g:DialogBox autoHide='true' modal='true'>");
    b.append("  <g:Label>And your little dog, too!</g:Label>");
    b.append("</g:DialogBox> ");

    FieldWriter w = tester.parse(b.toString());
    assertEquals("new " + PARSED_TYPE + "(true, true)", w.getInitializer());

    Iterator<String> i = tester.writer.statements.iterator();
    assertEquals("fieldName.setWidget(<g:Label>);", i.next());
    assertFalse(i.hasNext());
    assertNull(tester.logger.died);
View Full Code Here

  public void testDefaults() throws UnableToCompleteException, SAXException {
    StringBuffer b = new StringBuffer();

    b.append("<g:DialogBox/> ");

    FieldWriter w = tester.parse(b.toString());
    assertEquals("new " + PARSED_TYPE + "(false, true)", w.getInitializer());

    Iterator<String> i = tester.writer.statements.iterator();
    assertFalse(i.hasNext());
    assertNull(tester.logger.died);
  }
View Full Code Here

    parser.parse(tester.getElem(b.toString(), "g:DialogBox"), "fieldName",
        tester.parsedType, tester.writer);

    String[] expected = {"fieldName.setWidget(<g:Label>);",};

    FieldWriter w = tester.fieldManager.lookup("fieldName");

    assertEquals("new " + PARSED_TYPE + "(true, true, <my:MyCaption>)",
        w.getInitializer());

    Iterator<String> i = tester.writer.statements.iterator();
    for (String e : expected) {
      assertEquals(e, i.next());
    }
View Full Code Here

            + "-Hello, I <b>caption</b>you.\");",
        "fieldName.setWidget(<g:Label>);",};

    parser.parse(tester.getElem(b.toString(), "my:MyDialogBox"), "fieldName",
        tester.parsedType, tester.writer);
    FieldWriter w = tester.fieldManager.lookup("fieldName");

    assertNull(w.getInitializer());

    Iterator<String> i = tester.writer.statements.iterator();
    for (String e : expected) {
      assertEquals(e, i.next());
    }
View Full Code Here

    if (!uiWriter.isWidgetElement(elem)) {
      return null;
    }

    FieldManager fieldManager = uiWriter.getFieldManager();
    FieldWriter fieldWriter = fieldManager.require(fieldName);

    // Allocate a local variable to hold the dom id for this widget. Note
    // that idHolder is a local variable reference, not a string id. We
    // have to generate the ids at runtime, not compile time, or else
    // we'll reuse ids for any template rendered more than once.
    String idHolder = uiWriter.declareDomIdHolder();
    uiWriter.ensureCurrentFieldAttached();

    FieldWriter childFieldWriter = uiWriter.parseElementToFieldWriter(elem);
    String elementPointer = idHolder + "Element";
    uiWriter.addInitStatement(
        "com.google.gwt.user.client.Element %s = " +
        "com.google.gwt.dom.client.Document.get().getElementById(%s).cast();",
        elementPointer, idHolder);

    if (uiWriter.useLazyWidgetBuilders()) {

      // Register a DOM id field.
      String lazyDomElementPath = LazyDomElement.class.getCanonicalName();
      FieldWriter elementWriter = fieldManager.registerField(lazyDomElementPath, elementPointer);
      elementWriter.setInitializer(String.format("new %s<Element>(%s)",
          lazyDomElementPath, fieldManager.convertFieldToGetter(idHolder)));

      // Add attach/detach sections for this element.
      fieldWriter.addAttachStatement("%s.get();",
                                     fieldManager.convertFieldToGetter(elementPointer));
View Full Code Here

   * Called by {@link XMLElement#consumeInnerHtml} after all elements
   * have been handed to {@link #interpretElement}.
   */
  @Override
  public String postProcess(String consumed) throws UnableToCompleteException {
    FieldWriter fieldWriter = fieldManager.require(fieldName);

    for (String idHolder : idToWidgetElement.keySet()) {
      XMLElement childElem = idToWidgetElement.get(idHolder);
      FieldWriter childFieldWriter = uiWriter.parseElementToFieldWriter(childElem);

      genSetWidgetTextCall(idHolder, childFieldWriter.getName());

      if (uiWriter.useLazyWidgetBuilders()) {
        // Register a DOM id field.
        String lazyDomElementPath = LazyDomElement.class.getCanonicalName();
        String elementPointer = idHolder + "Element";
        FieldWriter elementWriter = fieldManager.registerField(
            lazyDomElementPath, elementPointer);
        elementWriter.setInitializer(String.format("new %s<Element>(%s)",
            lazyDomElementPath, fieldManager.convertFieldToGetter(idHolder)));

        // Add attach/detach sections for this element.
        fieldWriter.addAttachStatement("%s.get();",
            fieldManager.convertFieldToGetter(elementPointer));
View Full Code Here

      return null;
    }

    String idHolder = uiWriter.declareDomIdHolder();
    FieldManager fieldManager = uiWriter.getFieldManager();
    FieldWriter fieldWriter = fieldManager.require(fieldName);

    FieldWriter childFieldWriter = uiWriter.parseElementToFieldWriter(elem);

    String elementPointer = idHolder + "Element";
    fieldWriter.addAttachStatement(
        "com.google.gwt.user.client.Element %s = " +
        "com.google.gwt.dom.client.Document.get().getElementById(%s).cast();",
        elementPointer, fieldManager.convertFieldToGetter(idHolder));
    fieldWriter.addAttachStatement(
        "%s.wrapElement(%s);",
        fieldManager.convertFieldToGetter(childFieldWriter.getName()),
        elementPointer);

    // Some operations are more efficient when the Widget isn't attached to
    // the document. Perform them here.
    fieldWriter.addDetachStatement(
        "%s.performDetachedInitialization();",
        fieldManager.convertFieldToGetter(childFieldWriter.getName()));

    fieldWriter.addDetachStatement(
        "%s.logicalAdd(%s);",
        fieldManager.convertFieldToGetter(fieldName),
        fieldManager.convertFieldToGetter(childFieldWriter.getName()));

    // TODO(rdcastro): use the render() call that receives the SafeHtmlBuilder
    String elementHtml = fieldManager.convertFieldToGetter(childFieldWriter.getName()) + ".render("
        + fieldManager.convertFieldToGetter(idHolder) + ")";
    return uiWriter.tokenForSafeHtmlExpression(elementHtml);
  }
View Full Code Here

TOP

Related Classes of com.google.gwt.uibinder.rebind.FieldWriter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.