Example usage for com.google.gwt.user.client Element getChild

List of usage examples for com.google.gwt.user.client Element getChild

Introduction

In this page you can find the example usage for com.google.gwt.user.client Element getChild.

Prototype

@Override
    public Node getChild(int index) 

Source Link

Usage

From source file:com.eduworks.gwt.client.pagebuilder.PageAssembler.java

License:Apache License

/** @Returns a list of IDs that get put into the template */
public static Vector<String> inject(String elementName, String token, Widget w, boolean inFront) {
    boolean incrementIDCounter = false;
    Vector<String> convertedIDs = new Vector<String>();
    Vector<Element> nodeTree = new Vector<Element>();
    String elementID;/*from  w w w  .j av a 2 s.  c o m*/
    Element e;
    int indexOfToken = -1;

    nodeTree.add(w.getElement());

    while (nodeTree.size() > 0) {
        e = nodeTree.remove(0);
        for (int x = 0; x < e.getChildCount(); x++) {
            if (e.getChild(x).getNodeType() == Node.ELEMENT_NODE)
                nodeTree.add((Element) e.getChild(x));
        }
        elementID = e.getId();
        if (elementID != null)
            indexOfToken = elementID.indexOf(token);
        if (indexOfToken != -1) {
            incrementIDCounter = true;
            e.setId(elementID.substring(0, indexOfToken) + iDCounter
                    + elementID.substring(indexOfToken + token.length()));
            convertedIDs.add(e.getId());
        } else if (e.getId() != "")
            convertedIDs.add(e.getId());

        // Also update the "for" attribute so that checkbox and radio button labels will behave correctly
        elementID = e.getAttribute("for");
        if (elementID != null)
            indexOfToken = elementID.indexOf(token);
        if (indexOfToken != -1) {
            e.setAttribute("for", elementID.substring(0, indexOfToken) + iDCounter
                    + elementID.substring(indexOfToken + token.length()));
        }
    }

    if (incrementIDCounter)
        iDCounter++;

    RootPanel.get(elementName).remove(w);
    if (inFront)
        RootPanel.get(elementName).insert(w, 0);
    else
        RootPanel.get(elementName).add(w);

    return convertedIDs;
}

From source file:com.eduworks.gwt.client.pagebuilder.PageAssembler.java

License:Apache License

/** @Returns a list of IDs that get put into the template */
public static Vector<String> inject(Element element, String token, Widget w, boolean inFront) {
    boolean incrementIDCounter = false;
    Vector<String> convertedIDs = new Vector<String>();
    Vector<Element> nodeTree = new Vector<Element>();
    String elementID;// w w w .java2 s .  c  o m
    Element e;
    int indexOfToken = -1;

    nodeTree.add(w.getElement());

    while (nodeTree.size() > 0) {
        e = nodeTree.remove(0);
        for (int x = 0; x < e.getChildCount(); x++) {
            if (e.getChild(x).getNodeType() == Node.ELEMENT_NODE)
                nodeTree.add((Element) e.getChild(x));
        }
        elementID = e.getId();
        if (elementID != null)
            indexOfToken = elementID.indexOf(token);
        if (indexOfToken != -1) {
            incrementIDCounter = true;
            e.setId(elementID.substring(0, indexOfToken) + iDCounter
                    + elementID.substring(indexOfToken + token.length()));
            convertedIDs.add(e.getId());
        } else if (e.getId() != "")
            convertedIDs.add(e.getId());
    }

    if (incrementIDCounter)
        iDCounter++;

    if (DOM.isOrHasChild(element, w.getElement()))
        DOM.removeChild(element, w.getElement());
    if (inFront)
        DOM.insertChild(element, w.getElement(), 0);
    else
        DOM.appendChild(element, w.getElement());

    return convertedIDs;
}

From source file:com.eduworks.gwt.client.pagebuilder.PageAssembler.java

License:Apache License

