summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Gayed <grant_gayed@ca.ibm.com>2012-09-05 14:03:40 -0400
committerGrant Gayed <grant_gayed@ca.ibm.com>2012-09-05 14:03:40 -0400
commitf270477f1c8b800200dc7defd086f01cd022320a (patch)
tree16926979bf498a4e8ea46efc2f1972e4d3ea0cfc
parent0f600038a7953606793611cd83796d697371e798 (diff)
downloadeclipse.platform.swt-f270477f1c8b800200dc7defd086f01cd022320a.tar.gz
eclipse.platform.swt-f270477f1c8b800200dc7defd086f01cd022320a.tar.xz
eclipse.platform.swt-f270477f1c8b800200dc7defd086f01cd022320a.zip
initial
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet362.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet362.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet362.java
new file mode 100644
index 0000000000..a30b49db43
--- /dev/null
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet362.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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;
+
+/*
+ * Browser example snippet: listen for DOM mousedown events with javascript (improved
+ * implementation for Eclipse/SWT 3.5 and newer).
+ *
+ * For a list of all SWT example snippets see
+ * http://www.eclipse.org/swt/snippets/
+ */
+import org.eclipse.swt.*;
+import org.eclipse.swt.browser.*;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.widgets.*;
+
+public class Snippet362 {
+
+public static void main(String [] args) {
+ final String SCRIPT = "document.onmousedown = function(e) {if (!e) {e = window.event;} if (e) {mouseDownHappened(e.clientX, e.clientY);}}";
+ Display display = new Display();
+ final Shell shell = new Shell(display);
+ shell.setLayout(new FillLayout());
+ final Browser browser;
+ try {
+ browser = new Browser(shell, SWT.NONE);
+ } catch (SWTError e) {
+ System.out.println("Could not instantiate Browser: " + e.getMessage());
+ display.dispose();
+ return;
+ }
+ final BrowserFunction function = new CustomFunction (browser, "mouseDownHappened");
+ browser.addProgressListener (new ProgressAdapter () {
+ public void completed (ProgressEvent event) {
+ browser.execute(SCRIPT);
+ browser.addLocationListener (new LocationAdapter () {
+ public void changed (LocationEvent event) {
+ browser.removeLocationListener (this);
+ function.dispose ();
+ }
+ });
+ }
+ });
+
+ browser.setUrl("eclipse.org");
+ shell.open();
+ while (!shell.isDisposed()) {
+ if (!display.readAndDispatch()) display.sleep();
+ }
+ display.dispose();
+}
+
+static class CustomFunction extends BrowserFunction {
+ CustomFunction (Browser browser, String name) {
+ super (browser, name);
+ }
+ public Object function (Object[] arguments) {
+ System.out.println ("mouseDown: " + ((Number)arguments[0]).intValue() + "," + ((Number)arguments[1]).intValue());
+ return null;
+ }
+}
+}