Author: sdzmitrovich
Date: 2008-03-10 15:18:35 -0400 (Mon, 10 Mar 2008)
New Revision: 6824
Modified:
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaPreview.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1738
Modified:
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
===================================================================
---
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2008-03-10
19:05:38 UTC (rev 6823)
+++
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2008-03-10
19:18:35 UTC (rev 6824)
@@ -67,7 +67,7 @@
public class MozillaEditor extends EditorPart implements IReusableEditor {
protected static final String INIT_URL = "file://" + (new
File(VpePlugin.getDefault().getResourcePath("ve"),
"init.html")).getAbsolutePath();
// private static final String INIT_URL = "chrome://vpe/content/init.html";
//$NON-NLS-1$
- private static final String CONTENT_AREA_ID = "__content__area__";
//$NON-NLS-1$
+ protected static final String CONTENT_AREA_ID = "__content__area__";
//$NON-NLS-1$
static String SELECT_BAR = "SELECT_LBAR"; //$NON-NLS-1$
private XulRunnerEditor xulRunnerEditor;
@@ -391,7 +391,7 @@
return area;
}
- private nsIDOMNode findHeadNode(nsIDOMNode root){
+ protected nsIDOMNode findHeadNode(nsIDOMNode root){
nsIDOMNode headNode = findChildNode(root, HTML.TAG_HEAD); //$NON-NLS-1$
return headNode;
}
@@ -433,7 +433,7 @@
return area;
}
- private boolean isContentArea(nsIDOMNode node) {
+ protected boolean isContentArea(nsIDOMNode node) {
boolean ret = false;
if (HTML.TAG_BODY.equalsIgnoreCase(node.getNodeName())) {
nsIDOMNamedNodeMap map = node.getAttributes();
@@ -586,5 +586,9 @@
this.link = link;
}
+ public void setHeadNode(nsIDOMNode headNode) {
+ this.headNode = headNode;
+ }
+
}
\ No newline at end of file
Modified:
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaPreview.java
===================================================================
---
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaPreview.java 2008-03-10
19:05:38 UTC (rev 6823)
+++
branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaPreview.java 2008-03-10
19:18:35 UTC (rev 6824)
@@ -36,8 +36,12 @@
import org.jboss.tools.vpe.editor.context.VpePageContext;
import org.jboss.tools.vpe.editor.mapping.VpeDomMapping;
import org.jboss.tools.vpe.editor.template.VpeTemplateManager;
+import org.jboss.tools.vpe.editor.util.HTML;
import org.jboss.tools.vpe.messages.VpeUIMessages;
import org.jboss.tools.vpe.xulrunner.editor.XulRunnerEditor;
+import org.mozilla.interfaces.nsIDOMElement;
+import org.mozilla.interfaces.nsIDOMNode;
+import org.mozilla.interfaces.nsIDOMNodeList;
/**
* a class implementation of mozilla preview
@@ -263,5 +267,44 @@
private void setSourceEditor(StructuredTextEditor sourceEditor) {
this.sourceEditor = sourceEditor;
}
+
+ @Override
+ protected nsIDOMElement findContentArea() {
+ nsIDOMElement root = getXulRunnerEditor().getDOMDocument()
+ .getDocumentElement();
+ nsIDOMNodeList nodeList = getXulRunnerEditor().getDOMDocument()
+ .getElementsByTagName(HTML.TAG_BODY);
+ long length = nodeList.getLength();
+ nsIDOMElement area = null;
+ for (long i = 0; i < length; i++) {
+ nsIDOMNode node = nodeList.item(i);
+ if (isContentArea(node)) {
+ if (node.getNodeType() != nsIDOMNode.ELEMENT_NODE) {
+ throw new RuntimeException(
+ "The content area node should by element node.");
+ }
+ area = (nsIDOMElement) node
+ .queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+ break;
+ }
+ }
+ // area = findContentArea(root);
+ if (area == null) {
+ area = getXulRunnerEditor().getDOMDocument().createElement(
+ HTML.TAG_BODY);
+ area.setAttribute(HTML.ATTR_ID, CONTENT_AREA_ID);
+ root.appendChild(area);
+ }
+
+ nsIDOMNode head = findHeadNode(root);
+
+ if (head == null) {
+ head = getXulRunnerEditor().getDOMDocument().createElement(
+ HTML.TAG_HEAD);
+ }
+
+ setHeadNode(head);
+ return area;
+ }
}
\ No newline at end of file