Package com.google.gwt.dom.client

Examples of com.google.gwt.dom.client.Node


      if (_capturingDragEventsHandler != null) {
        e.dispatch(_capturingDragEventsHandler);
        return;
      }
        EventTarget target = e.getNativeEvent().getEventTarget();
        Node node = Node.as(target);       
        if (!Element.is(node)) {
          node = node.getParentNode()//Text node
        }
        if (Element.is(node)) {
             Element ele = Element.as(target);
            int count = 0;
            while (ele != null) {
View Full Code Here


      }
      if (_capturingDragEventsHandler != null) {
        return;
      }
        EventTarget target = e.getNativeEvent().getEventTarget();
        Node node = Node.as(target);       
        if (!Element.is(node)) {
          node = node.getParentNode()//Text node
        }
        if (Element.is(node)) {
            Element ele = Element.as(target);
            int count = 0;
            while (ele != null) {
View Full Code Here

      return null;
    } else {
      if (content.isInTextNode()) {
        return Point.inText(content.getContainer().getImplNodelet(), content.getTextOffset());
      } else {
        Node post = content.getNodeAfter() == null ? null : content.getNodeAfter().getImplNodelet();
        return Point.inElement(content.getContainer().getImplNodelet(), post);
      }
    }
  }
View Full Code Here

    complexHandler(Flow.INLINE);

    AgentAdapter e1 = elem("ab");
    Widget a = handler.getGwtWidget(e1);
    com.google.gwt.user.client.Element b = a.getElement();
    Node c = b.getFirstChild();
    Element d = e1.getContainerNodelet();
    assertSame(c,
        d);

  }
View Full Code Here

    // wrap stuff randomly
    b.getImplNodelet().appendChild(t3.getImplNodelet());
    assertEquals("hello <b>there</b>", p.getImplNodelet().getInnerHTML());
    Element wrapper = ca();
    Node bit = t1.getImplNodelet().splitText(2);
    bit.getParentNode().insertBefore(wrapper, bit);
    wrapper.appendChild(bit);
    r.revertInner(Point.before(c, t1), Point.after(c, t3));
    assertEquals("hello <b>th</b>ere", p.getImplNodelet().getInnerHTML());

    l.check(0, 0); // calls through revertInner, so none reported
View Full Code Here

    assert end == null || end.getContainer() == start.getContainer() :
        "No reverting across elements";

    ContentNode before = Point.nodeBefore(renderedContent, start);
    Node nodeletBefore = before == null ? null : before.getImplNodelet();
    Element parentNodelet;
    if (nodeletBefore == null) {
      parentNodelet = renderedContent.getVisibleNode(start.getContainer()).getImplNodelet().cast();
    } else {
      parentNodelet = nodeletBefore.getParentElement();
    }

    ContentNode first = start.getNodeAfter();
    ContentNode last = end == null ? null : end.getNodeAfter();
    assert renderedContent.getVisibleNode(first) == first;
    assert renderedContent.getVisibleNode(last) == last;
    assert last == null
        || renderedContent.getParentElement(first) == renderedContent.getParentElement(last)
        : "First and last are expected to have same parent";
    {
      ContentNode node;
      for (node = first; node != last; node = renderedContent.getNextSibling(node)) {
        // If node is consistent, we assume the ones after are ok.
        if (end == null && node.isConsistent()) {
          break;
        }

        node.revertImplementation();
      }
      last = node;
    }

    // TODO(danilatos): Actually use some view that strips unknown nodes out. or do something
    // better.
    Node nodeletAfter = last == null ? null : last.getImplNodelet();

    reattachImplChildren(parentNodelet, nodeletBefore, nodeletAfter, first, last);
  }
View Full Code Here

  private void reattachImplChildren(Node parentNodelet, Node nodeletBefore, Node nodeletAfter,
      ContentNode first, ContentNode last) {
    // TODO(danilatos): Replace this hairy code with pre-order traversal
    // getters, once they exist
    while (true) {
      Node nodelet = nodeletBefore == null
          ? strippingView.getFirstChild(parentNodelet)
          : strippingView.getNextSibling(nodeletBefore);

      if (nodelet == null || nodelet == nodeletAfter) {
        break;
      }

      if (nodelet.getParentElement() != null) {
        nodelet.removeFromParent();
      }
    }

    for (ContentNode node = first; node != last; node = renderedView.getNextSibling(node)) {
      parentNodelet.insertBefore(node.getImplNodelet(), nodeletAfter);
View Full Code Here

  private boolean isInChildEditor(Point<Node> point) {
    // The editable doc is marked by an attribute EDITABLE_DOC_MARKER, if
    // an element is found with that attribute, and is not the element of this
    // editor's doc element, then it must be a child's doc element.
    Node n = point.getContainer();
    Element e = DomHelper.isTextNode(n) ? n.getParentElement() : (Element) n;
    while (e != null && e != doc) {
      if (e.hasAttribute(EditorImpl.EDITABLE_DOC_MARKER)) {
        return true;
      }
      e = e.getParentElement();
View Full Code Here

    return selection == null ? null :
        getNearestElementPosition(selection.focusNode(), selection.focusOffset());
  }

  private OffsetPosition getNearestElementPosition(Node focusNode, int focusOffset) {
    Node startContainer;
    if (focusNode == null) {
      return null;
    }

    Element e =
View Full Code Here

    }

    if (DomHelper.isTextNode(focusNode)) {
      // We don't want to split the existing child text node, so we just add
      // duplicate the string up to the offset.
      Node txt =
          Document.get().createTextNode(
              focusNode.getNodeValue().substring(0, focusOffset));
      try {
        mutationListener.startTransientMutations();
        focusNode.getParentNode().insertBefore(txt, focusNode);
        txt.getParentNode().insertAfter(SPAN, txt);
        OffsetPosition ret =
            new OffsetPosition(SPAN.getOffsetLeft(), SPAN.getOffsetTop(), SPAN.getOffsetParent());

        return ret;
      } finally {
        SPAN.removeFromParent();
        txt.removeFromParent();
        mutationListener.endTransientMutations();
      }
    } else {
      Element e = focusNode.cast();
      return new OffsetPosition(e.getOffsetLeft(), e.getOffsetTop(), e.getOffsetParent());
View Full Code Here

TOP

Related Classes of com.google.gwt.dom.client.Node

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.