RCP-sovelluksen määritys

RCP-sovelluksen lisäosan määritys alkaa samalla tavalla kuin muiden tähän mennessä tarkasteltujen lisäosien määritys. Ainoa ero MANIFEST.MF-tiedostossa on, että edellytettyjen lisäosien luettelo on paljon pienempi.

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.ui
Eclipse-AutoStart: true
Eclipse-AutoStart-comment: Käytä Eclipse-AutoStart-toimintoa Eclipse-LazyStart-toiminnon sijasta, koska selainesimerkki on ajettava version 3.2 lisäksi myös versiossa 3.1.

Tähän mennessä ympäristön työympäristöön on lisätty toimintoja esittelemällä laajennuksia, jotka lisäävät elementtejä työympäristöön. Kaikki tähän mennessä tarkasteltu plugin.xml-sisältö on koskenut vain yksittäisiä lisäyksiä työympäristöön, jonka oletetaan olevan paikallaan. RCP-ympäristössä ei ole valmiiksi määritettyä sovellusta. RCP-lisäosa vastaa sen luokan määrityksestä, joka toteutetaan, kun ympäristö aloitetaan. Tämä tapahtuu org.eclipse.core.runtime.applications-laajennuksessa.

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

Tässä laajennuksessa määritetään luokka, joka ajetaan, ennen kuin ympäristö aloitetaan. Tämän luokan on toteutettava IPlatformRunnable-kohde, mikä tarkoittaa, että sen on toteutettava run-metodi. Run-metodi vastaa SWT-näytön luonnista ja työympäristön aloituksesta. Luokka PlatformUI toteuttaa lisämetodeja näiden tehtävien toteutusta varten.

	public Object run(Object args) throws Exception {
		Display display = PlatformUI.createDisplay();
		try {
			int code = PlatformUI.createAndRunWorkbench(display,
					new BrowserAdvisor());
			// poistu sovelluksesta sopiva paluukoodin kanssa
			return code == PlatformUI.RETURN_RESTART
					? EXIT_RESTART
					: EXIT_OK;
		} finally {
			if (display != null)
				display.dispose();
		}
	}

Kohteen createAndRunWorkbench kutsu ei palaudu, ennen kuin työympäristö on lopetettu. SWT-tapahtumasilmukka ja muu matalan tason logistiikka käsitellään tässä metodissa. Tässä vaiheessa ei ole kovin tärkeää ymmärtää SWT-sovelluksen ajoon liittyvää toimintaa. Koodin voi kopioida RCP-sovellukseen pienin muutoksin. Keino, jolla voit lisätä omat toimintosi, on WorkbenchAdvisor, joka välitetään argumenttina, kun työympäristö luodaan. Sitä tarkastellaan seuraavaksi.