Author: mareshkau
Date: 2007-08-22 11:23:41 -0400 (Wed, 22 Aug 2007)
New Revision: 3279
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeDnD.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-744
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java 2007-08-22
15:23:36 UTC (rev 3278)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java 2007-08-22
15:23:41 UTC (rev 3279)
@@ -744,7 +744,7 @@
if (!switcher.startActiveEditor(ActiveEditorSwitcher.ACTIVE_EDITOR_VISUAL)) {
return;
}
- nsIDOMElement visualDragElement = selectionBuilder.getDragElement(mouseEvent);
+ nsIDOMElement visualDragElement = selectionBuilder.getDragElement(mouseEvent);
if (VpeDebug.printVisualMouseEvent) {
nsIDOMNode visualNode = VisualDomUtil.getTargetNode(mouseEvent);
System.out.println("<<< mouseDown targetNode: " +
visualNode.getNodeName() + " (" + visualNode + ") selectedElement: "
+ (visualDragElement != null ? visualDragElement.getNodeName() + " (" +
visualDragElement + ")" : null)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$ //$NON-NLS-5$
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeDnD.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeDnD.java 2007-08-22
15:23:36 UTC (rev 3278)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeDnD.java 2007-08-22
15:23:41 UTC (rev 3279)
@@ -14,6 +14,7 @@
import org.eclipse.swt.graphics.Rectangle;
import org.mozilla.interfaces.nsIDOMNSHTMLElement;
import org.mozilla.interfaces.nsIDOMNode;
+import org.mozilla.xpcom.XPCOMException;
/**
* @author Max Areshkau
@@ -23,9 +24,17 @@
public class VpeDnD {
public Rectangle getBounds(nsIDOMNode visualNode) {
-
+ try {
+
nsIDOMNSHTMLElement domNSHTMLElement = (nsIDOMNSHTMLElement)
visualNode.queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
return new Rectangle(domNSHTMLElement.getOffsetLeft(),
domNSHTMLElement.getOffsetTop(),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);
+ }
+ }
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java 2007-08-22
15:23:36 UTC (rev 3278)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java 2007-08-22
15:23:41 UTC (rev 3279)
@@ -1151,7 +1151,7 @@
if (visualNode != null && visualNode.getNodeType() == Node.ELEMENT_NODE
&&
(HTML.TAG_INPUT.equalsIgnoreCase(visualNode.getNodeName()) ||
HTML.TAG_BUTTON.equalsIgnoreCase(visualNode.getNodeName()) ||
"SELECT".equalsIgnoreCase(visualNode.getNodeName())) &&
!selection.containsNode(visualNode, false) &&
visualBuilder.canInnerDrag((nsIDOMElement)visualNode.queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID)))
{
- return (nsIDOMElement)visualNode;
+ return (nsIDOMElement)visualNode.queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
}
return null;
}
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-08-22
15:23:36 UTC (rev 3278)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2007-08-22
15:23:41 UTC (rev 3279)
@@ -1444,11 +1444,11 @@
}
private boolean inDragArea(Rectangle dragArea, Point mousePoint) {
- //TODO add drag and drop support
+ //TODO add drag and drop support
// return dragArea.contains(mousePoint) &&
// mousePoint.x < (dragArea.x + DRAG_AREA_WIDTH) &&
// mousePoint.y < (dragArea.y + DRAG_AREA_HEIGHT);
- return true;
+ return false;
}
nsIDOMElement getDragElement(nsIDOMMouseEvent mouseEvent) {
@@ -1456,17 +1456,13 @@
/*We use element on which was click
*
*/
- try{
- nsIDOMEventTarget eventTarget = mouseEvent.getTarget();
- nsIDOMElement selectedElement = (nsIDOMElement)
eventTarget.queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+
+ nsIDOMElement selectedElement = xulRunnerEditor.getLastSelectedElement();
if (selectedElement != null && canInnerDrag(selectedElement)) {
if (inDragArea(getNodeBounds(selectedElement),
VisualDomUtil.getMousePoint(mouseEvent))) {
return selectedElement;
}
}
- } catch(XPCOMException exception) {
- exception.printStackTrace();
- }
return null;
}