/** @Returns a list of IDs that get put into the template */
public static Vector<String> inject(String elementName, String token, com.google.gwt.dom.client.Element w,
        boolean inFront) {
    boolean incrementIDCounter = false;
    Vector<String> convertedIDs = new Vector<String>();
    Vector<com.google.gwt.dom.client.Element> nodeTree = new Vector<com.google.gwt.dom.client.Element>();
    String elementID;//ww  w  .  j  a  va 2  s  . c o m
    Element element = DOM.getElementById(elementName);
    com.google.gwt.dom.client.Element e;
    int indexOfToken = -1;

    nodeTree.add(w);

    while (nodeTree.size() > 0) {
        e = nodeTree.remove(0);
        for (int x = 0; x < e.getChildCount(); x++) {
            if (e.getChild(x).getNodeType() == Node.ELEMENT_NODE)
                nodeTree.add((Element) e.getChild(x));
        }
        elementID = e.getId();
        if (elementID != null)
            indexOfToken = elementID.indexOf(token);
        if (indexOfToken != -1) {
            incrementIDCounter = true;
            e.setId(elementID.substring(0, indexOfToken) + iDCounter
                    + elementID.substring(indexOfToken + token.length()));
            convertedIDs.add(e.getId());
        } else if (e.getId() != "")
            convertedIDs.add(e.getId());
    }

    if (incrementIDCounter)
        iDCounter++;

    if (element.isOrHasChild(w))
        element.removeChild(w);
    if (inFront)
        element.insertFirst(w);
    else
        element.appendChild(w);

    return convertedIDs;
}

From source file:com.eduworks.gwt.client.pagebuilder.PageAssembler.java

License:Apache License

