List of usage examples for com.google.gwt.dom.client NodeList getItem
public T getItem(int index)
From source file:com.sciencegadgets.client.algebra.ConstantRandomizer.java
License:Open Source License
public static HashMap<Parameter, String> insertRandomProvided(HashMap<Parameter, String> parameterMap) { String randomProvidedString = parameterMap.get(Parameter.randomprovided); if (randomProvidedString == null || "".equals(randomProvidedString)) { return parameterMap; }/* w ww .j a v a2 s . c om*/ String[] randomProvidedArray = randomProvidedString.split(URLParameters.RANDOM_PROVIDED_DELIMITER); String equationString = parameterMap.get(Parameter.equation); Element equationXML = new HTML(equationString).getElement().getFirstChildElement(); NodeList<Element> numberNodes = equationXML.getElementsByTagName(TypeSGET.Number.getTag()); LinkedList<Element> nodesExpectingProvidedNumber = new LinkedList<Element>(); for (int i = 0; i < numberNodes.getLength(); i++) { Element num = numberNodes.getItem(i); String randomness = num.getAttribute(MathAttribute.Randomness.getAttributeName()); if (randomness.contains(RandomSpecPanel.RANDOM_PROVIDED)) { nodesExpectingProvidedNumber.add(num); } } if (randomProvidedArray.length == nodesExpectingProvidedNumber.size()) { for (int i = 0; i < nodesExpectingProvidedNumber.size(); i++) { Element expecting = nodesExpectingProvidedNumber.get(i); String provided = randomProvidedArray[i]; expecting.setInnerText(provided); expecting.removeAttribute(MathAttribute.Randomness.getAttributeName()); } parameterMap.remove(Parameter.randomprovided); parameterMap.put(Parameter.equation, JSNICalls.elementToString(equationXML)); } else { String nodeAvailableList = ""; for (Element nodeAvailable : nodesExpectingProvidedNumber) { nodeAvailableList = nodeAvailableList + "\n" + JSNICalls.elementToString(nodeAvailable); } JSNICalls.error("Random numbers provided don't match the spots available:\n" + randomProvidedArray.length + " provided: " + randomProvidedString + "\n" + nodesExpectingProvidedNumber.size() + " available: " + nodeAvailableList); } return parameterMap; }
From source file:com.sciencegadgets.client.algebra.edit.LinkPrompt_Equation.java
License:Open Source License
protected void updateLinks(HashMap<Parameter, String> pMap) { // Replaces link text with equation HTML if (initialEquation == null) { html = algebraActivity.getEquationTree().getDisplayClone(); } else {/*w ww .j a va 2 s .c o m*/ html = initialEquation.getDisplayClone(); } // linkDisplay.setHTML(html.getHTML()); NodeList<Element> allEl = html.getElement().getElementsByTagName("*"); for (int i = 0; i < allEl.getLength(); i++) { Element el = allEl.getItem(i); el.removeAttribute("id"); } Element styleLink = new HTML("<link type=\"text/css\" rel=\"stylesheet\" href=\"" + URLParameters.URL_TOP + "/CSStyles/equation.css\"></link>").getElement(); styleLink.appendChild(html.getElement()); Element linkEl = linkDisplay.getElement(); linkEl.removeAllChildren(); linkEl.appendChild(styleLink); iframeDisplay.setName("InteractiveEquation"); iframeDisplay.setFrameBorder(0); super.updateLinks(pMap); }
From source file:com.sciencegadgets.client.algebra.EquationHTML.java
License:Open Source License
private void addChildrenIfInline(Element curEl, LinkedList<Element> childrenInline, TypeSGET curType) { switch (curType) { case Exponential: // Only the base of an exponent is considered inline childrenInline.add((Element) curEl.getChild(0)); break;/* w w w . ja v a 2 s. com*/ case Fraction: break; case Equation: case Sum: case Term: case Trig: case Log: NodeList<Node> children = curEl.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { childrenInline.add((Element) children.getItem(i)); } break; } }
From source file:com.sciencegadgets.client.algebra.EquationTree.java
License:Open Source License
public void setDisplay(EquationHTML equationHTML) { for (Wrapper w : wrappers) { if (w instanceof EditWrapper) { ((EditWrapper) w).onUnload(); } else if (w instanceof AlgebaWrapper) { ((AlgebaWrapper) w).onUnload(); }/*ww w . ja va 2 s. com*/ w.getElement().removeFromParent(); } wrappers.clear(); idHTMLMap.clear(); this.eqHTML = equationHTML; NodeList<Element> allElements = eqHTML.getElement().getElementsByTagName("*"); for (int i = 0; i < allElements.getLength(); i++) { Element el = (Element) allElements.getItem(i); String elId = el.getAttribute(MathAttribute.ID.getAttributeName()); if (elId.contains(UnitHTML.UNIT_NODE_DELIMITER)) { String parentElId = elId.split(UnitHTML.UNIT_NODE_DELIMITER)[1]; idUnitHTMLMap.put(el, parentElId); } else { idHTMLMap.put(elId, el); } el.removeAttribute(MathAttribute.ID.getAttributeName()); } }
From source file:com.sciencegadgets.client.algebra.EquationTree.java
License:Open Source License
public EquationNode newNode(Element xmlNode) { EquationNode newNode = new EquationNode(xmlNode); addToMaps(newNode);/* w w w . java 2 s . c o m*/ NodeList<Element> descendants = xmlNode.getElementsByTagName("*"); for (int i = 0; i < descendants.getLength(); i++) { Element descendantEl = descendants.getItem(i); addToMaps(new EquationNode(descendantEl)); } return newNode; }
From source file:com.sciencegadgets.client.algebra.EquationTree.java
License:Open Source License
/** * Gets all nodes in the parent by specified type.</br>Use type == null for * all nodes within this node.</br>Use {@link #getNodesByType(TypeSGET type)} * for all nodes by type.</br>Use {@link #getNodes()} for all nodes in the * tree including the root/* w w w.j a va2 s . com*/ * * @param type */ public LinkedList<EquationNode> getNodesByType(TypeSGET type, EquationNode parent) { LinkedList<EquationNode> nodes = new LinkedList<EquationNode>(); String tag = "*"; if (type != null) { tag = type.getTag(); } NodeList<Element> elements = parent.getXMLNode().getElementsByTagName(tag); for (int i = 0; i < elements.getLength(); i++) { String id = elements.getItem(i).getAttribute(MathAttribute.ID.getAttributeName()); nodes.add(idMap.get(id)); } return nodes; }
From source file:com.sciencegadgets.client.algebra.EquationTree.java
License:Open Source License
private EquationNode bindXMLtoNodeRecursive(Element equationXMLNode) { EquationNode eqNode = new EquationNode(equationXMLNode); String id = eqNode.getId();// ww w. j a v a 2 s . c o m idMap.put(id, eqNode); idMLMap.put(id, equationXMLNode); NodeList<Node> equationXMLNodeChildren = equationXMLNode.getChildNodes(); for (int i = 0; i < equationXMLNodeChildren.getLength(); i++) { Element currentNode = (Element) equationXMLNodeChildren.getItem(i); if (currentNode.getNodeType() == Node.ELEMENT_NODE) { bindXMLtoNodeRecursive((Element) currentNode); } } return eqNode; }
From source file:com.sciencegadgets.client.conversion.ConversionActivity.java
License:Open Source License
public void reloadEquation() { // Make and add entire equation before moving left dimensionalAnalysisArea.clear();/*www .j a v a2 s. c om*/ EquationHTML eqHTML = mTree.reloadDisplay(false, false); // Unit font wrapperArea.addStyleName(CSS.UNIT); NodeList<Element> elements = eqHTML.getElement().getElementsByTagName("*"); for (int i = 0; i < elements.getLength(); i++) { elements.getItem(i).addClassName(CSS.UNIT); } // Recreate wrappers placeWrappers(); // Place entire equation in history area first eqHTML.autoFillParent = true; dimensionalAnalysisArea.add(eqHTML); // No need for equals sign mTree.getEquals().getHTML(true, true).removeFromParent(); // Move left side of equation into wrapper area Element newWorkingHTML = mTree.getLeftSide().getHTML(false, false); if (workingHTML == null) { wrapperArea.getElement().appendChild(newWorkingHTML); } else { wrapperArea.getElement().replaceChild(newWorkingHTML, workingHTML); } workingHTML = newWorkingHTML; // Resize working area double widthRatio = (double) wrapperArea.getOffsetWidth() / workingHTML.getOffsetWidth(); double heightRatio = (double) wrapperArea.getOffsetHeight() / workingHTML.getOffsetHeight(); double smallerRatio = (widthRatio > heightRatio) ? heightRatio : widthRatio; double fontPercent = smallerRatio * 95;// *95 for looser fit workingHTML.getStyle().setFontSize(fontPercent, com.google.gwt.dom.client.Style.Unit.PCT); // HashMap<Parameter, String> parameterMap = new HashMap<Parameter, // String>(); // parameterMap // .put(Parameter.activity, ActivityType.conversion.toString()); // parameterMap.put(Parameter.equation, mTree.getMathXMLString()); // URLParameters.setParameters(parameterMap, false); }
From source file:com.seanchenxi.gwt.serenity.client.SerenityUtil.java
License:Apache License
public static String getWpNaming() { Element el = Document.get().getElementsByTagName(HeadElement.TAG).getItem(0); NodeList<Element> els = el.getElementsByTagName(MetaElement.TAG); for (int i = 0; i < els.getLength(); i++) { if (SerenityResources.GENERATOR.equalsIgnoreCase(els.getItem(i).getAttribute(SerenityResources.NAME))) { return els.getItem(i).getAttribute(SerenityResources.CONTENT); }//from w ww . jav a 2s. c om } return SerenityResources.MSG.wordpress_Name(); }
From source file:com.seanchenxi.gwt.serenity.client.SerenityUtil.java
License:Apache License
public static String getWpBaseUrl() { Element el = Document.get().getElementsByTagName(HeadElement.TAG).getItem(0); NodeList<Element> els = el.getElementsByTagName(MetaElement.TAG); for (int i = 0; i < els.getLength(); i++) { if (SerenityResources.URL.equalsIgnoreCase(els.getItem(i).getAttribute(SerenityResources.NAME))) { return els.getItem(i).getAttribute(SerenityResources.CONTENT); }/*ww w . j a v a 2 s. c o m*/ } return StringPool.SLASH; }