Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java')
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java191
1 files changed, 0 insertions, 191 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
deleted file mode 100644
index 59e459e2a0..0000000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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.snippets;
-
-/*
- * OLE and ActiveX example snippet: get events from IE control (win32 only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.internal.ole.win32.*;
-
-public class Snippet123 {
-
-public static void main(String[] args) {
- final Display display = new Display();
- Shell shell = new Shell(display);
- shell.setLayout(new FillLayout());
- OleControlSite controlSite;
- try {
- OleFrame frame = new OleFrame(shell, SWT.NONE);
- controlSite = new OleControlSite(frame, SWT.NONE, "Shell.Explorer");
- controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
- } catch (SWTError e) {
- System.out.println("Unable to open activeX control");
- return;
- }
- shell.open();
-
- // IWebBrowser
- final OleAutomation webBrowser = new OleAutomation(controlSite);
-
- // When a new document is loaded, access the document object for the new page.
- int DownloadComplete = 104;
- controlSite.addEventListener(DownloadComplete, new OleListener() {
- public void handleEvent(OleEvent event) {
- int[] htmlDocumentID = webBrowser.getIDsOfNames(new String[]{"Document"});
- if (htmlDocumentID == null) return;
- Variant pVarResult = webBrowser.getProperty(htmlDocumentID[0]);
- if (pVarResult == null || pVarResult.getType() == 0) return;
- //IHTMLDocument2
- OleAutomation htmlDocument = pVarResult.getAutomation();
-
- // Request to be notified of click, double click and key down events
- EventDispatch myDispatch = new EventDispatch(EventDispatch.onclick);
- IDispatch idispatch = new IDispatch(myDispatch.getAddress());
- Variant dispatch = new Variant(idispatch);
- htmlDocument.setProperty(EventDispatch.onclick, dispatch);
-
- myDispatch = new EventDispatch(EventDispatch.ondblclick);
- idispatch = new IDispatch(myDispatch.getAddress());
- dispatch = new Variant(idispatch);
- htmlDocument.setProperty(EventDispatch.ondblclick, dispatch);
-
- myDispatch = new EventDispatch(EventDispatch.onkeydown);
- idispatch = new IDispatch(myDispatch.getAddress());
- dispatch = new Variant(idispatch);
- htmlDocument.setProperty(EventDispatch.onkeydown, dispatch);
-
- //Remember to release OleAutomation Object
- htmlDocument.dispose();
- }
- });
-
- // Navigate to a web site
- int[] ids = webBrowser.getIDsOfNames(new String[]{"Navigate", "URL"});
- Variant[] rgvarg = new Variant[] {new Variant("http://www.google.com")};
- int[] rgdispidNamedArgs = new int[]{ids[1]};
- webBrowser.invoke(ids[0], rgvarg, rgdispidNamedArgs);
-
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- //Remember to release OleAutomation Object
- webBrowser.dispose();
- display.dispose();
-
-}
-}
-// EventDispatch implements a simple IDispatch interface which will be called
-// when the event is fired.
-class EventDispatch {
- private COMObject iDispatch;
- private int refCount = 0;
- private int eventID;
-
- final static int onhelp = 0x8001177d;
- final static int onclick = 0x80011778;
- final static int ondblclick = 0x80011779;
- final static int onkeyup = 0x80011776;
- final static int onkeydown = 0x80011775;
- final static int onkeypress = 0x80011777;
- final static int onmouseup = 0x80011773;
- final static int onmousedown = 0x80011772;
- final static int onmousemove = 0x80011774;
- final static int onmouseout = 0x80011771;
- final static int onmouseover = 0x80011770;
- final static int onreadystatechange = 0x80011789;
- final static int onafterupdate = 0x80011786;
- final static int onrowexit= 0x80011782;
- final static int onrowenter = 0x80011783;
- final static int ondragstart = 0x80011793;
- final static int onselectstart = 0x80011795;
-
- EventDispatch(int eventID) {
- this.eventID = eventID;
- createCOMInterfaces();
- }
- int getAddress() {
- return iDispatch.getAddress();
- }
- private void createCOMInterfaces() {
- iDispatch = new COMObject(new int[]{2, 0, 0, 1, 3, 4, 8}){
- 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();}
- // method3 GetTypeInfoCount - not implemented
- // method4 GetTypeInfo - not implemented
- // method5 GetIDsOfNames - not implemented
- public int method6(int[] args) {return Invoke(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);}
- };
- }
- private void disposeCOMInterfaces() {
- if (iDispatch != null)
- iDispatch.dispose();
- iDispatch = null;
-
- }
- private int AddRef() {
- refCount++;
- return refCount;
- }
- private int Invoke(int dispIdMember, int riid, int lcid, int dwFlags, int pDispParams, int pVarResult, int pExcepInfo, int pArgErr) {
- switch (eventID) {
- case onhelp: System.out.println("onhelp"); break;
- case onclick: System.out.println("onclick"); break;
- case ondblclick: System.out.println("ondblclick"); break;
- case onkeyup: System.out.println("onkeyup"); break;
- case onkeydown: System.out.println("onkeydown"); break;
- case onkeypress: System.out.println("onkeypress"); break;
- case onmouseup: System.out.println("onmouseup"); break;
- case onmousedown: System.out.println("onmousedown"); break;
- case onmousemove: System.out.println("onmousemove"); break;
- case onmouseout: System.out.println("onmouseout"); break;
- case onmouseover: System.out.println("onmouseover"); break;
- case onreadystatechange: System.out.println("onreadystatechange"); break;
- case onafterupdate: System.out.println("onafterupdate"); break;
- case onrowexit: System.out.println("onrowexit"); break;
- case onrowenter: System.out.println("onrowenter"); break;
- case ondragstart: System.out.println("ondragstart"); break;
- case onselectstart: System.out.println("onselectstart"); break;
- }
- return COM.S_OK;
- }
- private int QueryInterface(int riid, int ppvObject) {
- if (riid == 0 || ppvObject == 0) return COM.E_INVALIDARG;
- GUID guid = new GUID();
- COM.MoveMemory(guid, riid, GUID.sizeof);
-
- if ( COM.IsEqualGUID(guid, COM.IIDIUnknown) || COM.IsEqualGUID(guid, COM.IIDIDispatch)) {
- COM.MoveMemory(ppvObject, new int[] {iDispatch.getAddress()}, 4);
- AddRef();
- return COM.S_OK;
- }
- COM.MoveMemory(ppvObject, new int[] {0}, 4);
- return COM.E_NOINTERFACE;
- }
- int Release() {
- refCount--;
- if (refCount == 0) {
- disposeCOMInterfaces();
- }
- return refCount;
- }
-}
-

Back to the top