Author: yzhishko
Date: 2009-11-03 10:51:26 -0500 (Tue, 03 Nov 2009)
New Revision: 18397
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4022 now default selection border of Mozilla
IFlasher is redrawing when we move a window over it.
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2009-11-03
14:13:09 UTC (rev 18396)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2009-11-03
15:51:26 UTC (rev 18397)
@@ -17,6 +17,8 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.PaintEvent;
+import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
@@ -53,7 +55,10 @@
* @author Sergey Vasilyev (svasilyev(a)exadel.com)
*
*/
-public class XulRunnerEditor extends XulRunnerBrowser {
+public class XulRunnerEditor extends XulRunnerBrowser{
+
+ private VisualPaintListener paintListener;
+
/** IVpeResizeListener */
private IVpeResizeListener resizeListener;
@@ -153,6 +158,10 @@
// under Mac OS
// getWebBrowser().removeWebBrowserListener(XulRunnerEditor.this,
// nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID);
+ if (paintListener != null) {
+ getBrowser().getParent().removePaintListener(paintListener);
+ paintListener = null;
+ }
getWebBrowser().removeWebBrowserListener(XulRunnerEditor.this,
nsITooltipListener.NS_ITOOLTIPLISTENER_IID);
removeSelectionListener();
@@ -167,7 +176,7 @@
removeListener(SWT.Show, eventListenet);
removeListener(SWT.FocusIn, eventListenet);
removeListener(SWT.Selection, eventListenet);
- removeListener(SWT.Paint, eventListenet);
+ removeListener(SWT.Resize, eventListenet);
eventListenet = null;
}
getBrowser().removeDisposeListener(this);
@@ -175,7 +184,9 @@
}
});
-
+ //Part of fix
https://jira.jboss.org/jira/browse/JBIDE-4022
+ paintListener = new VisualPaintListener();
+ getBrowser().getParent().addPaintListener(paintListener);
// addListener(SWT.Activate, eventListenet);
addListener(SWT.Paint, eventListenet);
/*
@@ -187,7 +198,6 @@
// when switch from visual to preview selection rectangle doen't
// disappear
addListener(SWT.Resize, eventListenet);
-
addListener(SWT.Show, eventListenet);
addListener(SWT.FocusIn, eventListenet);
// Commented by Max Areshkau (bug on Mac OS X10.4
@@ -196,7 +206,7 @@
// addListener(SWT.FocusOut, eventListenet);
addListener(SWT.Selection, eventListenet);
addListener(SWT.Paint, eventListenet);
-
+
resizeListener = new IVpeResizeListener() {
public void onEndResizing(int usedResizeMarkerHandle, int top,
int left, int width, int height,
@@ -793,4 +803,13 @@
// return hasSelectInParenNodes(domNode.getParentNode());
// }
// }
+
+ private class VisualPaintListener implements PaintListener{
+
+ public void paintControl(PaintEvent e) {
+ showSelectionRectangle();
+ }
+
+ }
+
}