<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<title>Eclipse RCP Browser Example</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h2>Eclipse RCP Browser Example</h2>
 
<p>Last updated May 21, 2004</p>	

<h3>Description</h3>
<p>This is an example of a simple Eclipse Rich Client Platform (RCP) application.
It is a bare bones web browser, using the SWT Browser control.
</p>
<p>
The code is in package <code>org.eclipse.ui.examples.browser</code>, and consists
of an application class (<code>BrowserApp</code>), a workbench advisor for 
configuring the workbench (<code>BrowserAdvisor</code>), and a single perspective 
(<code>BrowserPerspectiveFactory</code>) containing a single view (<code>BrowserView</code>).
</p>
<p>
The application defines several built-in actions in the menu and toolbar that are
typical for web browsers (Back, Forward, Stop, Refresh).  These are added in 
<code>BrowserActionBuilder</code> when a new window is opened (see 
<code>BrowserAdvisor.fillActionBars(...)</code>).  These actions are defined as 
retargetable actions, for which the view registers handling actions.
</p>
<p>
The view consists of an address bar (a <code>Label</code> and a <code>Text</code>
control) and the <code>Browser</code> control.  To handle status and progress
events, it simply passes on the relevant events from the <code>Browser</code> 
control to the Workbench status line.

<h3>Running the example</h3>
To run the RCP Browser example from within the Eclipse SDK:
<ol>
<li>Load project org.eclipse.ui.examples.rcp.browser
from the Eclipse repository into a self-hosting workspace.</li>
<li>Create a new "Run-time workbench" launch configuration called "Browser Example".</li>
<li>On the "Arguments" tab, select "Run a product" and choose select "org.eclipse.ui.examples.rcp.browser.product" from the drop-down.</li>
<li>On the "Plug-ins" tab, configure it to include only the 
  required plug-ins:
  <ul>
  <li>Press "Deselect All"</li>
  <li>Check "org.eclipse.ui.examples.rcp.browser"</li>
  <li>Press "Add Required Plug-ins"</li>
  <li>Check "org.eclipse.update.configurator"</li>
  </ul>
</li>
<li>Run or debug the launch config.</li>
</body>
</html>