Voor een interne editor kan een volledige integratie tussen het workbenchvenster en het editorgedeelte worden bereikt. Het workbenchmenu en de -werkbalk worden vooraf geladen met een aantal gemeenschappelijke acties, bijvoorbeeld kopiëren, knippen en plakken. De actieve gedeelten, views of editors moeten de implementatie leveren voor deze acties. Een interne editor kan ook nieuwe acties definiëren die in het workbenchvenster worden afgebeeld. Deze acties worden alleen afgebeeld als de editor actief is.
De integratie tussen de workbench en externe editors is oppervlakkiger. Voor een externe editor geldt dat de editor kan worden gestart door de workbench, maar daarna kan door de workbench niet worden vastgesteld wat de status is van de externe editor en kan niet worden samengewerkt behalve via het bestandssysteem.
<!ELEMENT extension (editor*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT editor (contentTypeBinding*)>
<!ATTLIST editor
id CDATA #REQUIRED
name CDATA #REQUIRED
icon CDATA #IMPLIED
extensions CDATA #IMPLIED
class CDATA #IMPLIED
command CDATA #IMPLIED
launcher CDATA #IMPLIED
contributorClass CDATA #IMPLIED
default (true | false) "false"
filenames CDATA #IMPLIED
symbolicFontName CDATA #IMPLIED
matchingStrategy CDATA #IMPLIED>
Let erop dat dit kenmerk op dit moment alleen geldt voor de bestandsnaam en de bijbehorende extensie. Het geldt niet voor de inhoudtypekoppeling. De beslissingen met betrekking tot inhoudtype vinden plaats op basis van 'Welke het eerst is gearriveerd'. De inhoudtypekoppeling wordt niet expliciet opgegeven.
<!ELEMENT contentTypeBinding EMPTY>
<!ATTLIST contentTypeBinding
contentTypeId CDATA #REQUIRED>
Hiermee wordt aangekondigd dat de betreffende editor het inhoudtype kan lezen en geschikt is voor het bewerken van bestanden van dit type.
<extension point=
"org.eclipse.ui.editors"
>
<editor id=
"com.xyz.XMLEditor"
name=
"Fancy XYZ XML editor"
icon=
"./icons/XMLEditor.gif"
extensions=
"xml"
class=
"com.xyz.XMLEditor"
contributorClass=
"com.xyz.XMLEditorContributor"
symbolicFontName=
"org.eclipse.jface.textfont"
default=
"false"
>
</editor>
</extension>
Als het launcher-kenmerk gebruikt is, wordt de editor ook behandeld als extern programma. In dit geval moet de opgegeven klasse org.eclipse.ui.IEditorLauncher implementeren. De launcher wordt geïnstantieerd en vervolgens wordt open(IFile file) opgeroepen om de editor te starten.
Als het class-kenmerk wordt gebruikt, wordt door de workbench verondersteld dat het een interne editor is en moet de opgegeven klasse org.eclipse.ui.IEditorPart implementeren. In het algemeen worden de subklassen onder org.eclipse.ui.EditorPart geplaatst bij het definiëren van een nieuw editortype. Ook is het nodig een contributorClass-kenmerk te definiëren. De opgegeven klasse moet org.eclipse.ui.IEditorActionBarContributor implementeren en wordt gebruikt om nieuwe acties aan het menu en de werkbalk van de workbench toe te voegen die de functies van het editortype weerspiegelen.
Binnen de workbench kunnen meerdere editors van een bepaald type geopend zijn. Er kunnen bijvoorbeeld een of meer Java-editors geopend zijn. Om het maken van dubbele acties of actieafbeeldingen te voorkomen, is het editorconcept in tweeën gesplitst. Een IEditorActionBarContributor is verantwoordelijk voor het maken van de acties. De editor is verantwoordelijk voor het implementeren van de acties. Bovendien wordt de Deelnemer (contributor) gedeeld met elke openstaande editor. Het gevolg van dit ontwerp is dat er slechts een set acties is voor een of meer geopende editors.
De Deelnemer voegt nieuwe acties toe aan het menu en de werkbalk van de workbench die het editortype weerspiegelen. Deze acties worden gedeeld en als deze worden opgeroepen, hebben de acties effect op de actieve editor. De actieve editor wordt doorgegeven aan de Deelnemer door het oproepen van IEditorActionBarContributor.setActiveEditor. De ID's van acties en hoofdgroepen binnen het workbenchvenster worden gedefinieerd in org.eclipse.ui.IWorkbenchActionConstants. Deze worden gebruikt als referentiepunt voor het toevoegen van nieuwe acties. Toplevelmenu's worden gemaakt met behulp van de volgende waarden voor het padkenmerk:
Copyright (c) 2002, 2005 IBM Corporation en anderen.
Alle rechten voorbehouden. Dit programma en het begeleidende materiaal zijn beschikbaar gesteld onder de voorwaarden van de Eclipse Public License v1.0 die bij deze distributie is geleverd en beschikbaar is op http://www.eclipse.org/legal/epl-v10.html.