Author: mareshkau
Date: 2007-09-04 05:12:44 -0400 (Tue, 04 Sep 2007)
New Revision: 3434
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/dnd/VpeDnD.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VpeDndUtil.java
Log:
code adjustment
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/dnd/VpeDnD.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/dnd/VpeDnD.java 2007-09-04
09:03:44 UTC (rev 3433)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/dnd/VpeDnD.java 2007-09-04
09:12:44 UTC (rev 3434)
@@ -11,14 +11,12 @@
******************************************************************************/
package org.jboss.tools.vpe.dnd;
-import org.eclipse.swt.graphics.Rectangle;
import org.jboss.tools.vpe.editor.VpeController;
import org.jboss.tools.vpe.editor.mozilla.EditorDomEventListener;
import org.jboss.tools.vpe.editor.mozilla.MozillaDropInfo;
import org.mozilla.interfaces.nsIComponentManager;
import org.mozilla.interfaces.nsIDOMEvent;
import org.mozilla.interfaces.nsIDOMMouseEvent;
-import org.mozilla.interfaces.nsIDOMNSHTMLElement;
import org.mozilla.interfaces.nsIDOMNode;
import org.mozilla.interfaces.nsIDragService;
import org.mozilla.interfaces.nsIServiceManager;
@@ -26,7 +24,6 @@
import org.mozilla.interfaces.nsISupportsString;
import org.mozilla.interfaces.nsITransferable;
import org.mozilla.xpcom.Mozilla;
-import org.mozilla.xpcom.XPCOMException;
/**
* @author Max Areshkau
@@ -55,39 +52,7 @@
*/
private nsIDragService dragService;
- public Rectangle getBounds(nsIDOMNode visualNode) {
- try {
-
- nsIDOMNSHTMLElement domNSHTMLElement = (nsIDOMNSHTMLElement)
visualNode.queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
- int offsetLeft=domNSHTMLElement.getOffsetLeft();
- int offsetTop =domNSHTMLElement.getOffsetTop();
- while(true) {
-
- try{
-
- if(domNSHTMLElement.getOffsetParent()==null) {
- break;
- }
-
- domNSHTMLElement=(nsIDOMNSHTMLElement)
domNSHTMLElement.getOffsetParent().queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
- offsetLeft+=domNSHTMLElement.getOffsetLeft();
- offsetTop+=domNSHTMLElement.getOffsetTop();
- } catch(XPCOMException ex){
- break;
- }
- }
-
- return new Rectangle(offsetLeft,
offsetTop,domNSHTMLElement.getOffsetWidth(),domNSHTMLElement.getOffsetHeight());
-
- } catch(XPCOMException xpcomException) {
-
- //TODO Max Areshkau
- //If node not not implement nsIDOMNSHTMLElement, may be check best take a parent node
- return new Rectangle(0, 0, 0,0);
- }
- }
-
/**
* Starts drag session
* @param dragetElement
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2007-09-04
09:03:44 UTC (rev 3433)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2007-09-04
09:12:44 UTC (rev 3434)
@@ -55,21 +55,17 @@
import org.jboss.tools.vpe.editor.util.HTML;
import org.jboss.tools.vpe.editor.util.TextUtil;
import org.jboss.tools.vpe.editor.util.VisualDomUtil;
+import org.jboss.tools.vpe.editor.util.VpeDndUtil;
import org.jboss.tools.vpe.editor.util.VpeStyleUtil;
import org.jboss.tools.vpe.xulrunner.editor.XulRunnerEditor;
import org.mozilla.interfaces.nsIDOMAttr;
-import org.mozilla.interfaces.nsIDOMChromeWindow;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
-import org.mozilla.interfaces.nsIDOMEventGroup;
-import org.mozilla.interfaces.nsIDOMEventTarget;
import org.mozilla.interfaces.nsIDOMMouseEvent;
import org.mozilla.interfaces.nsIDOMNode;
import org.mozilla.interfaces.nsIDOMNodeList;
import org.mozilla.interfaces.nsIDOMRange;
import org.mozilla.interfaces.nsIDOMText;
-import org.mozilla.interfaces.nsIEventTarget;
-import org.mozilla.interfaces.nsIWebBrowserChrome;
import org.mozilla.xpcom.XPCOMException;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
@@ -1370,7 +1366,7 @@
Rectangle getNodeBounds(nsIDOMNode visualNode) {
- return dnd.getBounds(visualNode);
+ return VpeDndUtil.getBounds(visualNode);
}
static boolean canInsertAfter(int x, int y, Rectangle rect) {
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VpeDndUtil.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VpeDndUtil.java 2007-09-04
09:03:44 UTC (rev 3433)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VpeDndUtil.java 2007-09-04
09:12:44 UTC (rev 3434)
@@ -14,10 +14,14 @@
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.swt.graphics.Rectangle;
import org.jboss.tools.common.model.ui.dnd.DnDUtil;
import org.jboss.tools.common.model.ui.editor.IModelObjectEditorInput;
import org.jboss.tools.common.model.ui.views.palette.PaletteInsertHelper;
import org.jboss.tools.vpe.VpePlugin;
+import org.mozilla.interfaces.nsIDOMNSHTMLElement;
+import org.mozilla.interfaces.nsIDOMNode;
+import org.mozilla.xpcom.XPCOMException;
public class VpeDndUtil {
public static boolean isDropEnabled(IModelObjectEditorInput input){
@@ -39,4 +43,41 @@
VpePlugin.getPluginLog().logError(ex);
}
}
+
+ /**
+ *
+ * @param visualNode
+ * @return returns absolute position and size of visual node
+ */
+ public static Rectangle getBounds(nsIDOMNode visualNode) {
+ try {
+
+ nsIDOMNSHTMLElement domNSHTMLElement = (nsIDOMNSHTMLElement)
visualNode.queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
+ int offsetLeft=domNSHTMLElement.getOffsetLeft();
+ int offsetTop =domNSHTMLElement.getOffsetTop();
+ while(true) {
+
+ try{
+
+ if(domNSHTMLElement.getOffsetParent()==null) {
+ break;
+ }
+
+ domNSHTMLElement=(nsIDOMNSHTMLElement)
domNSHTMLElement.getOffsetParent().queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
+ offsetLeft+=domNSHTMLElement.getOffsetLeft();
+ offsetTop+=domNSHTMLElement.getOffsetTop();
+ } catch(XPCOMException ex){
+ break;
+ }
+ }
+
+ return new Rectangle(offsetLeft,
offsetTop,domNSHTMLElement.getOffsetWidth(),domNSHTMLElement.getOffsetHeight());
+
+ } catch(XPCOMException xpcomException) {
+
+ //TODO Max Areshkau
+ //If node not not implement nsIDOMNSHTMLElement, may be check best take a parent node
+ return new Rectangle(0, 0, 0,0);
+ }
+ }
}
Show replies by date