[jbosstools-commits] JBoss Tools SVN: r6824 - branches/jbosstools-2.0.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Mar 10 15:18:35 EDT 2008


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




More information about the jbosstools-commits mailing list