summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java')
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java372
1 files changed, 0 insertions, 372 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java
deleted file mode 100644
index 1aa7bcee12..0000000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java
+++ /dev/null
@@ -1,372 +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.examples.browserexample;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.util.*;
-
-public class BrowserExample {
- static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_browser");
- int index;
- boolean busy;
- Image images[];
- Image icon = null;
- boolean title = false;
- Composite parent;
- Text locationBar;
- Browser browser;
- ToolBar toolbar;
- Canvas canvas;
- ToolItem itemBack, itemForward;
- Label status;
- ProgressBar progressBar;
- SWTError error = null;
-
- static final String[] imageLocations = {
- "eclipse01.bmp", "eclipse02.bmp", "eclipse03.bmp", "eclipse04.bmp", "eclipse05.bmp",
- "eclipse06.bmp", "eclipse07.bmp", "eclipse08.bmp", "eclipse09.bmp", "eclipse10.bmp",
- "eclipse11.bmp", "eclipse12.bmp",};
- static final String iconLocation = "document.gif";
-
- public BrowserExample(Composite parent, boolean top) {
- this.parent = parent;
- try {
- browser = new Browser(parent, SWT.BORDER);
- } catch (SWTError e) {
- error = e;
- /* Browser widget could not be instantiated */
- parent.setLayout(new FillLayout());
- Label label = new Label(parent, SWT.CENTER | SWT.WRAP);
- label.setText(getResourceString("BrowserNotCreated"));
- parent.layout(true);
- return;
- }
- initResources();
- final Display display = parent.getDisplay();
- browser.setData("org.eclipse.swt.examples.browserexample.BrowserApplication", this);
- browser.addOpenWindowListener(new OpenWindowListener() {
- public void open(WindowEvent event) {
- Shell shell = new Shell(display);
- if (icon != null) shell.setImage(icon);
- shell.setLayout(new FillLayout());
- BrowserExample app = new BrowserExample(shell, false);
- app.setShellDecoration(icon, true);
- event.browser = app.getBrowser();
- }
- });
- if (top) {
- browser.setUrl(getResourceString("Startup"));
- show(false, null, null, true, true, true, true);
- } else {
- browser.addVisibilityWindowListener(new VisibilityWindowListener() {
- public void hide(WindowEvent e) {
- }
- public void show(WindowEvent e) {
- Browser browser = (Browser)e.widget;
- BrowserExample app = (BrowserExample)browser.getData("org.eclipse.swt.examples.browserexample.BrowserApplication");
- app.show(true, e.location, e.size, e.addressBar, e.menuBar, e.statusBar, e.toolBar);
- }
- });
- browser.addCloseWindowListener(new CloseWindowListener() {
- public void close(WindowEvent event) {
- Browser browser = (Browser)event.widget;
- Shell shell = browser.getShell();
- shell.close();
- }
- });
- }
- }
-
- /**
- * Disposes of all resources associated with a particular
- * instance of the BrowserApplication.
- */
- public void dispose() {
- freeResources();
- }
-
- /**
- * Gets a string from the resource bundle.
- * We don't want to crash because of a missing String.
- * Returns the key if not found.
- */
- static String getResourceString(String key) {
- try {
- return resourceBundle.getString(key);
- } catch (MissingResourceException e) {
- return key;
- } catch (NullPointerException e) {
- return "!" + key + "!";
- }
- }
-
- public SWTError getError() { return error; }
-
- public Browser getBrowser() { return browser; }
-
- public void setShellDecoration(Image icon, boolean title) {
- this.icon = icon;
- this.title = title;
- }
-
- void show(boolean owned, Point location, Point size, boolean addressBar, boolean menuBar, boolean statusBar, boolean toolBar) {
- final Shell shell = browser.getShell();
- if (owned) {
- if (location != null) shell.setLocation(location);
- if (size != null) shell.setSize(shell.computeSize(size.x, size.y));
- }
- FormData data = null;
- if (toolBar) {
- toolbar = new ToolBar(parent, SWT.NONE);
- data = new FormData();
- data.top = new FormAttachment(0, 5);
- toolbar.setLayoutData(data);
- itemBack = new ToolItem(toolbar, SWT.PUSH);
- itemBack.setText(getResourceString("Back"));
- itemForward = new ToolItem(toolbar, SWT.PUSH);
- itemForward.setText(getResourceString("Forward"));
- final ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
- itemStop.setText(getResourceString("Stop"));
- final ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
- itemRefresh.setText(getResourceString("Refresh"));
- final ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
- itemGo.setText(getResourceString("Go"));
-
- itemBack.setEnabled(browser.isBackEnabled());
- itemForward.setEnabled(browser.isForwardEnabled());
- Listener listener = new Listener() {
- public void handleEvent(Event event) {
- ToolItem item = (ToolItem)event.widget;
- if (item == itemBack) browser.back();
- else if (item == itemForward) browser.forward();
- else if (item == itemStop) browser.stop();
- else if (item == itemRefresh) browser.refresh();
- else if (item == itemGo) browser.setUrl(locationBar.getText());
- }
- };
- itemBack.addListener(SWT.Selection, listener);
- itemForward.addListener(SWT.Selection, listener);
- itemStop.addListener(SWT.Selection, listener);
- itemRefresh.addListener(SWT.Selection, listener);
- itemGo.addListener(SWT.Selection, listener);
-
- canvas = new Canvas(parent, SWT.NO_BACKGROUND);
- data = new FormData();
- data.width = 24;
- data.height = 24;
- data.top = new FormAttachment(0, 5);
- data.right = new FormAttachment(100, -5);
- canvas.setLayoutData(data);
-
- final Rectangle rect = images[0].getBounds();
- canvas.addListener(SWT.Paint, new Listener() {
- public void handleEvent(Event e) {
- Point pt = ((Canvas)e.widget).getSize();
- e.gc.drawImage(images[index], 0, 0, rect.width, rect.height, 0, 0, pt.x, pt.y);
- }
- });
- canvas.addListener(SWT.MouseDown, new Listener() {
- public void handleEvent(Event e) {
- browser.setUrl(getResourceString("Startup"));
- }
- });
-
- final Display display = parent.getDisplay();
- display.asyncExec(new Runnable() {
- public void run() {
- if (canvas.isDisposed()) return;
- if (busy) {
- index++;
- if (index == images.length) index = 0;
- canvas.redraw();
- }
- display.timerExec(150, this);
- }
- });
- }
- if (addressBar) {
- locationBar = new Text(parent, SWT.BORDER);
- data = new FormData();
- if (toolbar != null) {
- data.top = new FormAttachment(toolbar, 0, SWT.TOP);
- data.left = new FormAttachment(toolbar, 5, SWT.RIGHT);
- data.right = new FormAttachment(canvas, -5, SWT.DEFAULT);
- } else {
- data.top = new FormAttachment(0, 0);
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- }
- locationBar.setLayoutData(data);
- locationBar.addListener(SWT.DefaultSelection, new Listener() {
- public void handleEvent(Event e) {
- browser.setUrl(locationBar.getText());
- }
- });
- }
- if (statusBar) {
- status = new Label(parent, SWT.NONE);
- progressBar = new ProgressBar(parent, SWT.NONE);
-
- data = new FormData();
- data.left = new FormAttachment(0, 5);
- data.right = new FormAttachment(progressBar, 0, SWT.DEFAULT);
- data.bottom = new FormAttachment(100, -5);
- status.setLayoutData(data);
-
- data = new FormData();
- data.right = new FormAttachment(100, -5);
- data.bottom = new FormAttachment(100, -5);
- progressBar.setLayoutData(data);
-
- browser.addStatusTextListener(new StatusTextListener() {
- public void changed(StatusTextEvent event) {
- status.setText(event.text);
- }
- });
- }
- parent.setLayout(new FormLayout());
-
- Control aboveBrowser = toolBar ? (Control)canvas : (addressBar ? (Control)locationBar : null);
- data = new FormData();
- data.left = new FormAttachment(0, 0);
- data.top = aboveBrowser != null ? new FormAttachment(aboveBrowser, 5, SWT.DEFAULT) : new FormAttachment(0, 0);
- data.right = new FormAttachment(100, 0);
- data.bottom = status != null ? new FormAttachment(status, -5, SWT.DEFAULT) : new FormAttachment(100, 0);
- browser.setLayoutData(data);
-
- if (statusBar || toolBar) {
- browser.addProgressListener(new ProgressListener() {
- public void changed(ProgressEvent event) {
- if (event.total == 0) return;
- int ratio = event.current * 100 / event.total;
- if (progressBar != null) progressBar.setSelection(ratio);
- busy = event.current != event.total;
- if (!busy) {
- index = 0;
- if (canvas != null) canvas.redraw();
- }
- }
- public void completed(ProgressEvent event) {
- if (progressBar != null) progressBar.setSelection(0);
- busy = false;
- index = 0;
- if (canvas != null) {
- itemBack.setEnabled(browser.isBackEnabled());
- itemForward.setEnabled(browser.isForwardEnabled());
- canvas.redraw();
- }
- }
- });
- }
- if (addressBar || statusBar || toolBar) {
- browser.addLocationListener(new LocationListener() {
- public void changed(LocationEvent event) {
- busy = true;
- if (event.top && locationBar != null) locationBar.setText(event.location);
- }
- public void changing(LocationEvent event) {
- }
- });
- }
- if (title) {
- browser.addTitleListener(new TitleListener() {
- public void changed(TitleEvent event) {
- shell.setText(event.title+" - "+getResourceString("window.title"));
- }
- });
- }
- parent.layout(true);
- if (owned) shell.open();
- }
-
- /**
- * Grabs input focus.
- */
- public void focus() {
- if (locationBar != null) locationBar.setFocus();
- else if (browser != null) browser.setFocus();
- else parent.setFocus();
- }
-
- /**
- * Frees the resources
- */
- void freeResources() {
- if (images != null) {
- for (int i = 0; i < images.length; ++i) {
- final Image image = images[i];
- if (image != null) image.dispose();
- }
- images = null;
- }
- }
-
- /**
- * Loads the resources
- */
- void initResources() {
- final Class clazz = this.getClass();
- if (resourceBundle != null) {
- try {
- if (images == null) {
- images = new Image[imageLocations.length];
- for (int i = 0; i < imageLocations.length; ++i) {
- InputStream sourceStream = clazz.getResourceAsStream(imageLocations[i]);
- ImageData source = new ImageData(sourceStream);
- ImageData mask = source.getTransparencyMask();
- images[i] = new Image(null, source, mask);
- try {
- sourceStream.close();
- } catch (IOException e) {
- e.printStackTrace ();
- }
- }
- }
- return;
- } catch (Throwable t) {
- }
- }
- String error = (resourceBundle != null) ? getResourceString("error.CouldNotLoadResources") : "Unable to load resources";
- freeResources();
- throw new RuntimeException(error);
- }
-
- public static void main(String [] args) {
- Display display = new Display();
- Shell shell = new Shell(display);
- shell.setLayout(new FillLayout());
- shell.setText(getResourceString("window.title"));
- InputStream stream = BrowserExample.class.getResourceAsStream(iconLocation);
- Image icon = new Image(display, stream);
- shell.setImage(icon);
- try {
- stream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- BrowserExample app = new BrowserExample(shell, true);
- app.setShellDecoration(icon, true);
- shell.open();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- icon.dispose();
- app.dispose();
- display.dispose();
- }
-}