Sisäiset ja ulkoiset muokkausohjelmat
Tunnus:
org.eclipse.ui.editors
Kuvaus:
Tämän laajennuspisteen avulla työympäristöön voidaan lisätä
uusia muokkausohjelmia. Muokkausohjelma on työympäristön sivun
visuaalinen komponentti. Sitä käytetään yleensä asiakirjan tai
syöteobjektin muokkaamiseen tai tarkasteluun. Yleensä käyttäjä aloittaa
muokkausohjelman käytön antamalla avauskäskyn IFile-syötteeseen.
Kun toiminto suoritetaan, tiedostolajia vastaava
muokkausohjelma selvitetään työympäristön rekisteristä
ja tämän jälkeen luodaan muokkausohjelmalajin
ilmentymä. Toiminnon tulos määräytyy muokkausohjelmalajin
mukaan. Työympäristö tukee sisäisten ja ulkoisten muokkausohjelmien
luontia. Sisäiset muokkausohjelmat integroidaan kiinteästi työympäristöön,
kun taas ulkoiset muokkausohjelmat avataan erillisiin
kehysikkunoihin.
Näiden kahden muokkausohjelmalajin välillä on
erilaisia integrointitasoja.
Sisäinen muokkausohjelma voidaan integroida kiinteästi
määrittämällä työympäristöikkunan ja muokkausohjelmaosan
välinen liitos. Työympäristön valikkoon ja työkaluriville on ladattu
valmiiksi yleistoimintoja, kuten leikkaus-, kopiointi- ja
liittämistoiminnot. Aktiivisen osan (näkymän tai muokkausohjelman)
on määritettävä näiden toimintojen toteutukset. Sisäisessä
muokkausohjelmassa voi lisäksi olla työympäristöikkunaan lisättävien
uusien toimintojen määrityksiä. Tällaiset toiminnot ovat näkyvissä
vain, kun muokkausohjelma on aktiivinen.
Työympäristön ja ulkoisten muokkausohjelmien välinen integrointi
on hieman työläämpi. Työympäristö voi aloittaa ulkoisen muokkausohjelman,
mutta ei voi sen jälkeen selvittää sen tilaa tai
olla yhteydessä siihen muuten kuin tiedostojärjestelmän
kautta.
Merkintärakenne:
<!ELEMENT extension (editor*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - kohdelaajennuspisteen tarkka tunnus.
- id - laajennuksen ilmentymän valinnainen tunnus.
- name - laajennuksen ilmentymän valinnainen nimi.
<!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>
- id - tämän muokkausohjelman yksilöllinen nimi.
- name - tämän muokkausohjelman käyttöliittymässä käytettävä käännettävä nimi.
- icon - sen kuvakkeen suhteellinen nimi, jota käytetään kaikissa määritettyjä laajennuksia vastaavissa resursseissa.
Kuvakemääritystä ei tarvitse tehdä määritettäessä komento luokan sijasta. Tällöin työympäristö
käyttää käyttöjärjestelmän mukaista kuvaketta.
- extensions - valinnainen kenttä, jossa on luettelo muokkausohjelman tukemista tiedostolajeista. Tämä arvo on merkkijonomuotoinen ja pilkuin eroteltu tiedostotunnisteiden luettelo. Esimerkiksi hypertekstiasiakirjoja tukevalla muokkausohjelmalla tämä arvo voisi olla "htm, html".
- class - sen luokan nimi, joka toteuttaa org.eclipse.ui.IEditorPart-liittymän. Määritteet class, command ja launcher ovat toisensa pois sulkevia. Jos tälle määritteelle on annettu arvo, myös contributorClass-määritteelle on annettava arvo.
- command - komento, jonka ajaminen aloittaa ulkoisen muokkausohjelman. Suoritettavan komennon on oltava järjestelmän path-määritykseen kuuluvassa polussa tai lisäosan hakemistossa. Määritteet class, command ja launcher ovat toisensa pois sulkevia.
- launcher - sen luokan nimi, joka toteuttaa org.eclipse.ui.IEditorLauncher-liittymän.
Tämän arvon mukainen aloitusluokka avaa ulkoisen muokkausohjelman. Määritteet class, command ja launcher ovat toisensa pois sulkevia.
- contributorClass - sen luokan nimi, joka toteuttaa org.eclipse.ui.IEditorActionBarContributor-liittymän. Tälle määritteelle on annettava arvo vain, jos class-määritteelle on annettu arvo. Tämän luokan avulla työympäristön valikkoon ja työkaluriville voidaan lisätä uusia, muokkausohjelmalajin tuoteominaisuuksien mukaisia toimintoja.
- default - jos tämä arvo on true (tosi), tämä muokkausohjelma on määritetyn lajin
oletusmuokkausohjelma. Tätä määritettä käytetään vain, jos samaa lajia varten on rekisteröity
useampi kuin yksi muokkausohjelma. Jos muokkausohjelma ei ole lajin
oletusmuokkausohjelma, sen voi aloittaa valitun resurssin Avaa seuraavan
kohteen avulla -alivalikosta.
Huomaa, että tätä määritettä voi käyttää tässä versiossa vain tiedostojen nimiliitoksien ja laajennusten liitoksien kanssa. Määritettä ei voi käyttää sisältölajisidosten kanssa. Sisältölajiin perustuvat selvitykset tehdään määritysjärjestyksessä, joten niitä ei voi määrittää erikseen.
- filenames - valinnainen kenttä, jossa
on luettelo muokkausohjelman tukemista tiedostoista. Tämä arvo on merkkijonomuotoinen
ja pilkuin eroteltu tiedostonimien luettelo. Esimerkiksi yksittäisiä hypertekstiasiakirjoja
tukevalla muokkausohjelmalla tämä arvo voisi olla "ejb.htm, ejb.html".
- symbolicFontName - fontin symbolinen nimi. Fontin symbolisen nimen on oltava määritetyn fontin tunnus (katso org.eclipse.ui.fontDefinitions). Jos tämän määritteen arvoa ei ole annettu tai se on virheellinen, fontin nimenä käytetään muokkausohjelman oletusasetusvarannon org.eclipse.jface.textfont-arvon mukaista fonttia. Jos oletusasetusvarantoa ei ole olemassa tai kyseistä arvoa ei ole määritetty, otetaan käyttöön JFace-tekstifontti. Muokkausohjelman toteutus määrittää, käyttääkö se fonttimäärityksessä tätä fontin symbolista nimeä.
- matchingStrategy - sen luokan nimi, joka toteuttaa org.eclipse.ui.IEditorMatchingStrategy-liittymän. Tälle määritteelle on annettava arvo vain, jos class-määritteelle on annettu arvo. Tämän määritteen avulla muokkausohjelmalaajennukseen voi lisätä algoritmin, joka määrittää tietyn laajennuksen muokkausohjelman ja tietyn muokkausohjelman syötteen välisen vastaavuuden.
<!ELEMENT contentTypeBinding EMPTY>
<!ATTLIST contentTypeBinding
contentTypeId CDATA #REQUIRED>
Tämä elementti ilmaisee, että muokkausohjelma tukee määritettyä sisältölajia ja että sillä voi muokata kyseisen lajin tiedostoja.
- contentTypeId - sisältölajin tunnus.
Esimerkkejä:
Seuraavassa on esimerkki
sisäisen muokkausohjelmalaajennuksen määrityksestä:
<extension point=
"org.eclipse.ui.editors"
>
<editor
id=
"com.xyz.XMLEditor"
name=
"Hieno XYZ XML -muokkausohjelma"
icon=
"./icons/XMLEditor.gif"
extensions=
"xml"
class=
"com.xyz.XMLEditor"
contributorClass=
"com.xyz.XMLEditorContributor"
symbolicFontName=
"org.eclipse.jface.textfont"
default=
"false"
>
</editor>
</extension>
API-tiedot:
Jos command-määritteelle on annettu arvo, se
käsitellään ulkoisen ohjelman komentorivisyötteenä, joka ajetaan käyttöympäristön mukaisesti.
Jos launcher-määritteelle on annettu arvo, muokkausohjelma käsitellään
ulkoisena ohjelmana. Tässä tapauksessa määritetyn luokan
on toteutettava org.eclipse.ui.IEditorLauncher-liittymä.
Launcher-määritteen mukaisen aloitustoiminnon ilmentymä luodaan ja
muokkausohjelma aloitetaan open(IFile-tiedosto)-komennolla.
Jos class-määritteelle on annettu arvo, työympäristö
olettaa, että kyseessä on sisäinen muokkausohjelma ja että
määritetyn luokan on toteutettava org.eclipse.ui.IEditorPart-liittymä.
Yleensä uutta muokkausohjelmalajia määritettäessä tehdään
subclass org.eclipse.ui.EditorPart -aliluokkamääritys. Lisäksi contributorClass-määritteelle
on annettava arvo.
Määritetyn luokan on toteutettava
org.eclipse.ui.IEditorActionBarContributor-liittymä. Tämän
luokan avulla työympäristön valikkoon ja työkaluriville lisätään
uusia, muokkausohjelmalajin tuoteominaisuuksien mukaisia toimintoja.
Työympäristössä voi olla avoinna useampi kuin yksi tietyn lajin
muokkausohjelma. Esimerkiksi Java-muokkausohjelmia voi olla
avoinna useita. Jotta ympäristössä ei luotaisi päällekkäisiä toimintoja
ja toimintojen kuvia, muokkausohjelmakäsite on
jaettu kahteen osaan. Toiminnot luodaan
IEditorActionBarContributor-osan
avulla. Muokkausohjelma määrittää toimintojen
toteutukset. Lisäksi kukin avoin muokkausohjelma käyttää samaa
lisäystä. Tämän mallin ansiosta toimintojoukkoja on aina
vain yksi, vaikka avoimia muokkausohjelmia olisi useampi
kuin yksi.
Laajennuselementti lisää työympäristön valikkoon ja
työkaluriville uusia, muokkausohjelmalajin mukaisia
toimintoja. Nämä toiminnot ovat yhteisiä ja niiden
kutsut toteutetaan aktiivisessa muokkausohjelmassa. Tieto aktiivisesta muokkausohjelmasta välitetään
laajennuselementille IEditorActionBarContributor.setActiveEditor-kutsulla.
Työympäristöikkunan toimintojen ja pääryhmien tunnisteet
on määritetty org.eclipse.ui.IWorkbenchActionConstants-liittymässä.
Niitä tulee käyttää viittauspisteinä uusia toimintoja lisättäessä. Ylätason valikot luodaan seuraavien path-määritteen
arvojen avulla:
-
additions - Ikkuna-valikon vasemmalla puolella oleva ryhmä.
Näihin polkuihin lisätyt toiminnot ja valikot näytetään vain,
kun niihin yhdistetty muokkausohjelma on käytössä. Kun kyseinen muokkausohjelma
on suljettu, valikot ja toiminnot eivät ole näkyvissä.
Toimitettu toteutus:
Työympäristö sisältää oletustekstinmuokkausohjelman. Peruskäyttäjä voi lisätä muita muokkausohjelmia toimitetusta resurssijoukosta. Tällöin muokkausohjelmat rekisteröidään laajennuksiksi edellä kuvatulla tavalla.
Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html