diff options
author | Felipe Heidrich <fheidric> | 2009-06-30 22:00:12 +0000 |
---|---|---|
committer | Felipe Heidrich <fheidric> | 2009-06-30 22:00:12 +0000 |
commit | f664d297f7bb009784868bf3fcf0b3e3bb9a646b (patch) | |
tree | 54012fe4929893eef4891c88cbbf5841272ff433 /bundles/org.eclipse.swt/Eclipse SWT Browser/forms | |
parent | bc18a5e014088ce811f09c603b88361094486062 (diff) | |
download | eclipse.platform.swt-f664d297f7bb009784868bf3fcf0b3e3bb9a646b.tar.gz eclipse.platform.swt-f664d297f7bb009784868bf3fcf0b3e3bb9a646b.tar.xz eclipse.platform.swt-f664d297f7bb009784868bf3fcf0b3e3bb9a646b.zip |
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Browser/forms')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Browser/forms/org/eclipse/swt/browser/IE.java | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/forms/org/eclipse/swt/browser/IE.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/forms/org/eclipse/swt/browser/IE.java deleted file mode 100644 index 4a52398af0..0000000000 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/forms/org/eclipse/swt/browser/IE.java +++ /dev/null @@ -1,280 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.browser; - -import org.eclipse.swt.*; -import org.eclipse.swt.internal.wpf.*; -import org.eclipse.swt.widgets.*; - -class IE extends WebBrowser { - - int webBrowser, host, jniRef; - - boolean ignoreDispose; - - static { - NativeClearSessions = new Runnable() { - public void run() { -// OS.InternetSetOption (0, OS.INTERNET_OPTION_END_BROWSER_SESSION, 0, 0); - } - }; - } - -public void create(Composite parent, int style) { - host = OS.gcnew_WindowsFormsHost(); - if (host == 0) SWT.error(SWT.ERROR_NO_HANDLES); - webBrowser = OS.gcnew_WebBrowser(); - if (webBrowser == 0) SWT.error(SWT.ERROR_NO_HANDLES); - OS.WindowsFormsHost_Child(host, webBrowser); - jniRef = OS.NewGlobalRef(this); - if (jniRef == 0) SWT.error(SWT.ERROR_NO_HANDLES); - OS.WebBrowser_ScriptErrorsSuppressed(webBrowser, true); - int handler = OS.gcnew_WebBrowserNavigatingEventHandler(jniRef, "HandleNavigating"); - OS.WebBrowser_Navigating(webBrowser, handler); - OS.GCHandle_Free(handler); - handler = OS.gcnew_WebBrowserProgressChangedEventHandler(jniRef, "HandleProgressChanged"); - OS.WebBrowser_ProgressChanged(webBrowser, handler); - OS.GCHandle_Free(handler); - handler = OS.gcnew_EventHandler(jniRef, "HandleStatusTextChanged"); - OS.WebBrowser_StatusTextChanged(webBrowser, handler); - OS.GCHandle_Free(handler); - handler = OS.gcnew_EventHandler(jniRef, "HandleDocumentTitleChanged"); - OS.WebBrowser_DocumentTitleChanged(webBrowser, handler); - OS.GCHandle_Free(handler); - handler = OS.gcnew_WebBrowserDocumentCompletedEventHandler(jniRef, "HandleDocumentCompleted"); - OS.WebBrowser_DocumentCompleted(webBrowser, handler); - OS.GCHandle_Free(handler); - - int parentHandle = browser.handle; - int children = OS.Panel_Children(parentHandle); - OS.UIElementCollection_Insert(children, 0, host); - OS.GCHandle_Free(children); - OS.FrameworkElement_Width(host, OS.FrameworkElement_Width(parentHandle)); - OS.FrameworkElement_Height(host, OS.FrameworkElement_Height(parentHandle)); - - Listener listener = new Listener() { - public void handleEvent(Event event) { - switch (event.type) { - case SWT.Dispose: { - if (ignoreDispose) { - ignoreDispose = false; - break; - } - ignoreDispose = true; - browser.notifyListeners (event.type, event); - event.type = SWT.NONE; - OS.GCHandle_Free(host); - OS.GCHandle_Free(webBrowser); - OS.DeleteGlobalRef(jniRef); - host = webBrowser = jniRef = 0; - break; - } - case SWT.Resize: { - OS.FrameworkElement_Width(host, OS.FrameworkElement_Width(browser.handle)); - OS.FrameworkElement_Height(host, OS.FrameworkElement_Height(browser.handle)); - break; - } - } - } - }; - browser.addListener(SWT.Resize, listener); - browser.addListener(SWT.Dispose, listener); -} - -public boolean back() { - return OS.WebBrowser_GoBack(webBrowser); -} - -public boolean execute(String script) { -// int document = OS.WebBrowser_Document(frame); -// int length = script.length (); -// char [] buffer = new char [length + 1]; -// script.getChars (0, length, buffer, 0); -// int str = OS.gcnew_String (buffer); -// int result = OS.HtmlDocument_InvokeScript(document, str); -// OS.GCHandle_Free(result); -// OS.GCHandle_Free(str); -// OS.GCHandle_Free(document); - return true; -} - -public boolean forward() { - return OS.WebBrowser_GoForward(webBrowser); -} - -public String getBrowserType () { - return "ie"; //$NON-NLS-1$ -} - -public String getText () { - // TODO - return ""; //$NON-NLS-1$ -} - -public String getUrl() { - int uri = OS.WebBrowser_Url(webBrowser); - String url = getUriString (uri); - if (uri != 0) OS.GCHandle_Free(uri); - return url; -} - -String getUriString(int uri) { - if (uri == 0) return null; - int str = OS.Object_ToString(uri); - int charArray = OS.String_ToCharArray(str); - char[] chars = new char[OS.String_Length(str)]; - OS.memcpy(chars, charArray, chars.length * 2); - OS.GCHandle_Free(charArray); - String url = new String(chars); - OS.GCHandle_Free(str); - return url; -} - -void HandleDocumentCompleted(int sender, int e) { - if (webBrowser == 0) return; - int uri = OS.WebBrowserDocumentCompletedEventArgs_Url(e); - String url = getUriString (uri); - if (uri != 0) OS.GCHandle_Free(uri); - LocationEvent newEvent = new LocationEvent(browser); - newEvent.display = browser.getDisplay(); - newEvent.widget = browser; - newEvent.location = url; - newEvent.doit = true; - for (int i = 0; i < locationListeners.length; i++) { - locationListeners[i].changing(newEvent); - } - if (browser.isDisposed()) return; - ProgressEvent progressEvent = new ProgressEvent(browser); - progressEvent.display = browser.getDisplay(); - progressEvent.widget = browser; - for (int i = 0; i < progressListeners.length; i++) { - progressListeners[i].completed(progressEvent); - } -} - -void HandleDocumentTitleChanged(int sender, int e) { - if (webBrowser == 0) return; - int str = OS.WebBrowser_DocumentTitle(webBrowser); - String title = ""; - if (str != 0) { - int charArray = OS.String_ToCharArray(str); - char[] chars = new char[OS.String_Length(str)]; - OS.memcpy(chars, charArray, chars.length * 2); - OS.GCHandle_Free(charArray); - OS.GCHandle_Free(str); - title = new String(chars); - } - TitleEvent newEvent = new TitleEvent(browser); - newEvent.display = browser.getDisplay(); - newEvent.widget = browser; - newEvent.title = title; - for (int i = 0; i < titleListeners.length; i++) { - titleListeners[i].changed(newEvent); - } -} - -void HandleNavigating(int sender, int e) { - if (webBrowser == 0) return; - int uri = OS.WebBrowserNavigatingEventArgs_Url(e); - String url = getUriString (uri); - if (uri != 0) OS.GCHandle_Free(uri); - LocationEvent newEvent = new LocationEvent(browser); - newEvent.display = browser.getDisplay(); - newEvent.widget = browser; - newEvent.location = url; - newEvent.doit = true; - for (int i = 0; i < locationListeners.length; i++) { - locationListeners[i].changing(newEvent); - } -} - -void HandleProgressChanged(int sender, int e) { - if (webBrowser == 0) return; - long nProgress = OS.WebBrowserProgressChangedEventArgs_CurrentProgress(e); - long nProgressMax = OS.WebBrowserProgressChangedEventArgs_MaximumProgress(e); - if (nProgress != -1) { - ProgressEvent newEvent = new ProgressEvent(browser); - newEvent.display = browser.getDisplay(); - newEvent.widget = browser; - newEvent.current = (int)nProgress; - newEvent.total = (int)nProgressMax; - for (int i = 0; i < progressListeners.length; i++) { - progressListeners[i].changed(newEvent); - } - } -} - -void HandleStatusTextChanged(int sender, int e) { - if (webBrowser == 0) return; - int str = OS.WebBrowser_StatusText(webBrowser); - String text = ""; - if (str != 0) { - int charArray = OS.String_ToCharArray(str); - char[] chars = new char[OS.String_Length(str)]; - OS.memcpy(chars, charArray, chars.length * 2); - OS.GCHandle_Free(charArray); - OS.GCHandle_Free(str); - text = new String(chars); - } - StatusTextEvent newEvent = new StatusTextEvent(browser); - newEvent.display = browser.getDisplay(); - newEvent.widget = browser; - newEvent.text = text; - for (int i = 0; i < statusTextListeners.length; i++) { - statusTextListeners[i].changed(newEvent); - } -} - -public boolean isBackEnabled() { - return OS.WebBrowser_CanGoBack(webBrowser); -} - -public boolean isForwardEnabled() { - return OS.WebBrowser_CanGoForward(webBrowser); -} - -public void refresh() { - OS.WebBrowser_Refresh(webBrowser); -} - -public boolean setText(String html) { - int state = OS.WebBrowser_ReadyState(webBrowser); - if (!(state == OS.WebBrowserReadyState_Uninitialized || state == OS.WebBrowserReadyState_Complete)) { - OS.WebBrowser_Stop(webBrowser); - } - int length = html.length (); - char [] buffer = new char [length + 1]; - html.getChars (0, length, buffer, 0); - int str = OS.gcnew_String (buffer); - if (str == 0) SWT.error (SWT.ERROR_NO_HANDLES); - OS.WebBrowser_DocumentText(webBrowser, str); - OS.GCHandle_Free(str); - return true; -} - -public boolean setUrl(String url) { - int state = OS.WebBrowser_ReadyState(webBrowser); - if (!(state == OS.WebBrowserReadyState_Uninitialized || state == OS.WebBrowserReadyState_Complete)) { - OS.WebBrowser_Stop(webBrowser); - } - int length = url.length (); - char [] buffer = new char [length + 1]; - url.getChars (0, length, buffer, 0); - int str = OS.gcnew_String (buffer); - OS.WebBrowser_Navigate(webBrowser, str); - OS.GCHandle_Free(str); - return true; -} - -public void stop() { - OS.WebBrowser_Stop(webBrowser); -} -} |