public static Vector<String> merge(String elementName, String token, Element incomingE) {
    boolean incrementIDCounter = false;
    Vector<String> convertedIDs = new Vector<String>();
    Vector<Element> nodeTree = new Vector<Element>();
    String elementID;//from ww  w . j  a  va  2  s .com
    Element e;
    int indexOfToken = -1;

    nodeTree.add(incomingE);

    while (nodeTree.size() > 0) {
        e = nodeTree.remove(0);
        for (int x = 0; x < e.getChildCount(); x++) {
            if (e.getChild(x).getNodeType() == Node.ELEMENT_NODE)
                nodeTree.add((Element) e.getChild(x));
        }
        elementID = e.getId();
        if (elementID != null)
            indexOfToken = elementID.indexOf(token);
        if (indexOfToken != -1) {
            incrementIDCounter = true;
            e.setId(elementID.substring(0, indexOfToken) + iDCounter
                    + elementID.substring(indexOfToken + token.length()));
            convertedIDs.add(e.getId());
        } else if (e.getId() != "")
            convertedIDs.add(e.getId());
    }

    if (incrementIDCounter)
        iDCounter++;

    RootPanel.get(elementName).getElement().appendChild(incomingE);

    return convertedIDs;
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EPSSEditScreen.java

License:Apache License

/**
 * fillSectionNotes0 Retrieves section notes and search terms
 * @param elementId String/* w  ww  .ja v a 2  s.c om*/
 * @param sectionIndex int
 */
private void fillSectionNotes0(final String elementId, final int sectionIndex) {
    ((TextBox) PageAssembler.elementToWidget("inputSectionNotes", PageAssembler.TEXT)).setText("");
    ((TextBox) PageAssembler.elementToWidget("inputDevNotes", PageAssembler.TEXT)).setText("");
    String sectionPanel = "epssCurrentSection";
    Element currentSection = DOM.getElementById(sectionPanel);
    searchTerms = new Vector<String>();
    int elementCount = currentSection.getChildCount();
    for (int elementIndex = 0; elementIndex < elementCount; elementIndex++)
        currentSection.getChild(0).removeFromParent();
    mergeSection0(currentSection,
            (Element) new HTML(templates().getEPSSEditSectionWidgets().getText()).getElement());

    activeSection = DOM.getElementById(elementId).getInnerText();
    activeSectionId = elementId;
    PageAssembler.attachHandler("inputSectionNotes", Event.ONCHANGE, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            pfmNow.addSectionNotes(activeSection,
                    cleanString0(
                            ((TextBox) PageAssembler.elementToWidget("inputSectionNotes", PageAssembler.TEXT))
                                    .getText()));
            DOM.getElementById("epssUpdate").removeClassName("white");
            DOM.getElementById("epssUpdate").addClassName("blue");
            DOM.getElementById("r-save-alert").removeClassName("hide");
            DOM.getElementById(elementId).removeClassName("empty");
        }
    });

    PageAssembler.attachHandler("inputDevNotes", Event.ONCHANGE, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            Hidden activeAssetFilename = ((Hidden) PageAssembler.elementToWidget("epssActiveAddAsset",
                    PageAssembler.HIDDEN));
            activeAssetId = activeAssetFilename.getValue().substring(0,
                    activeAssetFilename.getValue().indexOf(","));
            activeFilename = activeAssetFilename.getValue()
                    .substring(activeAssetFilename.getValue().indexOf(",") + 1);
            pfmNow.addAsset(activeSection, activeAssetId, activeFilename, cleanString0(
                    ((TextBox) PageAssembler.elementToWidget("inputDevNotes", PageAssembler.TEXT)).getText()));
            DOM.getElementById("epssUpdate").removeClassName("white");
            DOM.getElementById("epssUpdate").addClassName("blue");
            DOM.getElementById("r-save-alert").removeClassName("hide");
            DOM.getElementById(elementId).removeClassName("empty");
        }
    });

    Element searchArea = DOM.getElementById("searchTerms");
    int termCount = searchArea.getChildCount();
    for (int termIndex = 0; termIndex < termCount; termIndex++)
        searchArea.removeChild(searchArea.getChild(0));
    String[] searchTerms = new ESBPacket(pfmNow.projectSections.get(sectionIndex).isObject())
            .getString(ProjectRecord.TEMPLATE_SECTION_TERMS).split(", ");
    for (int termsIndex = 0; termsIndex < searchTerms.length; termsIndex++)
        PageAssembler.merge("searchTerms", "x",
                (Element) new HTML("<a id=\"epssTerm" + (termsIndex + 1)
                        + "\" class=\"searchTerm small white button finger\">" + searchTerms[termsIndex]
                        + "</a>").getElement().getChild(0));
    DOM.getElementById("helptext-asset")
            .setInnerText(new ESBPacket(pfmNow.projectSections.get(sectionIndex).isObject())
                    .getString(ProjectRecord.TEMPLATE_SECTION_GUIDENCE));

    for (int termIndex = 1; termIndex <= searchTerms.length; termIndex++) {
        final int lockedTermIndex = termIndex;
        PageAssembler.attachHandler("epssTerm" + lockedTermIndex, Event.ONCLICK, new EventCallback() {
            @Override
            public void onEvent(Event event) {
                toggleSearchTerms0("epssTerm" + lockedTermIndex,
                        ((Anchor) PageAssembler.elementToWidget("epssTerm" + lockedTermIndex, PageAssembler.A))
                                .getText());
            }
        });
    }

    if (pfmNow.projectSectionNotes != null)
        ((TextBox) PageAssembler.elementToWidget("inputSectionNotes", PageAssembler.TEXT))
                .setText(pfmNow.projectSectionNotes.getSectionNotes(activeSection));

    if (pfmNow.projectSectionAssets != null) {
        Vector<RUSSELFileRecord> assets = pfmNow.projectSectionAssets.getSectionAssets(activeSection);
        for (int x = 0; x < assets.size(); x++) {
            buildAssetTile0(sectionPanel, assets.get(x).getGuid(), assets.get(x).getFilename());
        }
        PageAssembler.runCustomJSHooks();
    }
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EPSSScreen.java

License:Apache License

/**
 * fillSectionNotes0 Retrieves section notes and search terms
 * @param elementId String/*from  www.j a va  2s.com*/
 * @param sectionIndex int
 */
