Rich Client-toepassing definiëren

De definitie van een Rich Client-toepassingsplugin begint op dezelfde manier als de andere plugins die zijn besproken. Het enige verschil in het MANIFEST.MF-bestand is dat de lijst van de vereiste plugins veel kleiner is dan de lijst die u gewend bent.

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ui.examples.rcp.browser; singleton:=true
Bundle-Version: 3.2.0.qualifier
Bundle-ClassPath: browser.jar
Bundle-Activator: org.eclipse.ui.examples.rcp.browser.BrowserPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.uiEclipse-AutoStart: true
Eclipse-AutoStart-comment: gebruik Eclipse-AutoStart in plaats van Eclipse-LazyStart omdat het browservoorbeeld zowel voor 3.1 als voor 3.2 moet worden uitgevoerd.

Tot dusver werd een functie aan de platformworkbench geleverd door extensies te declareren die elementen aan de workbench toevoegen. In alle plugin.xml-content die u tot nu toe hebt bekeken, is alleen gelet op individuele bijdragen aan de workbench waarvan verondersteld wordt dat deze aanwezig is. Op het Rich Client Platform zijn nog geen toepassingen gedefinieerd. De Rich Client-plugin is verantwoordelijk voor het opgeven van de klasse die moet worden uitgevoerd als het platform wordt gestart. Dit wordt uitgevoerd in de extensie org.eclipse.core.runtime.applications.

       <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 deze extensie wordt de klasse opgegeven die moet worden uitgevoerd als het platform de eerste keer wordt gestart. Deze klasse moet IPlatformRunnable implementeren, ofwel moet een methode Uitvoeren implementeren. Met de methode Uitvoeren wordt de SWT-weergave gemaakt en wordt een workbench opgestart. De klasse PlatformUI implementeert methoden die het uitvoeren van deze taak vereenvoudigen.

	public Object run(Object args) throws Exception {
		Display display = PlatformUI.createDisplay();
		try {
			int code = PlatformUI.createAndRunWorkbench(display,
					new BrowserAdvisor());
			// de toepassing verlaten met een geschikte retourcode
			return code == PlatformUI.RETURN_RESTART
					? EXIT_RESTART
					: EXIT_OK;
		} finally {
			if (display != null)
				display.dispose();
		}
	}

Na een aanroep van createAndRunWorkbench wordt niet geretourneerd voordat de workbench wordt gesloten. De SWT-eventlus en andere logistiek op een laag niveau, worden binnen deze methode afgehandeld. In dit stadium is het nog niet zo belangrijk de onderliggende mechanismen van het uitvoeren van een SWT-toepassing te begrijpen. Deze code kan na een minimum aan wijzigingen worden gekopieerd naar uw Rich Client-toepassing. In feite is de ingang voor u om uw eigen functionaliteit toe te kunnen voegen, de WorkbenchAdvisor die als argument wordt doorgegeven bij het maken van de workbench. Dit wordt meer in detail besproken.