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.