Eksempel - Readme Tool
Innledning
Readme-redigeringsprogrammet viser hvordan du definerer egne utvidelsespunkter som skal brukes av andre
plugin-moduler. Det viser også hvordan du oppretter utvidelser for oppføringer på hurtigmenyer for ressurser,
nye ressursveivisere, filredigeringsprogrammer for en utvidelse (.readme), en tilpasset visning og
egenskapssider.
Kjøre eksempelet
Når du skal bruke dette eksempelet, oppretter du en fil med filtypen .readme. Bruk veiviseren for
opprettelse av filer eller opprett en ved hjelp av eksempelopprettelsesveiviseren.
Den andre visningen som
dette eksempelet har, kan du se ved å velge Vindu > Vis visning > Annet og utvide Readme-delen. Du får se
visningshandlingen hvis du klikker på readme-ikonet i Navigator-visningen.
Opprette en ny readme-fil
Opprett en ny fil med filtypen .readme. Fra Fil-menyen velger du Ny(tt) og deretter Annet... fra undermenyen. Klikk
på Enkel i veiviseren, og velg deretter Fil på listen til venstre. Klikk på Neste for å oppgi filnavnet (pass
på at filtypen er .readme) og mappen der filen skal ligge.
Eksempelopprettelsesveivisere
Fra Fil-menyen velger du Ny(tt), og fra undermenyen velger du Eksempel...
Velg deretter Example Creation Wizards. Velg Readme File. Klikk på Neste. Velg mappen der du vil at filen skal opprettes. Skriv navnet på filen med filtypen .readme. Klikk på Fullfør.
Readme-visningsutvidelseshandling
I Navigator-visningen velger du en fil med filtypen .readme. Hvis du ikke har en fil med den
filtypen, oppretter du en. På den lokale verktøylinjen i Navigator-visningen ser du en knapp der pekehjelpen sier "Run Readme View
Extension". Klikk på den knappen. Du får frem en dialogboks som sier at visningshandlingen er utført.
Hurtigmenyer
I Navigator-visningen velger du en fil med filtypen .readme. Hvis du ikke har en fil med den
filtypen, oppretter du en. Velg filen for å få frem hurtigmenyen. Legg merke til at hurtigmenyen har et
menypunkt for å vise Readme-handling. Velg dette menypunktet for å åpne en dialogboks som sier at
hurtigmenyhandlingen er utført.
Preferanseside
Fra Vindu-menyen velger du Preferanser. Klikk på siden Readme Example. Dette viser et eksempel på
en preferanseside.
Egenskapsside
I Navigator-visningen velger du en fil med filtypen .readme. Hvis du ikke har en fil med den
filtypen, oppretter du en. Velg filen for å få frem hurtigmenyen, og velg deretter menypunktet Egenskaper. Klikk på siden
for Readme-verktøyet for å se et eksempel på en egenskapsside.
Redigeringsprogram for Readme-fil
Readme File Editor er standard redigeringsprogram for filer av typen *.readme. Opprett en fil med filtypen
.readme og åpne filen ved å dobbeltklikke på den, eller ved å åpne hurtigmenyen, velge Åpne i og deretter
velge Readme File Editor fra undermenyen. Legg merke til at redigeringsprogrammet har et ikon med en blyant. Dette
er redigeringsprogrammet som readme-verktøyet som standard bruker for filer av typen *.readme.
Handlinger for Readme-redigeringsprogram
Dette viser et eksempel på handlinger som bare kan brukes på et bestemt redigeringsprogram. Når et
redigeringsprogram for readme-fil har fokus, har det 4 ekstra verktøylinjeknapper - Run
Readme Editor Extension, Readme Editor Action 1, Readme Editor Action 2, Readme Editor Action 3.
En valgmeny som heter Readme blir vist når et redigeringsprogram for readme-fil har fokus. Den inneholder
handlingene som er beskrevet over: Readme Editor Action 1, Readme Editor Action 2, Readme Editor Action 3.
Readme Sections-visning
Du kan se denne Readme Sections-visningen ved å velge Vis visning fra Vindu-menyen og deretter velge Annet...
fra undermenyen. Utvid Readme-elementet og velg deretter Readme Sections. Dette viser en liste over
delene i den gjeldende *.readme-filen når en .readme-fil blir valgt i Navigator-visningen. Du kan også se
strukturen til en *.readme-fil i Disposisjon-visningen.
En fil med filtypen .readme kan deles opp når hver del begynner med et tall. Hvis for eksempel følgende
tekst blir skrevet i redigeringsprogrammet for readme-fil, vil readme-verktøyet oppfatte det som 2 deler. Hvis
du vil se hvordan delene blir oppdaget i readme-verktøyet, skriver du litt tekst i redigeringsprogrammet for
readme-filen, og lagrer filen enten ved hjelp av CTRL-S eller ved å velge Fil->Lagre.Åpne Readme
Sections-visningen og velg .readme-filen i Navigator-visningen.
Eksempeltekst:
99.1 Dette er den første delen
Dette er tekst i den første delen.
99.1.1 Dette er en delseksjon
Dette er tekst i delseksjonen.
Dra og slipp
Du kan se hvordan dra og slipp fungerer ved å velge en del i Disposisjon-visningen og dra det
du har valgt, til en tekstfil. Innholdet i det du valgte, blir lagt til i filen.
Hjelpebidrag
Readme-verktøyeksempelet viser også hvordan du bruker og implementerer konteksthjelp på alle utvidelsene det
har - en visning, forskjellige handlinger og en veiviserside. Hvis du vil ha konteksthjelp til en
handling, peker du på menypunktet uten å velge det, og trykker deretter på F1-tasten. Du kan også få
kontekstavhengig hjelp (F1) i Readme Sections-visningen og på siden Example Creation Wizards (i Ny
veiviser).
Detaljer
Readme-verktøyeksempelet deklarerer et utvidelsespunkt og leverer en rekke utvidelser. Utvidelsene som
leveres, gir en ganske god forståelse av hvordan arbeidsbenken fungerer, for de bruker en rekke
av de mer interessante utvidelsespunktene som arbeidsbenken deklarerer. De leverte utvidelsene som er inkludert i dette
eksempelet, er visninger og visningshandlinger, preferansesider, egenskapssider, veivisere, redigeringsprogrammer
og redigeringsprogramhandlinger, hurtigmenyer, handlingssett, hjelpebidrag, hjelpekontekst og slippehandlinger.
Dette eksempelet leverer også et utvidelsespunkt deklarert i plugin-modulen.
Klassen IReadmeFileParser kreves
for alle plugin-moduler som bruker utvidelsen org.eclipse.ui.examples.readmetool.sectionParser som dette eksempelet
definerer. Klassen DefaultSectionParser er en eksempelimplementering av IReadmeFileParser.
Klassen ReadmeEditor implementerer IEditorPart og er definert som et redigeringsprogram for filer med filtypen
.readme i plugin.xml som bruker utvidelsespunktet org.eclipse.ui.editors. Klassen ReadmeSectionsView
implementerer IViewPart og er definert som en visning som bruker utvidelsespunktet org.eclipse.ui.views. Dette
utvidelsespunktet definerer også en kategori for visningen som skal brukes i visningsvalget.
Det er definert to typer preferanseinnstillinger i dette eksempelet, arbeidsbenkpreferanser og
ressursegenskaper. Arbeidsbenkpreferansen er definert i ReadmePreferencePage-klassen som implementerer
IWorkbenchPreferencePage, slik at den blir lagt til i dialogboksen
Vindu->Preferanser. Klassen er definert i utvidelsespunktet org.eclipse.ui.preferencePages i plugin.xml. De to
ressursegenskapssidene er ReadmeFilePropertyPage
og ReadmeFilePropertyPage2, som begge implementerer IWorkbenchPropertyPage.
De er begge definert slik at de skal
aktiveres på IFile-typen av objectClass-koden i plugin.xml i utvidelsespunktet org.eclipse.ui.propertyPages.
Klassen ReadmeCreationWizard implementerer INewWizard og er definert i utvidelsespunktet
org.eclipse.ui.newWizards i plugin.xml. Dette utvidelsespunktet definerer også kategorien som veiviseren viser når
brukeren velger Fil->Ny(tt)->Eksempel....
Det er flere handlingsstubber som er lagt til i dette eksempelet. Handlingssettet deklarerer en meny merket
Readme File Editor som skal tas med på menylinjen til arbeidsbenkvinduet med utvidelsespunktet
org.eclipse.ui.actionSets. Det definerer også en handling for arbeidsbenkens verktøylinje og menylinje med
kodene toolbarPath og menubarPath. Det bruker klassen WindowActionDelegate, som implementerer
IWorkbenchWindowActionDelegate for å implementere handlingen.
Handlingen for hurtigmenyen er definert som en
objectContribution av klassen PopupMenuActionDelegate i utvidelsespunktet org.eclipse.ui.popupMenus.
PopupMenuActionDelegate
implementerer IObjectActionDelegate og bruker den oppgitte IWorkbenchPart for å åpne en
meldingsdialogboks. Visningshandlingen ViewActionDelegate er definert i utvidelsespunktet
org.eclipse.ui.viewActions og implementerer IViewActionDelegate. Visningen det blir vist i, er definert av koden
targetID, som i dette eksempelet er org.eclipse.ui.views.ResourceNavigator. Redigeringsprogramhandlingen er
definert av klassen EditorActionDelegate, som implementerer IEditorActionDelegate, og blir lagt til ved hjelp av
utvidelsespunktet org.eclipse.ui.editorActions. Redigeringsprogrammet som det blir brukt på, er definert av koden
targetID, som i dette eksempelet er definert i org.eclipse.ui.examples.readmetool.ReadmeEditor.
Klassen
ReadmeDropActionDelegate implementerer IDropDelegate. IDropDelegates blir informert hver gang noe slippes på
arbeidsbenken. Utvidelsespunktet for denne handlingen er org.eclipse.ui.dropActions.