summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/Browser.java46
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/WindowCreator.java264
2 files changed, 155 insertions, 155 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/Browser.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/Browser.java
index 3144b7079e..6cd64b9847 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/Browser.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/Browser.java
@@ -64,7 +64,7 @@ public class Browser extends Composite {
OpenWindowListener[] openWindowListeners = new OpenWindowListener[0];
ProgressListener[] progressListeners = new ProgressListener[0];
StatusTextListener[] statusTextListeners = new StatusTextListener[0];
- VisibilityListener[] visibilityListeners = new VisibilityListener[0];
+ VisibilityWindowListener[] visibilityWindowListeners = new VisibilityWindowListener[0];
static nsIAppShell AppShell;
static AppFileLocProvider LocProvider;
@@ -439,13 +439,13 @@ public void addStatusTextListener(StatusTextListener listener) {
*
* @since 3.0
*/
-public void addVisibilityListener(VisibilityListener listener) {
+public void addVisibilityWindowListener(VisibilityWindowListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- VisibilityListener[] newVisibilityListeners = new VisibilityListener[visibilityListeners.length + 1];
- System.arraycopy(visibilityListeners, 0, newVisibilityListeners, 0, visibilityListeners.length);
- visibilityListeners = newVisibilityListeners;
- visibilityListeners[visibilityListeners.length - 1] = listener;
+ VisibilityWindowListener[] newVisibilityWindowListeners = new VisibilityWindowListener[visibilityWindowListeners.length + 1];
+ System.arraycopy(visibilityWindowListeners, 0, newVisibilityWindowListeners, 0, visibilityWindowListeners.length);
+ visibilityWindowListeners = newVisibilityWindowListeners;
+ visibilityWindowListeners[visibilityWindowListeners.length - 1] = listener;
}
/**
@@ -1033,26 +1033,26 @@ public void removeStatusTextListener(StatusTextListener listener) {
*
* @since 3.0
*/
-public void removeVisibilityListener(VisibilityListener listener) {
+public void removeVisibilityWindowListener(VisibilityWindowListener listener) {
checkWidget();
if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (visibilityListeners.length == 0) return;
+ if (visibilityWindowListeners.length == 0) return;
int index = -1;
- for (int i = 0; i < visibilityListeners.length; i++) {
- if (listener == visibilityListeners[i]){
+ for (int i = 0; i < visibilityWindowListeners.length; i++) {
+ if (listener == visibilityWindowListeners[i]){
index = i;
break;
}
}
if (index == -1) return;
- if (visibilityListeners.length == 1) {
- visibilityListeners = new VisibilityListener[0];
+ if (visibilityWindowListeners.length == 1) {
+ visibilityWindowListeners = new VisibilityWindowListener[0];
return;
}
- VisibilityListener[] newVisibilityListeners = new VisibilityListener[visibilityListeners.length - 1];
- System.arraycopy(visibilityListeners, 0, newVisibilityListeners, 0, index);
- System.arraycopy(visibilityListeners, index + 1, newVisibilityListeners, index, visibilityListeners.length - index - 1);
- visibilityListeners = newVisibilityListeners;
+ VisibilityWindowListener[] newVisibilityWindowListeners = new VisibilityWindowListener[visibilityWindowListeners.length - 1];
+ System.arraycopy(visibilityWindowListeners, 0, newVisibilityWindowListeners, 0, index);
+ System.arraycopy(visibilityWindowListeners, index + 1, newVisibilityWindowListeners, index, visibilityWindowListeners.length - index - 1);
+ visibilityWindowListeners = newVisibilityWindowListeners;
}
/**
@@ -1609,8 +1609,8 @@ int SetChromeFlags(int aChromeFlags) {
}
int DestroyBrowserWindow() {
- CloseWindowEvent newEvent = new CloseWindowEvent(this);
- newEvent.data = getDisplay();
+ WindowEvent newEvent = new WindowEvent(this);
+ newEvent.display = getDisplay();
newEvent.widget = this;
for (int i = 0; i < closeWindowListeners.length; i++)
closeWindowListeners[i].close(newEvent);
@@ -1663,19 +1663,19 @@ int GetVisibility(int value) {
}
int SetVisibility(int value) {
- VisibilityEvent event = new VisibilityEvent(this);
+ WindowEvent event = new WindowEvent(this);
event.display = getDisplay();
event.widget = this;
if (value == 1) {
event.location = location;
event.size = size;
- for (int i = 0; i < visibilityListeners.length; i++)
- visibilityListeners[i].show(event);
+ for (int i = 0; i < visibilityWindowListeners.length; i++)
+ visibilityWindowListeners[i].show(event);
location = null;
size = null;
} else {
- for (int i = 0; i < visibilityListeners.length; i++)
- visibilityListeners[i].hide(event);
+ for (int i = 0; i < visibilityWindowListeners.length; i++)
+ visibilityWindowListeners[i].hide(event);
}
return XPCOM.NS_OK;
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/WindowCreator.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/WindowCreator.java
index 5e3090fc9a..e18793f6ae 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/WindowCreator.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/motif/org/eclipse/swt/browser/WindowCreator.java
@@ -1,133 +1,133 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.browser;
-
-import org.eclipse.swt.internal.mozilla.*;
-import org.eclipse.swt.widgets.*;
-
-class WindowCreator {
- XPCOMObject supports;
- XPCOMObject windowCreator;
- int refCount = 0;
-
-public WindowCreator() {
- createCOMInterfaces();
-}
-
-int AddRef() {
- refCount++;
- return refCount;
-}
-
-void createCOMInterfaces() {
- /* Create each of the interfaces that this object implements */
- supports = new XPCOMObject(new int[]{2, 0, 0}){
- public int method0(int[] args) {return queryInterface(args[0], args[1]);}
- public int method1(int[] args) {return AddRef();}
- public int method2(int[] args) {return Release();}
- };
-
- windowCreator = new XPCOMObject(new int[]{2, 0, 0, 3}){
- public int method0(int[] args) {return queryInterface(args[0], args[1]);}
- public int method1(int[] args) {return AddRef();}
- public int method2(int[] args) {return Release();}
- public int method3(int[] args) {return CreateChromeWindow(args[0], args[1], args[2]);}
- };
-}
-
-void disposeCOMInterfaces() {
- if (supports != null) {
- supports.dispose();
- supports = null;
- }
- if (windowCreator != null) {
- windowCreator.dispose();
- windowCreator = null;
- }
-}
-
-int getAddress() {
- return windowCreator.getAddress();
-}
-
-int queryInterface(int riid, int ppvObject) {
- if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
- nsID guid = new nsID();
- XPCOM.memmove(guid, riid, nsID.sizeof);
-
- if (guid.Equals(nsISupports.NS_ISUPPORTS_IID)) {
- XPCOM.memmove(ppvObject, new int[] {supports.getAddress()}, 4);
- AddRef();
- return XPCOM.NS_OK;
- }
- if (guid.Equals(nsIWindowCreator.NS_IWINDOWCREATOR_IID)) {
- XPCOM.memmove(ppvObject, new int[] {windowCreator.getAddress()}, 4);
- AddRef();
- return XPCOM.NS_OK;
- }
-
- XPCOM.memmove(ppvObject, new int[] {0}, 4);
- return XPCOM.NS_ERROR_NO_INTERFACE;
-}
-
-int Release() {
- refCount--;
- if (refCount == 0) disposeCOMInterfaces();
- return refCount;
-}
-
-/* nsIWindowCreator */
-
-int CreateChromeWindow(int parent, int chromeFlags, int _retval) {
- nsIWebBrowserChrome browserChromeParent = new nsIWebBrowserChrome(parent);
- int[] aWebBrowser = new int[1];
- int rc = browserChromeParent.GetWebBrowser(aWebBrowser);
- if (rc != XPCOM.NS_OK) Browser.error(rc);
- if (aWebBrowser[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
-
- nsIWebBrowser webBrowser = new nsIWebBrowser(aWebBrowser[0]);
- int[] result = new int[1];
- rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
- if (rc != XPCOM.NS_OK) Browser.error(rc);
- if (result[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
- webBrowser.Release();
-
- nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);
- result[0] = 0;
- int[] aParentNativeWindow = new int[1];
- rc = baseWindow.GetParentNativeWindow(aParentNativeWindow);
- if (rc != XPCOM.NS_OK) Browser.error(rc);
- if (aParentNativeWindow[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
- baseWindow.Release();
-
- Display display = Display.getCurrent();
- Shell[] shells = display.getShells();
- Browser src = null;
- for (int i = 0; i < shells.length; i++) {
- src = Browser.findBrowser(shells[i], aParentNativeWindow[0]);
- if (src != null) break;
- }
- OpenWindowEvent event = new OpenWindowEvent(src);
- event.display = display;
- event.widget = src;
- for (int i = 0; i < src.openWindowListeners.length; i++)
- src.openWindowListeners[i].open(event);
- Browser browser = event.browser;
- boolean doit = browser != null && !browser.isDisposed();
- if (doit) {
- int address = browser.webBrowserChrome.getAddress();
- nsIWebBrowserChrome webBrowserChrome = new nsIWebBrowserChrome(address);
- webBrowserChrome.AddRef();
- XPCOM.memmove(_retval, new int[] {address}, 4);
- }
- return doit ? XPCOM.NS_OK : XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
+/*******************************************************************************
+ * Copyright (c) 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.browser;
+
+import org.eclipse.swt.internal.mozilla.*;
+import org.eclipse.swt.widgets.*;
+
+class WindowCreator {
+ XPCOMObject supports;
+ XPCOMObject windowCreator;
+ int refCount = 0;
+
+public WindowCreator() {
+ createCOMInterfaces();
+}
+
+int AddRef() {
+ refCount++;
+ return refCount;
+}
+
+void createCOMInterfaces() {
+ /* Create each of the interfaces that this object implements */
+ supports = new XPCOMObject(new int[]{2, 0, 0}){
+ public int method0(int[] args) {return queryInterface(args[0], args[1]);}
+ public int method1(int[] args) {return AddRef();}
+ public int method2(int[] args) {return Release();}
+ };
+
+ windowCreator = new XPCOMObject(new int[]{2, 0, 0, 3}){
+ public int method0(int[] args) {return queryInterface(args[0], args[1]);}
+ public int method1(int[] args) {return AddRef();}
+ public int method2(int[] args) {return Release();}
+ public int method3(int[] args) {return CreateChromeWindow(args[0], args[1], args[2]);}
+ };
+}
+
+void disposeCOMInterfaces() {
+ if (supports != null) {
+ supports.dispose();
+ supports = null;
+ }
+ if (windowCreator != null) {
+ windowCreator.dispose();
+ windowCreator = null;
+ }
+}
+
+int getAddress() {
+ return windowCreator.getAddress();
+}
+
+int queryInterface(int riid, int ppvObject) {
+ if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ nsID guid = new nsID();
+ XPCOM.memmove(guid, riid, nsID.sizeof);
+
+ if (guid.Equals(nsISupports.NS_ISUPPORTS_IID)) {
+ XPCOM.memmove(ppvObject, new int[] {supports.getAddress()}, 4);
+ AddRef();
+ return XPCOM.NS_OK;
+ }
+ if (guid.Equals(nsIWindowCreator.NS_IWINDOWCREATOR_IID)) {
+ XPCOM.memmove(ppvObject, new int[] {windowCreator.getAddress()}, 4);
+ AddRef();
+ return XPCOM.NS_OK;
+ }
+
+ XPCOM.memmove(ppvObject, new int[] {0}, 4);
+ return XPCOM.NS_ERROR_NO_INTERFACE;
+}
+
+int Release() {
+ refCount--;
+ if (refCount == 0) disposeCOMInterfaces();
+ return refCount;
+}
+
+/* nsIWindowCreator */
+
+int CreateChromeWindow(int parent, int chromeFlags, int _retval) {
+ nsIWebBrowserChrome browserChromeParent = new nsIWebBrowserChrome(parent);
+ int[] aWebBrowser = new int[1];
+ int rc = browserChromeParent.GetWebBrowser(aWebBrowser);
+ if (rc != XPCOM.NS_OK) Browser.error(rc);
+ if (aWebBrowser[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
+
+ nsIWebBrowser webBrowser = new nsIWebBrowser(aWebBrowser[0]);
+ int[] result = new int[1];
+ rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+ if (rc != XPCOM.NS_OK) Browser.error(rc);
+ if (result[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
+ webBrowser.Release();
+
+ nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);
+ result[0] = 0;
+ int[] aParentNativeWindow = new int[1];
+ rc = baseWindow.GetParentNativeWindow(aParentNativeWindow);
+ if (rc != XPCOM.NS_OK) Browser.error(rc);
+ if (aParentNativeWindow[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
+ baseWindow.Release();
+
+ Display display = Display.getCurrent();
+ Shell[] shells = display.getShells();
+ Browser src = null;
+ for (int i = 0; i < shells.length; i++) {
+ src = Browser.findBrowser(shells[i], aParentNativeWindow[0]);
+ if (src != null) break;
+ }
+ WindowEvent event = new WindowEvent(src);
+ event.display = display;
+ event.widget = src;
+ for (int i = 0; i < src.openWindowListeners.length; i++)
+ src.openWindowListeners[i].open(event);
+ Browser browser = event.browser;
+ boolean doit = browser != null && !browser.isDisposed();
+ if (doit) {
+ int address = browser.webBrowserChrome.getAddress();
+ nsIWebBrowserChrome webBrowserChrome = new nsIWebBrowserChrome(address);
+ webBrowserChrome.AddRef();
+ XPCOM.memmove(_retval, new int[] {address}, 4);
+ }
+ return doit ? XPCOM.NS_OK : XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+}
} \ No newline at end of file