Author: dgolovin
Date: 2009-10-27 19:42:58 -0400 (Tue, 27 Oct 2009)
New Revision: 18330
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerVpeUtils.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5101 Resizer isn't shown correctly for
buttons, input fields. controls
It was resolved
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java 2009-10-27
21:40:11 UTC (rev 18329)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java 2009-10-27
23:42:58 UTC (rev 18330)
@@ -14,12 +14,17 @@
// The plug-in ID
public static final String PLUGIN_ID = "org.jboss.tools.vpe.xulrunner";
//$NON-NLS-1$
+ private static final String TRUE_STRING = "true"; //$NON-NLS-1$
+
public static final boolean DEBUG_BROWSERSTART;
+ public static final boolean PRINT_ELEMENT_BOUNDS;
// The shared instance
private static BrowserPlugin plugin;
static {
DEBUG_BROWSERSTART = "true".equals(Platform.getDebugOption(PLUGIN_ID +
"/debug/browser_start")); //$NON-NLS-1$ //$NON-NLS-2$
+ PRINT_ELEMENT_BOUNDS = TRUE_STRING.equals(
+ Platform.getDebugOption(BrowserPlugin.PLUGIN_ID +
"/debug/PrintElementBounds")); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerVpeUtils.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerVpeUtils.java 2009-10-27
21:40:11 UTC (rev 18329)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerVpeUtils.java 2009-10-27
23:42:58 UTC (rev 18330)
@@ -12,10 +12,14 @@
package org.jboss.tools.vpe.xulrunner.editor;
import org.eclipse.swt.graphics.Rectangle;
+import org.jboss.tools.vpe.xulrunner.BrowserPlugin;
import org.mozilla.interfaces.nsIBoxObject;
+import org.mozilla.interfaces.nsIDOMClientRect;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
import org.mozilla.interfaces.nsIDOMNSDocument;
+import org.mozilla.interfaces.nsIDOMNSElement;
+import org.mozilla.interfaces.nsIDOMNSHTMLElement;
import org.mozilla.interfaces.nsIDOMNode;
import org.mozilla.xpcom.XPCOMException;
@@ -30,14 +34,36 @@
*/
static public Rectangle getElementBounds(nsIDOMNode domNode) {
try {
- nsIDOMElement domElement = (nsIDOMElement) domNode
+ nsIDOMElement domElement = (nsIDOMElement) domNode
.queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
+ nsIDOMNSElement htmlElement =
(nsIDOMNSElement)domNode.queryInterface(nsIDOMNSElement.NS_IDOMNSELEMENT_IID);
+ nsIDOMNSHTMLElement domElement1 =
(nsIDOMNSHTMLElement)domNode.queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
nsIDOMDocument document = domElement.getOwnerDocument();
nsIDOMNSDocument nsDocument = (nsIDOMNSDocument) document
.queryInterface(nsIDOMNSDocument.NS_IDOMNSDOCUMENT_IID);
nsIBoxObject boxObject = nsDocument.getBoxObjectFor(domElement);
- return new Rectangle(boxObject.getX(), boxObject.getY(), boxObject
- .getWidth(), boxObject.getHeight());
+ Rectangle rectangle = new Rectangle(boxObject.getX(), boxObject.getY(),
boxObject.getWidth()-htmlElement.getClientLeft(),
boxObject.getHeight()-htmlElement.getClientTop());
+ if(BrowserPlugin.PRINT_ELEMENT_BOUNDS) {
+ System.out.println("getElementBounds(IDOMNode) returns " + rectangle);
+ System.out.println("nsIDOMNSHTMLElement
getOffsetLeft,getOffsetTop,getOffsetWidth,getOffsetHeight" + new Rectangle(
+ domElement1.getOffsetLeft(),
+ domElement1.getOffsetTop(),
+ domElement1.getOffsetWidth(),
+ domElement1.getOffsetHeight()));
+ System.out.println("nsIDOMNSElement
getClientLeft,getClientTop,getClientWidth,getClientHeight" + new Rectangle(
+ htmlElement.getClientLeft(),
+ htmlElement.getClientTop(),
+ htmlElement.getClientWidth(),
+ htmlElement.getClientHeight()));
+ System.out.println("nsIBoxObject getX,getY,getWidth,getHeight" + new
Rectangle(
+ boxObject.getX(),
+ boxObject.getY(),
+ boxObject.getWidth(),
+ boxObject.getHeight()));
+ }
+ return rectangle;
+
+
} catch (XPCOMException xpcomException) {
return new Rectangle(0, 0, 0, 0);