private void fillSectionNotes0(final String elementId, final int sectionIndex) {
    ((TextBox) PageAssembler.elementToWidget("inputSectionNotes", PageAssembler.TEXT)).setText("");
    ((TextBox) PageAssembler.elementToWidget("inputDevNotes", PageAssembler.TEXT)).setText("");
    String sectionPanel = "epssCurrentSection";
    Element currentSection = DOM.getElementById(sectionPanel);
    searchTerms = new Vector<String>();
    int elementCount = currentSection.getChildCount();
    for (int elementIndex = 0; elementIndex < elementCount; elementIndex++)
        currentSection.getChild(0).removeFromParent();
    mergeSection0(currentSection,
            (Element) new HTML(Russel.htmlTemplates.getEPSSEditSectionWidgets().getText()).getElement());

    activeSection = sectionIndex;

    PageAssembler.attachHandler("sectionTool2", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            generateQuery();
        }
    });

    PageAssembler.attachHandler("inputSectionNotes", Event.ONCHANGE, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            currentProject.setSectionNotes(activeSection,
                    ((TextBox) PageAssembler.elementToWidget("inputSectionNotes", PageAssembler.TEXT))
                            .getText());
            DOM.getElementById("epssUpdate").removeClassName("white");
            DOM.getElementById("epssUpdate").addClassName("blue");
            DOM.getElementById("r-save-alert").removeClassName("hide");
            DOM.getElementById(elementId).removeClassName("empty");
        }
    });

    PageAssembler.attachHandler("inputDevNotes", Event.ONCHANGE, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            currentProject.addAssetText(activeSection, activeAsset,
                    ((TextBox) PageAssembler.elementToWidget("inputDevNotes", PageAssembler.TEXT)).getText());
            DOM.getElementById("epssUpdate").removeClassName("white");
            DOM.getElementById("epssUpdate").addClassName("blue");
            DOM.getElementById("r-save-alert").removeClassName("hide");
            DOM.getElementById(elementId).removeClassName("empty");
        }
    });

    Element searchArea = DOM.getElementById("searchTerms");
    int termCount = searchArea.getChildCount();
    for (int termIndex = 0; termIndex < termCount; termIndex++)
        searchArea.removeChild(searchArea.getChild(0));
    DOM.getElementById("helptext-asset")
            .setInnerText(new ESBPacket(currentProject.getSections().get(sectionIndex).isObject())
                    .getString(ProjectRecord.TEMPLATE_SECTION_GUIDENCE));

    JSONObject jo = currentProject.getAssets();
    for (String key : currentProject.getSectionAssets().get(activeSection).isObject().keySet()) {
        RUSSELFileRecord r = new RUSSELFileRecord(new ESBPacket(jo.get(key).isObject()));
        Element td = DOM.createTD();
        int prefix = DOM.getElementById("epssCurrentSection").getChildCount() - 2;
        PageAssembler.merge("epssCurrentSection", "x", td);
        td.setId(prefix + "-assetNote");
        assetSearchHandler.buildTile(r, SearchHandler.TYPE_PROJECT_ASSET, td.getId()).fillTile(null);
    }

    //      String[] searchTerms = new ESBPacket(pfmNow.projectSections.get(sectionIndex).isObject()).getString(ProjectRecord.TEMPLATE_SECTION_TERMS).split(", ");
    //      for (int termsIndex=0;termsIndex<searchTerms.length;termsIndex++)
    //         PageAssembler.merge("searchTerms", 
    //                        "x", 
    //                        (Element)new HTML("<a id=\"epssTerm" + (termsIndex+1) + "\" class=\"searchTerm small white button finger\">" + 
    //                              searchTerms[termsIndex] + "</a>").getElement().getChild(0));

    //      for (int termIndex=1;termIndex<=searchTerms.length;termIndex++) {
    //         final int lockedTermIndex = termIndex;
    //         PageAssembler.attachHandler("epssTerm" + lockedTermIndex, 
    //                              Event.ONCLICK, 
    //                              new EventCallback() {
    //                                 @Override
    //                                 public void onEvent(Event event) {
    //                                    toggleSearchTerms0("epssTerm" + lockedTermIndex, 
    //                                                  ((Anchor)PageAssembler.elementToWidget("epssTerm" + lockedTermIndex, PageAssembler.A)).getText());
    //                                 }
    //                              });   
    //      }

    ((TextBox) PageAssembler.elementToWidget("inputSectionNotes", PageAssembler.TEXT))
            .setText(currentProject.getSectionNotes().get(activeSection).isString().stringValue());
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.GroupScreen.java

