Package org.waveprotocol.wave.client.editor.content

Examples of org.waveprotocol.wave.client.editor.content.ContentElement


    try {

      DocumentContext<ContentNode, ContentElement, ContentTextNode> cxt =
        container.getContext();

      ContentElement element = child.asElement();
      if (element != null && isLineElement(element)) {
        Line line = new Line(cxt, element);
        ContentNode previousDirectSibling = child.getPreviousSibling();
        ContentNode previousPersistentSibling = container.getMutableDoc().getPreviousSibling(child);
        if (previousPersistentSibling == null) {
          insertAsFirstLine(container, line);
        } else {
          Line previousLine;
          if (element.getParentElement() == container) {
            // TODO(danilatos): Handle the case where this assertion fails.
            assert previousDirectSibling != null &&
                LineRendering.isLocalParagraph(previousDirectSibling);
            previousLine = Line.fromParagraph(previousDirectSibling.asElement());
          } else {
            previousLine = Line.fromParagraph(element.getParentElement());
          }

          // TODO(danilatos): Handle the case where this assertion fails too.
          assert previousLine != null;

          insertAfterLine(previousLine, line);
        }

        Line nextLine = line.next();
        ContentElement paragraph = line.getParagraph();

        if (element.getParentElement() != container) {
          cxt.annotatableContent().transparentMove(paragraph, paragraph.getNextSibling(),
              null, null);
          cxt.annotatableContent().transparentMove(container, paragraph, null,
              element.getParentElement().getNextSibling());
          cxt.annotatableContent().transparentMove(container, element, null,
              paragraph);
        }

      } else {
        ContentNode before = child.getPreviousSibling();
        ContentElement paragraph = before == null ? null : asParagraph(before);
        if (paragraph != null) {
          cxt.annotatableContent().transparentMove(paragraph, child, child.getNextSibling(), null);
        }
      }
View Full Code Here


    try {
      DocumentContext<ContentNode, ContentElement, ContentTextNode> cxt =
        container.getContext();


      ContentElement element = child.asElement();
      if (element != null && isLineElement(element)) {
        Line line = Line.fromLineElement(element);
        assert line != null;

        // move only if there's something to move:
View Full Code Here

      nested = false;
    }
  }

  static ContentElement asParagraph(ContentNode node) {
    ContentElement e = node.asElement();
    return e != null && e.getTagName().equals(PARAGRAPH_FULL_TAGNAME) ? e : null;
  }
View Full Code Here

    if (!isLineElement(firstChild)) {
      errorLogAndThrow("First child not a line element");
      return false;
    }

    ContentElement element = firstChild.asElement();
    boolean first = true;

    while (true) {
      if (line.getParagraph().getPreviousSibling() != line.getLineElement()) {
        errorLogAndThrow("Junk between line token and its paragraph");
        return false;
      }

      ContentNode node;
      for (node = line.getParagraph().getFirstChild(); node != null; node = node.getNextSibling()) {

        ContentElement e = node.asElement();
        if (e != null) {
          if (isLineElement(e)) {
            errorLogAndThrow("Line element stuck inside rendering paragraph: " + e);
            return false;
          }
View Full Code Here

    for (ContentNode node = firstItem;
         node != null && node != stopAt;
         prev = node, node = view.getNextSibling(node)) {
      assert node instanceof ContentElement : "Expected node to be instance of ContentElement";
      ContentElement el = (ContentElement) node;

      int indent = Paragraph.getIndent(el);

      if (Paragraph.isHeading(el)) {
        helper.maybeCloseListItem();
View Full Code Here

  public static boolean hasListener(ContentNode node) {
    return getListener(node) != null;
  }

  private static EditModeListener getListener(ContentNode node) {
    ContentElement e = node.asElement();
    return e.asElement() != null ? e.getProperty(EDIT_MODE_LISTENER_PROP) : null;
  }
View Full Code Here

  @Override
  public Element createDomImpl(Renderable element) {
    // HACK(danilatos) temp workaround, see todo in SuggestionButton and Suggestion
    // regarding their dep on ContentElement
    ContentElement haxContentElement = (ContentElement) element;

    HasSuggestions suggestions = new Suggestion(haxContentElement,
        haxContentElement.getContext());
    element.setProperty(HAS_SUGGESTIONS_PROP, suggestions);

    SuggestionButton display = new SuggestionButton(haxContentElement);
    // TODO(user): Avoid using non-html tag names
    Element nodelet = Document.get().createElement(FULL_TAGNAME);
View Full Code Here

    this.replacementRangeHelper = getOrCreateRangeTracker(documentContext);
   }

  private RangeTracker getOrCreateRangeTracker(
      DocumentContext<ContentNode, ContentElement, ContentTextNode> context) {
    ContentElement docElement = context.document().getDocumentElement();
    RangeTracker ret =
        docElement.getProperty(LINK_RANGE_TRACKER_PROP);

    if (ret == null) {
      ret = new RangeTracker(context.localAnnotations(), CURRENT_LINK_DEBUG_ID);
      docElement.setProperty(LINK_RANGE_TRACKER_PROP, ret);
    }
    return ret;
  }
View Full Code Here

   */
  public static GadgetElementChild create(ContentNode node) {
    if ((node == null) || !node.isElement()) {
      return null;
    } else {
      ContentElement element = node.asElement();
      return new GadgetElementChild(element);
    }
  }
View Full Code Here

    return stringListToJSO(getDataNames(), caja);
  }

  public String getData(String name) {
    Preconditions.checkNotNull(name, "Name of data values may not be null");
    ContentElement nameValuePair = doFindNameValuePair(name);
    if (nameValuePair == null) {
      return null;
    }
    return nameValuePair.getAttribute(HtmlTemplate.NAMEVALUEPAIR_VALUE_ATTR);
  }
View Full Code Here

TOP

Related Classes of org.waveprotocol.wave.client.editor.content.ContentElement

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.