Redigeringsprogrammer i arbeidsbenken

Selv om implementeringen av et redigeringsprogram i arbeidsbenken er spesifikk for plugin-modulen og innholdet du vil redigere, inneholder arbeidsbenken en generell struktur for bygging av et redigeringsprogram. Følgende begreper gjelder alle redigeringsprogrammer i arbeidsbenken.

Redigeringsprogramdeler og inndata

Et redigeringsprogram må implementere IEditorPart og bygges som regel ved å utvide klassen EditorPart.  Et redigeringsprogram implementerer brukergrensesnittet via metoden createPartControl. Denne metoden brukes for å samle SWT-widgeter eller JFace-visningsprogrammer som presenterer innholdet i redigeringsprogrammet. 

Redigeringsprograminndata er en beskrivelse av noe som skal redigeres. Tenk deg at redigeringsprograminndata er et filnavn, selv om det er mer generelt enn filnavn. IEditorInput definerer protokollen for redigeringsprograminndata, blant annet navn på inndataene og hvilket bilde som skal brukes til å representere inndataene i etikettene øverst i redigeringsprogrammet.

Etikett for redigeringsprograminndata

Det finnes to generiske redigeringsprograminndata i plattformen. IFileEditorInput representerer inndata som er en fil i et filsystem.  IStorageEditorInput representerer inndata som er en datastrøm av byte. Byte kan komme fra andre kilder enn filsystemet.

Tilbakestille redigeringsprograminndata

Hvis redigeringsprogrammet støtter umiddelbar utbytting av inndataobjektet i redigeringsprogrammet, bør du implementere  IReusableEditor. Ved å implementere dette grensesnittet kan arbeidsbenken "resirkulere" redigeringsprogrammet.  Arbeidsbenkens brukerpreferanser gjør det mulig for brukeren å angi at redigeringsprogrammer skal brukes om igjen når det er et bestemt antall som er åpne.

Navigere i redigeringsprograminndata 

Hvis du vil implementere navigeringshistorikken i redigeringsprogrammet, må du implementere INavigationLocationProvider.  Her finnes arbeidsbenkfunksjonalitet for forespørsel om en gjeldende navigeringsplassering (INavigationLocation) som er nødvendig for navigeringshistorikken. Arbeidsbenken håndterer funksjonene for brukergrensesnittet for navigering.  INavigationLocation varsles når det er på tide å gjenopprette redigeringsprogrammet med den plasseringen den representerer.

Den øvrige implementeringen av redigeringsprogrammet avhenger av hvilket innhold du vil presentere.  Vi skal nå se nærmere på tekstredigeringsprogrammet, som er det vanligste redigeringsprogrammet.