License:Apache License

private void deleteGroup(final String groupname) {
    final StatusRecord sr = StatusHandler.createMessage(StatusHandler.getDeleteGroupBusy(groupname),
            StatusRecord.STATUS_BUSY);/*  ww  w.  j a v a2 s . co m*/
    RusselApi.removeGroup(groupname, new ESBCallback<ESBPacket>() {
        @Override
        public void onFailure(Throwable caught) {
            sr.setMessage(StatusHandler.getDeleteGroupError(groupname));
            sr.setState(StatusRecord.STATUS_ERROR);
            StatusHandler.alterMessage(sr);
        }

        @Override
        public void onSuccess(ESBPacket esbPacket) {
            Element e = DOM.getElementById("groupSelect");
            Element a = null;
            for (int i = 0; i < e.getChildCount(); i++) {
                Node n = e.getChild(i);
                if (n instanceof Element) {
                    if (((Element) n).getPropertyString("value").equals(groupname))
                        a = (Element) n;
                }
            }
            if (a != null) {
                a.removeFromParent();
                DOM.getElementById("memberUserSelect").removeAllChildren();
                DOM.getElementById("memberGroupSelect").removeAllChildren();
                DOM.getElementById("userList").removeAllChildren();
                DOM.getElementById("groupList").removeAllChildren();
            }
            sr.setMessage(StatusHandler.getDeleteGroupDone(groupname));
            sr.setState(StatusRecord.STATUS_DONE);
            StatusHandler.alterMessage(sr);
        }
    });
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.UserScreen.java

License:Apache License

private void deleteUser(final String username) {
    final StatusRecord sr = StatusHandler.createMessage(StatusHandler.getDeleteUserBusy(username),
            StatusRecord.STATUS_BUSY);/*from  w w  w .j  a  v  a2 s  .  c o m*/
    RusselApi.deleteUser(username, new ESBCallback<ESBPacket>() {
        @Override
        public void onFailure(Throwable caught) {
            sr.setMessage(StatusHandler.getDeleteUserError(username));
            sr.setState(StatusRecord.STATUS_ERROR);
            StatusHandler.alterMessage(sr);
        }

        @Override
        public void onSuccess(ESBPacket esbPacket) {
            Element e = DOM.getElementById("userList");
            Element a = null;
            for (int i = 0; i < e.getChildCount(); i++) {
                Node n = e.getChild(i);
                if (n instanceof Element) {
                    if (((Element) n).getPropertyString("value").equals(username))
                        a = (Element) n;
                }
            }
            if (a != null) {
                a.removeFromParent();
                DOM.getElementById("memberUserSelect").removeAllChildren();
                DOM.getElementById("memberGroupSelect").removeAllChildren();
                DOM.getElementById("userList").removeAllChildren();
                DOM.getElementById("groupList").removeAllChildren();
            }
            sr.setMessage(StatusHandler.getDeleteUserDone(username));
            sr.setState(StatusRecord.STATUS_DONE);
            StatusHandler.alterMessage(sr);
        }
    });
}

From source file:com.haulmont.cuba.web.widgets.client.addons.dragdroplayouts.ui.verticalsplitpanel.VDDVerticalSplitPanel.java

License:Apache License

@Override
protected void constructDom() {
    super.constructDom();

    // Save references
    Element wrapper = getElement().getChild(0).cast();
    firstContainer = wrapper.getChild(0).cast();
    splitter = wrapper.getChild(1).cast();
    secondContainer = wrapper.getChild(2).cast();
}

From source file:fi.jasoft.dragdroplayouts.client.ui.VDDHorizontalSplitPanel.java

License:Apache License

@Override
protected void constructDom() {
    super.constructDom();

    // Save references
    Element wrapper = getElement().getChild(0).cast();
    secondContainer = wrapper.getChild(0).cast();
    firstContainer = wrapper.getChild(1).cast();
    splitter = wrapper.getChild(2).cast();
}