summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Gayed <ggayed>2007-03-15 15:45:08 +0000
committerGrant Gayed <ggayed>2007-03-15 15:45:08 +0000
commit1847d71b7a843cd9e8a648eada934d8a8333582d (patch)
treef0765745b7842945137812d77eedf2e33d9c9e0d
parentc2c8934388f1a5373cba0d0285144058a8b19928 (diff)
downloadeclipse.platform.swt-1847d71b7a843cd9e8a648eada934d8a8333582d.tar.gz
eclipse.platform.swt-1847d71b7a843cd9e8a648eada934d8a8333582d.tar.xz
eclipse.platform.swt-1847d71b7a843cd9e8a648eada934d8a8333582d.zip
*** empty log message ***
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
new file mode 100644
index 0000000000..ede7f8e675
--- /dev/null
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.widgets.*;
+import org.mozilla.interfaces.*;
+
+/*
+ * Browser example snippet: Toggle a Mozilla-based Browser between Design mode and View mode.
+ *
+ * IMPORTANT: For this snippet to work properly all of the requirements for running a
+ * Mozilla-based Browser instance listed in http://www.eclipse.org/swt/faq.php#howusemozilla
+ * must be satisfied.
+ *
+ * For a list of all SWT example snippets see
+ * http://www.eclipse.org/swt/snippets/
+ *
+ * @since 3.3
+ */
+public class Snippet267 {
+ static Browser browser;
+ public static void main (String [] args) {
+ Display display = new Display();
+ Shell shell = new Shell(display);
+ shell.setLayout(new GridLayout(2, true));
+ browser = new Browser(shell, SWT.MOZILLA);
+ browser.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));
+
+ final Button offButton = new Button(shell, SWT.RADIO);
+ offButton.setText("Design Mode Off");
+ offButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event event) {
+ if (!offButton.getSelection()) return;
+ setDesignMode("off");
+ }
+ });
+ final Button onButton = new Button(shell, SWT.RADIO);
+ onButton.setText("Design Mode On");
+ onButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event event) {
+ if (!onButton.getSelection()) return;
+ boolean success = setDesignMode("on");
+ if (!success) {
+ onButton.setSelection(false);
+ offButton.setSelection(true);
+ }
+ }
+ });
+ offButton.setSelection(true);
+
+ browser.setUrl("http://www.eclipse.org");
+ shell.open();
+ while (!shell.isDisposed()) {
+ if (!display.readAndDispatch()) display.sleep();
+ }
+ display.dispose();
+ }
+ public static boolean setDesignMode(String value) {
+ nsIWebBrowser webBrowser = (nsIWebBrowser)browser.getWebBrowser();
+ if (webBrowser == null) {
+ System.out.println("Could not get the nsIWebBrowser from the Browser widget");
+ return false;
+ }
+ nsIDOMWindow window = webBrowser.getContentDOMWindow();
+ nsIDOMDocument document = window.getDocument();
+ nsIDOMNSHTMLDocument nsDocument = (nsIDOMNSHTMLDocument)document.queryInterface(nsIDOMNSHTMLDocument.NS_IDOMNSHTMLDOCUMENT_IID);
+ nsDocument.setDesignMode(value);
+ return true;
+ }
+}