Bug 489096 - HTML5 support
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java
index bf10152..c4d03ee 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/VisualizeEngine.java
@@ -378,7 +378,6 @@
for(int j = 0; j < tmpNL2.getLength(); j++){
Element e2 = (Element) tmpNL2.item(j);
String id = e2.getAttribute("id");
- System.out.println(listS+" : "+id);
if(id!=null && id.equals(listS)){
Node tmpN = mapData.getResultNode(e2);
if(tmpN!=null && tmpN instanceof Element){
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java
index 96e1dbe..7145fdd 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/NodeInfoCreator.java
@@ -85,11 +85,15 @@
return true;
} else if (tagName.equals("input")) {
String type = el.getAttribute("type").toLowerCase();
- if ((type.length() == 0) | type.equals("text") | type.equals("textarea") | type.equals("radio")
- | type.equals("checkbox")) {
+ if (type.equals("submit") || type.equals("reset") || type.equals("hidden") || type.equals("image")) {
+ //TODO update by using techniques (only hidden state is not labelable in HTML5)
+ return false;
+ } else {
return true;
}
}
+ //TODO update by using techniques
+ //keygen, meter, output, progress
return false;
}
@@ -227,10 +231,10 @@
} else if (nodeName.equals("label")) {
info.setLabel(true);
info.appendComment("Label for '" + ((Element) curNode).getAttribute("for") + "'. ");
- } else if (nodeName.contains("caption")){
+ } else if (nodeName.contains("caption")) {
info.setCaption(true);
info.appendComment(curNode.getNodeName());
- } else if (nodeName.equals("mark")){
+ } else if (nodeName.equals("mark")) {
info.appendComment("mark");
}
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java
index dcc9928..d2e8b4d 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/internal/engines/blind/html/util/VisualizeColorUtil.java
@@ -143,16 +143,16 @@
String inputRGB = getRGBString(param.inputTagsColor, "#FF9900");
String captionRGB = getRGBString(param.captionColor, "#FFFF80");
- if (param.bColorizeTags && (info.isHeading() | info.isTableHeader() | info.isLabel()
- | info.isIdRequiredInput() | info.isCaption())) {
+ if (param.bColorizeTags && (info.isHeading() || info.isTableHeader() || info.isLabel()
+ || info.isIdRequiredInput() || info.isCaption())) {
if (info.isHeading()) {
strRGB = headingRGB;
} else if (info.isTableHeader()) {
strRGB = thRGB;
- } else if (info.isLabel()) {
- strRGB = labelRGB;
} else if (info.isIdRequiredInput()) {
strRGB = inputRGB;
+ } else if (info.isLabel()) {
+ strRGB = labelRGB;
} else if (info.isCaption()) {
strRGB = captionRGB;
}
@@ -177,7 +177,7 @@
}
if (param.bVisualizeTime == true) {
- if ("mark".equals(el.getTagName())||HtmlTagUtil.hasAncestor(el, "mark")) {
+ if ("mark".equals(el.getTagName()) || HtmlTagUtil.hasAncestor(el, "mark")) {
el.setAttribute("style", "color: black; background-image: none;");
} else {
el.setAttribute("style", "color: black; background-image: none; background-color: #"
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/DomUtil.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/DomUtil.java
index 2ff4be5..cdad86e 100644
--- a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/DomUtil.java
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/DomUtil.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -34,6 +34,7 @@
/**
* Method recursiveWalk.
+ *
* @param node
* @param num
*/
@@ -41,9 +42,7 @@
getNodeInfo(node, num);
tab++;
cnt = 0;
- for (Node child = node.getFirstChild();
- child != null;
- child = child.getNextSibling(), cnt++) {
+ for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling(), cnt++) {
recursiveWalk(child, cnt);
}
tab--;
@@ -51,6 +50,7 @@
/**
* Method getString.
+ *
* @param node
* @return String
*/
@@ -64,6 +64,7 @@
/**
* Method getNodeInfo.
+ *
* @param node
* @param num
*/
@@ -82,12 +83,10 @@
str += ">";
System.out.println(str);
} else {
- System.out.println(
- "<" + nodeName + ":" + node.getNodeValue() + ">");
+ System.out.println("<" + nodeName + ":" + node.getNodeValue() + ">");
}
} else {
- System.out.println(
- "<" + nodeName + ":" + node.getNodeValue() + ">");
+ System.out.println("<" + nodeName + ":" + node.getNodeValue() + ">");
}
}
@@ -102,13 +101,13 @@
/**
* Method isNameAttr.
+ *
* @param node
* @return boolean
*/
public static boolean isNameAttr(Node node) {
if (node != null) {
- if (node.getNodeType() == Node.ELEMENT_NODE
- && node.getNodeName().toLowerCase().equals("a")) {
+ if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().toLowerCase().equals("a")) {
NamedNodeMap attrs = node.getAttributes();
Node altNode = attrs.getNamedItem("name");
if (altNode != null)
@@ -120,6 +119,7 @@
/**
* Method dumpPC.
+ *
* @param pc
*/
public static void dumpPC(PacketCollection pc) {
@@ -136,6 +136,7 @@
/**
* Method setFormList.
+ *
* @param node
*/
public static void setFormList(Node node) {
@@ -146,6 +147,7 @@
/**
* Method getFormNum.
+ *
* @param element
* @return int
*/
@@ -160,4 +162,47 @@
}
return 0;
}
+
+ /**
+ * Get ancestor node whose name is specified target name
+ *
+ * @param target
+ * target {@link Node}
+ * @param ancestorName
+ * target ancestor tag name
+ * @return target ancestor {@link Node} or null
+ */
+ public static Node getAncestor(Node target, String ancestorName) {
+ Node tmpNode = target;
+ while (tmpNode != null) {
+ if (tmpNode.getNodeName().equals(ancestorName)) {
+ return tmpNode;
+ }
+ tmpNode = tmpNode.getParentNode();
+ }
+ return null;
+ }
+
+
+
+ public static boolean isDisabled(Element target){
+ if(target.hasAttribute("disabled")){
+ String disabled = target.getAttribute("disabled");
+ if (!"false".equals(disabled)) {
+ return true;
+ }
+ }
+ Node tmpN = DomUtil.getAncestor(target, "fieldset");
+ if (null != tmpN && tmpN instanceof Element) {
+ Element fieldset = (Element) tmpN;
+ if (fieldset.hasAttribute("disabled")) {
+ String disabled = ((Element) fieldset).getAttribute("disabled");
+ if (!"false".equals(disabled)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
}
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/JWATCore.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/JWATCore.java
index a8176f4..5a4cf19 100644
--- a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/JWATCore.java
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/JWATCore.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -240,6 +240,7 @@
elementMap.put("form", new StaticFORMRenderer());
elementMap.put("select", new StaticSELECTRenderer());
elementMap.put("input", new StaticINPUTRenderer());
+ elementMap.put("button", new StaticBUTTONRenderer());
elementMap.put("br", new StaticBRRenderer());
elementMap.put("table", new StaticTABLERenderer());
elementMap.put("area", new StaticAREARenderer());
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticBUTTONRenderer.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticBUTTONRenderer.java
new file mode 100644
index 0000000..43b242d
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticBUTTONRenderer.java
@@ -0,0 +1,188 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Masahide WASHIZAWA - initial API and implementation
+ * Kentarou Fukuda - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.actf.visualization.internal.engines.voicebrowser;
+
+import org.eclipse.actf.visualization.engines.voicebrowser.IVoiceBrowserController;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+@SuppressWarnings("nls")
+public class StaticBUTTONRenderer implements IElementRenderer {
+
+ /**
+ * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionIn(Element,
+ * Context)
+ */
+ // @SuppressWarnings("nls")
+ public PacketCollection getPacketCollectionIn(Element element, Context curContext, String url,
+ MessageCollection mc) {
+ try {
+ setContextIn(element, curContext);
+ NamedNodeMap attrs = element.getAttributes();
+
+ String type = null, result = null;
+ Node typeNode = attrs.getNamedItem("type");
+ if (typeNode != null) {
+ type = typeNode.getNodeValue();
+ if (type.length() > 0) {
+ if (type.equals("submit")) {
+ result = inputTypeSubmit(element, attrs, mc, url);
+ } else if (type.equals("reset")) {
+ result = inputTypeReset(element, attrs, mc, url);
+ } else if (type.equals("button")) {
+ result = inputTypeButton(element, attrs, mc, url);
+ }
+ // other??
+ }
+ } else {
+ result = inputTypeButton(element, attrs, mc, url);
+ }
+ if (OutLoud.jwat_mode == IVoiceBrowserController.SCREEN_READER_MODE) {
+ curContext.setLineDelimiter(true);
+ curContext.setStartSelect(true);
+ }
+ if (result != null) {
+ result = result.trim();
+
+ if (DomUtil.isDisabled(element)) {
+ result = "(disabled)" + result;
+ }
+
+ return new PacketCollection(new Packet(element, result, curContext, true));
+ } else {
+ return null;
+ }
+ } catch (NullPointerException npe) {
+ return null;
+ }
+ }
+
+ /**
+ * Method inputTypeSubmit.
+ *
+ * @param nodeName
+ * @param attrs
+ * @param mc
+ * @return String
+ */
+ private String inputTypeSubmit(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = null;
+ String value = null;
+ Node valueNode = attrs.getNamedItem("VALUE");
+ if (valueNode != null)
+ value = valueNode.getNodeValue();
+ if (value != null && value.length() > 0) {
+ result = OutLoud.buildResultString(mc, url, element, "submit", "hasstr", "name=str1", value);
+ if (result == null)
+ result = "[" + value + ": Submit button.]";
+ } else {
+ result = OutLoud.buildResultString(mc, url, element, "submit", "nostr");
+ if (result == null)
+ result = "[Submit button.]";
+ }
+ return result;
+ }
+
+ /**
+ * Method inputTypeReset.
+ *
+ * @param nodeName
+ * @param attrs
+ * @param mc
+ * @return String
+ */
+ private String inputTypeReset(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = null;
+ String value = null;
+ Node valueNode = attrs.getNamedItem("VALUE");
+ if (valueNode != null)
+ value = valueNode.getNodeValue();
+ if (value != null && value.length() > 0) {
+ result = OutLoud.buildResultString(mc, url, element, "reset", "hasstr", "name=str1", value);
+ if (result == null)
+ result = "[" + value + ": Reset button.]";
+ } else {
+ result = OutLoud.buildResultString(mc, url, element, "reset", "nostr");
+ if (result == null)
+ result = "[Reset button.]";
+ }
+ return result;
+ }
+
+ /**
+ * Method inputTypeButton.
+ *
+ * @param nodeName
+ * @param attrs
+ * @param mc
+ * @return String
+ */
+ private String inputTypeButton(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = null;
+ String value = null;
+ Node valueNode = attrs.getNamedItem("VALUE");
+ if (valueNode != null)
+ value = valueNode.getNodeValue();
+ if (value != null && value.length() > 0) {
+ result = OutLoud.buildResultString(mc, url, element, "button", "hasstr", "name=str1", value);
+ if (result == null)
+ result = "[" + value + ": Button.]";
+ } else {
+ result = OutLoud.buildResultString(mc, url, element, "button", "nostr");
+ if (result == null)
+ result = "[Button.]";
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionOut(Element,
+ * Context)
+ */
+ public PacketCollection getPacketCollectionOut(Element element, Context curContext, String url,
+ MessageCollection mc) {
+ setContextOut(element, curContext);
+ return null;
+ }
+
+ /**
+ * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#setContextIn(Context)
+ */
+ public void setContextIn(Element element, Context curContext) {
+ curContext.setGoChild(true);
+ /*
+ * try { NamedNodeMap attrs = element.getAttributes();
+ *
+ * String type = null; Node typeNode = attrs.getNamedItem("type");
+ * //$NON-NLS-1$ if (typeNode != null) { type = typeNode.getNodeValue();
+ * if (type.length() > 0) { if (type.equals("submit") ||
+ * type.equals("reset")) { //$NON-NLS-1$ //$NON-NLS-2$
+ * curContext.setLineDelimiter(true); } else {
+ * curContext.setLineDelimiter(false); } } else {
+ * curContext.setLineDelimiter(false); } } else {
+ * curContext.setLineDelimiter(false); } } catch (NullPointerException
+ * npe) { npe.printStackTrace(); }
+ */
+ curContext.setLineDelimiter(false);
+ curContext.setLinkTag(true);
+ }
+
+ /**
+ * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#setContextOut(Context)
+ */
+ public void setContextOut(Element element, Context curContext) {
+ curContext.setGoChild(true);
+ curContext.setLineDelimiter(true);
+ curContext.setLinkTag(false);
+ }
+}
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticINPUTRenderer.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticINPUTRenderer.java
index 2aec773..cd25f46 100644
--- a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticINPUTRenderer.java
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticINPUTRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,9 +22,9 @@
* @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionIn(Element,
* Context)
*/
- //@SuppressWarnings("nls")
- public PacketCollection getPacketCollectionIn(Element element,
- Context curContext, String url, MessageCollection mc) {
+ // @SuppressWarnings("nls")
+ public PacketCollection getPacketCollectionIn(Element element, Context curContext, String url,
+ MessageCollection mc) {
try {
setContextIn(element, curContext);
NamedNodeMap attrs = element.getAttributes();
@@ -54,7 +54,17 @@
result = inputTypeFile(element, attrs, mc, url);
} else if (type.equals("hidden")) {
result = inputTypeHidden(element, attrs, mc, url);
+ } else if (type.equals("range")) {
+ result = inputTypeRange(element, attrs, mc, url);
+ } else if (type.equals("tel") || type.equals("search") || type.equals("url") || type.equals("email")
+ || type.equals("number")) {
+ // temp for (supported) tel, search, url, email, number,
+ result = inputTypeOther(element, attrs, mc, url, type);
+ } else if (type.equals("date") || type.equals("time") || type.equals("color")) {
+ // temp for (not supported) date, time, color
+ result = inputTypeText(element, attrs, mc, url);
}
+ // other??
}
} else {
result = inputTypeText(element, attrs, mc, url);
@@ -65,8 +75,12 @@
}
if (result != null) {
result = result.trim();
- return new PacketCollection(new Packet(element, result,
- curContext, true));
+
+ if(DomUtil.isDisabled(element)){
+ result = "(disabled)"+result;
+ }
+
+ return new PacketCollection(new Packet(element, result, curContext, true));
} else {
return null;
}
@@ -83,16 +97,14 @@
* @param mc
* @return String
*/
- private String inputTypeImage(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeImage(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
String result = null;
String value = null;
Node valueNode = attrs.getNamedItem("alt");
if (valueNode != null) {
value = valueNode.getNodeValue();
if (value != null && value.length() > 0) {
- result = OutLoud.buildResultString(mc, url, element, "image",
- "hasstr", "name=str1", value);
+ result = OutLoud.buildResultString(mc, url, element, "image", "hasstr", "name=str1", value);
if (result == null)
result = "[" + value + ": Image button.]";
}
@@ -116,13 +128,11 @@
}
}
if (value != null && value.length() > 0) {
- result = OutLoud.buildResultString(mc, url, element, "image",
- "hasstr", "name=str", value);
+ result = OutLoud.buildResultString(mc, url, element, "image", "hasstr", "name=str", value);
if (result == null)
result = "[" + value + ": Image button.]";
} else {
- result = OutLoud.buildResultString(mc, url, element, "image",
- "nostr");
+ result = OutLoud.buildResultString(mc, url, element, "image", "nostr");
if (result == null)
result = "[Image button.]";
}
@@ -138,16 +148,31 @@
* @param mc
* @return String
*/
- private String inputTypeText(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
- String result = OutLoud.buildResultString(mc, url, element, "text",
- null);
+ private String inputTypeText(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = OutLoud.buildResultString(mc, url, element, "text", null);
if (result == null)
result = "[Text.]";
return result;
}
/**
+ * Method inputTypeOther.
+ *
+ * @param nodeName
+ * @param attrs
+ * @param mc
+ * @return String
+ */
+ private String inputTypeOther(Element element, NamedNodeMap attrs, MessageCollection mc, String url, String type) {
+ // String result = OutLoud.buildResultString(mc, url, element, "text",
+ // null);
+ String result = null;
+ if (result == null)
+ result = "[" + type + ".]";
+ return result;
+ }
+
+ /**
* Method inputTypeSubmit.
*
* @param nodeName
@@ -155,21 +180,18 @@
* @param mc
* @return String
*/
- private String inputTypeSubmit(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeSubmit(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
String result = null;
String value = null;
Node valueNode = attrs.getNamedItem("VALUE");
if (valueNode != null)
value = valueNode.getNodeValue();
if (value != null && value.length() > 0) {
- result = OutLoud.buildResultString(mc, url, element, "submit",
- "hasstr", "name=str1", value);
+ result = OutLoud.buildResultString(mc, url, element, "submit", "hasstr", "name=str1", value);
if (result == null)
result = "[" + value + ": Submit button.]";
} else {
- result = OutLoud.buildResultString(mc, url, element, "submit",
- "nostr");
+ result = OutLoud.buildResultString(mc, url, element, "submit", "nostr");
if (result == null)
result = "[Submit button.]";
}
@@ -184,21 +206,18 @@
* @param mc
* @return String
*/
- private String inputTypeReset(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeReset(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
String result = null;
String value = null;
Node valueNode = attrs.getNamedItem("VALUE");
if (valueNode != null)
value = valueNode.getNodeValue();
if (value != null && value.length() > 0) {
- result = OutLoud.buildResultString(mc, url, element, "reset",
- "hasstr", "name=str1", value);
+ result = OutLoud.buildResultString(mc, url, element, "reset", "hasstr", "name=str1", value);
if (result == null)
result = "[" + value + ": Reset button.]";
} else {
- result = OutLoud.buildResultString(mc, url, element, "reset",
- "nostr");
+ result = OutLoud.buildResultString(mc, url, element, "reset", "nostr");
if (result == null)
result = "[Reset button.]";
}
@@ -213,21 +232,18 @@
* @param mc
* @return String
*/
- private String inputTypeButton(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeButton(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
String result = null;
String value = null;
Node valueNode = attrs.getNamedItem("VALUE");
if (valueNode != null)
value = valueNode.getNodeValue();
if (value != null && value.length() > 0) {
- result = OutLoud.buildResultString(mc, url, element, "button",
- "hasstr", "name=str1", value);
+ result = OutLoud.buildResultString(mc, url, element, "button", "hasstr", "name=str1", value);
if (result == null)
result = "[" + value + ": Button.]";
} else {
- result = OutLoud.buildResultString(mc, url, element, "button",
- "nostr");
+ result = OutLoud.buildResultString(mc, url, element, "button", "nostr");
if (result == null)
result = "[Button.]";
}
@@ -242,10 +258,8 @@
* @param mc
* @return String
*/
- private String inputTypePassword(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
- String result = OutLoud.buildResultString(mc, url, element, "password",
- null);
+ private String inputTypePassword(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = OutLoud.buildResultString(mc, url, element, "password", null);
if (result == null)
result = "[Password.]";
return result;
@@ -259,18 +273,15 @@
* @param mc
* @return String
*/
- private String inputTypeCheckbox(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeCheckbox(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
String result = null;
Node cnode = attrs.getNamedItem("checked");
if (cnode == null) {
- result = OutLoud.buildResultString(mc, url, element, "checkbox",
- "off");
+ result = OutLoud.buildResultString(mc, url, element, "checkbox", "off");
if (result == null)
result = "[Not Checked.]";
} else {
- result = OutLoud.buildResultString(mc, url, element, "checkbox",
- "on");
+ result = OutLoud.buildResultString(mc, url, element, "checkbox", "on");
if (result == null)
result = "[Checked.]";
}
@@ -285,13 +296,11 @@
* @param mc
* @return String
*/
- private String inputTypeRadio(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeRadio(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
String result = null;
Node cnode = attrs.getNamedItem("checked");
if (cnode == null) {
- result = OutLoud
- .buildResultString(mc, url, element, "radio", "off");
+ result = OutLoud.buildResultString(mc, url, element, "radio", "off");
if (result == null)
result = "[Not Pressed.]";
} else {
@@ -310,10 +319,8 @@
* @param mc
* @return String
*/
- private String inputTypeFile(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
- String result = OutLoud.buildResultString(mc, url, element, "file",
- null);
+ private String inputTypeFile(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = OutLoud.buildResultString(mc, url, element, "file", null);
if (result == null)
result = "[Browse button.]";
return result;
@@ -327,17 +334,44 @@
* @param mc
* @return String
*/
- private String inputTypeHidden(Element element, NamedNodeMap attrs,
- MessageCollection mc, String url) {
+ private String inputTypeHidden(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
return null;
}
/**
+ * Method inputTypeRange.
+ *
+ * @param nodeName
+ * @param attrs
+ * @param mc
+ * @return String
+ */
+ private String inputTypeRange(Element element, NamedNodeMap attrs, MessageCollection mc, String url) {
+ String result = null;
+ String value = null;
+ Node valueNode = attrs.getNamedItem("VALUE");
+ if (valueNode != null)
+ value = valueNode.getNodeValue();
+ if (value != null && value.length() > 0) {
+ try {
+ double val = Double.parseDouble(value);
+ result = "[slider:" + val + "]";
+ } catch (Exception e) {
+
+ }
+ }
+ if (result == null) {
+ result = "[slider]";
+ }
+ return result;
+ }
+
+ /**
* @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionOut(Element,
* Context)
*/
- public PacketCollection getPacketCollectionOut(Element element,
- Context curContext, String url, MessageCollection mc) {
+ public PacketCollection getPacketCollectionOut(Element element, Context curContext, String url,
+ MessageCollection mc) {
setContextOut(element, curContext);
return null;
}
@@ -355,7 +389,7 @@
if (typeNode != null) {
type = typeNode.getNodeValue();
if (type.length() > 0) {
- if (type.equals("submit") || type.equals("reset")) { //$NON-NLS-1$ //$NON-NLS-2$
+ if (type.equals("submit") || type.equals("reset")) { //$NON-NLS-1$ //$NON-NLS-2$
curContext.setLineDelimiter(true);
} else {
curContext.setLineDelimiter(false);
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticOPTIONRenderer.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticOPTIONRenderer.java
index 5aac736..2e281b5 100644
--- a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticOPTIONRenderer.java
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticOPTIONRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -79,6 +79,11 @@
}
if (result != null)
result = result.trim();
+
+ if(DomUtil.isDisabled(element)){
+ result = "(disabled)"+result;
+ }
+
return new PacketCollection(
new Packet(element, result, curContext, true));
}
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticSELECTRenderer.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticSELECTRenderer.java
index 5b7d8e2..c4dd74d 100644
--- a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticSELECTRenderer.java
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticSELECTRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -80,6 +80,11 @@
}
if (result != null)
result = result.trim();
+
+ if(DomUtil.isDisabled(element)){
+ result = "(disabled)"+result;
+ }
+
return new PacketCollection(
new Packet(element, result, curContext, true));
}
diff --git a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticTEXTAREARenderer.java b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticTEXTAREARenderer.java
index 042b855..bd76668 100644
--- a/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticTEXTAREARenderer.java
+++ b/plugins/org.eclipse.actf.visualization.engines.voicebrowser/src/org/eclipse/actf/visualization/internal/engines/voicebrowser/StaticTEXTAREARenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and Others
+ * Copyright (c) 2003, 2016 IBM Corporation and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,20 +10,18 @@
*******************************************************************************/
package org.eclipse.actf.visualization.internal.engines.voicebrowser;
-import org.w3c.dom.*;
-
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
public class StaticTEXTAREARenderer implements IElementRenderer {
/**
- * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionIn(Element, Context)
+ * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionIn(Element,
+ * Context)
*/
@SuppressWarnings("nls")
- public PacketCollection getPacketCollectionIn(
- Element element,
- Context curContext,
- String url,
- MessageCollection mc) {
+ public PacketCollection getPacketCollectionIn(Element element, Context curContext, String url,
+ MessageCollection mc) {
// set `context in' flags
setContextIn(element, curContext);
@@ -36,15 +34,7 @@
String nodeValue = node.getNodeValue();
nodeValue = nodeValue.trim();
if (nodeValue.length() > 0) {
- result =
- OutLoud.buildResultString(
- mc,
- url,
- element,
- null,
- "hasstr",
- "name=str1",
- nodeValue);
+ result = OutLoud.buildResultString(mc, url, element, null, "hasstr", "name=str1", nodeValue);
if (result == null && OutLoud.hprDefltMsg)
result = "[TextArea: " + nodeValue + "]";
}
@@ -56,18 +46,20 @@
}
if (result != null)
result = result.trim();
- return new PacketCollection(
- new Packet(element, result, curContext, true));
+
+ if(DomUtil.isDisabled(element)){
+ result = "(disabled)"+result;
+ }
+
+ return new PacketCollection(new Packet(element, result, curContext, true));
}
/**
- * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionOut(Element, Context)
+ * @see org.eclipse.actf.visualization.internal.engines.voicebrowser.IElementRenderer#getPacketCollectionOut(Element,
+ * Context)
*/
- public PacketCollection getPacketCollectionOut(
- Element element,
- Context curContext,
- String url,
- MessageCollection mc) {
+ public PacketCollection getPacketCollectionOut(Element element, Context curContext, String url,
+ MessageCollection mc) {
setContextOut(element, curContext);
return null;
@@ -87,8 +79,8 @@
*/
public void setContextOut(Element element, Context curContext) {
curContext.setGoChild(true);
- // curContext.setLineDelimiter(false);
- // curContext.setLinkTag(true);
+ // curContext.setLineDelimiter(false);
+ // curContext.setLinkTag(true);
curContext.setLineDelimiter(true);
curContext.setLinkTag(false);
}