Rich Client-Anwendung definieren

Die Definition eines Plug-ins für Rich Client-Anwendungen beginnt ähnlich wie bei den bereits bekannten Plug-ins. Der einzige Unterschied im ersten Abschnitt des Befehlsteils besteht darin, dass die Liste der erforderlichen Plug-ins deutlich kürzer ist als bisher.

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.ui.examples.rcp.browser"
   name="%pluginName"
   version="3.0.0"
   provider-name="%providerName">

   <runtime>
      <library name="browser.jar">
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.ui"/>
   </requires>

Bisher wurde Funktionalität zur Workbench der Plattform hinzugefügt, indem Erweiterungen deklariert wurden, die der Workbench Elemente hinzufügen. Bei allen bisher dargestellten Inhalten für die Datei plugin.xml wurden nur einzelne Ergänzungen zu einer Workbench betrachtet, deren Existenz vorausgesetzt wird. Auf der Rich Client-Plattform ist noch keine Anwendung definiert. Das Rich Client-Plug-in ist für die Bestimmung der Klasse verantwortlich, die beim Starten der Plattform ausgeführt werden soll. Dies wird in der Erweiterung org.eclipse.core.runtime.applications vorgenommen.

   <extension
         point="org.eclipse.core.runtime.applications"
         id="app"
         name="%appName">
      <application>
         <run
            class="org.eclipse.ui.examples.rcp.browser.BrowserApp">
         </run>
      </application>
   </extension>

In dieser Erweiterung wird die Klasse angegeben, die ausgeführt werden soll, wenn die Plattform gestartet wird. Diese Klasse muss IPlatformRunnable implementieren, was bedeutet, dass sie lediglich eine Methode run implementieren muss. Die Methode 'run' erstellt die SWT-Anzeige und startet eine Workbench. Die Klasse PlatformUI implementiert Komfortklassen, um diese Tasks auszuführen.

	public Object run(Object args) throws Exception {
		Display display = PlatformUI.createDisplay();
		try {
			int code = PlatformUI.createAndRunWorkbench(display,
					new BrowserAdvisor());
			// exit the application with an appropriate return code
			return code == PlatformUI.RETURN_RESTART
					? EXIT_RESTART
					: EXIT_OK;
	} finally {
			if (display != null)
display.dispose();
		}
	}

Der Aufruf von createAndRunWorkbench liefert keine Rückgabe, bis die Workbench geschlossen ist. Die SWT-Ereignisschleife und andere Vorgänge auf niedriger Ebene werden innerhalb dieser Methode behandelt. Zu diesem Zeitpunkt ist es nicht unbedingt erforderlich, dass Sie die zu Grunde liegenden Mechaniken einer SWT-Anwendung verstehen. Dieser Code kann mit minimalen Anpassungen in Ihre Rich Client-Anwendung hineinkopiert werden. Die Advisorfunktion WorkbenchAdvisor, die bei der Workbench-Erstellung als Argument übergeben wird, ist der Anbindungspunkt, an dem Sie eigene Funktionalität hinzufügen können. Diese soll in einem ersten Schritt betrachtet werden.