Belső és külső szerkesztők
Azonosító:
org.eclipse.ui.editors
Leírás:
Ez a kiterjesztési pont
új szerkesztőt ad hozzá a munkaterülethez. A szerkesztő a
munkaterület-oldal vizuális összetevője. Jellemzően egy dokumentumot vagy
bemeneti objektumot szerkeszt vagy böngész. A szerkesztő megnyitásához a
felhasználó általában a "Megnyitás" műveletet hívja meg egy
IFile elemen.
A tevékenység végrehajtásakor a munkaterület-nyilvántartás tanácsot kér a
fájltípushoz megfelelő szerkesztő meghatározásához, majd létrejön a
szerkesztőtípus új példánya. A tényleges eredmény a szerkesztő típusától
függ. A munkaterület támogatást biztosít a belső szerkesztők
létrehozásához, amelyek szorosan integrálva vannak a munkaterületbe,
valamint a külső szerkesztők létrehozásához, amely egy külön kerettel
rendelkező ablakban kerülnek elindításra.
Ezen végletek között különböző integrációs szintek vannak.
Belső szerkesztő esetén szoros integráció érhető el a munkaterület-ablak
és a szerkesztő rész között. A munkaterület-menü és -eszköztár előre
betöltésre kerül számos általános tevékenységgel, mint például a kivágás,
másolás és beillesztés. Az aktív résztől - nézet vagy szerkesztő -
elvárják, hogy biztosítsa ezen tevékenységek megvalósítását. A belső
szerkesztő új tevékenységeket is megadhat, amelyek megjelennek a
munkaterület-ablakban. Ezek a tevékenységek csak akkor jelennek meg, ha a
szerkesztő aktív.
A munkaterület és a külső szerkesztők közötti integráció nem ilyen erős.
Ebben az esetben a munkaterület elindíthat egy szerkesztőt, de ezután nem
határozhatja meg a külső szerkesztő állapotát, és csak a fájlrendszeren
keresztül működhet együtt vele.
Konfigurációs kód:
<!ELEMENT extension (editor*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - a cél kiterjesztési pont teljes képzésű azonosítója
- id - a kiterjesztéspéldány elhagyható azonosítója
- name - a kiterjesztéspéldány elhagyható neve
<!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 - a szerkesztőt azonosító egyedi név
- name - a felhasználói felületen a szerkesztőhöz használt
lefordítható név
- icon - a megadott kiterjesztéseknek megfelelő erőforrásokhoz
használt ikon relatív neve.
Az ikon nem szükséges, ha osztály helyett egy parancs kerül megadásra.
Ebben az esetben a munkaterület az operációs rendszer által biztosított
ikont használja.
- extensions - a szerkesztő által értelmezett fájltípusok
listáját tartalmazó külön elhagyható mező. Ez egy vesszővel elválasztott fájlkiterjesztéseket tartalmazó
karaktersorozat. A hypertext dokumentumokat értelmező szerkesztő például "htm, html"
formátumhoz jegyezhető be.
- class - az org.eclipse.ui.IEditorPart elemet
megvalósító osztály neve. A class, command és
launcher attribútum kölcsönösen kizárja egymást. Ha ez az
attribútum meg van adva, akkor a contributorClass elemet is
meg kell adni.
- command - a külső szerkesztő indításához futtatandó parancs. A
végrehajtható parancsnak a rendszer elérési úton, vagy a bedolgozó
könyvtárában kell lennie. A class,
command és launcher attribútum kölcsönösen
kizárja egymást.
- launcher - az org.eclipse.ui.IEditorLauncher
elemet megvalósító osztály neve.
Az indító megnyit egy külső szerkesztőt. A class,
command és launcher attribútum kölcsönösen
kizárja egymást.
- contributorClass - az
org.eclipse.ui.IEditorActionBarContributor elemet megvalósító
osztály neve. Ezt az attribútumot csak akkor kell megadni, ha a
class attribútum meg van adva. Az osztály új tevékenységeket
ad hozzá a munkaterület-menühöz és -eszköztárhoz, amely a szerkesztőtípus
szolgáltatásait ábrázolja.
- default - ha az értéke true, akkor a szerkesztő alapértelmezett
szerkesztőként kerül felhasználásra az adott típushoz. Ez csak abban az
esetben fontos, ha egy típushoz több szerkesztő van bejegyezve. Ha egy
szerkesztő nem az adott típus alapértelmezett szerkesztője, akkor a
"Megnyitás ezzel..." almenü segítségével indítható el a kiválasztott
erőforráshoz.
Ne feledje el, hogy ez az attribútum csak fájlnév- és
kiterjesztést-társítások esetén veszi figyelembe a rendszer. Tartalomtípus
kötések esetén nem. Tartalomtípus alapú feloldás az "elsőnek érkező kerül
elsőkét kiszolgálásra" módszerrel történik, nem explicit módon megadva.
- filenames - a szerkesztő által értelmezett fájlnevek listáját
tartalmazó elhagyható mező. Ez egy vesszővel elválasztott fájlneveket
tartalmazó karaktersorozat. Az adott hypertext dokumentumokat értelmező szerkesztő például
bejegyezhető az "ejb.htm, ejb.html"" formátumhoz.
- symbolicFontName - a betűkészlet szimbolikus neve. A
szimbolikus betűkészlet a megadott betűkészlet azonosítója kell hogy
legyen (see org.eclipse.ui.fontDefinitions). Ha ez az attribútum hiányzik
vagy érvénytelen, akkor a betűkészlet neve a szerkesztő beállítások
tárolójában lévő "org.eclipse.jface.textfont" értéke. Ha nincs
beállítástároló, vagy nincs megadva kulcs, akkor a JFace text betűkészlet
kerül felhasználásra. A szerkesztő eldönti, hogy a szimbolikus
betűkészletnevet használja-e a betűkészlet beállításához.
- matchingStrategy - az
org.eclipse.ui.IEditorMatchingStrategy elemet megvalósító osztály
neve. Ezt az attribútumot csak akkor kell megadni, ha a
class attribútum meg van adva. Ez lehetővé teszi a
szerkesztőkiterjesztés számára saját algoritmus biztosítását az egyik
szerkesztője bementének egy adott szerkesztőbemenettel összehasonlításához.
<!ELEMENT contentTypeBinding EMPTY>
<!ATTLIST contentTypeBinding
contentTypeId CDATA #REQUIRED>
Azt jelzi, hogy a tartalmazó szerkesztő megérti-e az adott tartalomtípust és
megfelelő-e az ilyen típusú fájlok szerkesztésére.
- contentTypeId - a tartalomtípus azonosítója
Példák:
Az alábbi a belső
szerkesztő kiterjesztés definícióra példa:
<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>
API-információk:
Command
attribútum használatakor a szerkesztő külső program-parancssorként kerül
kezelésre, és platform-függő módon kerül végrehajtásra.
Launcher attribútum alkalmazásakor a szerkesztő szintén külső programként
kerül kezelésre. Ebben az esetben a megadott osztálynak meg kell
valósítani az org.eclipse.ui.IEditorLauncher elemet.
A launcher példányosításra kerül, majd a rendszer a szerkesztő
elindításához meghívja az open(IFile file) metódust.
Class attribútum megadásakor a munkaterület továbbra is feltételezi, hogy
ez egy belső szerkesztő, és a megadott osztálynak meg kell valósítania az
org.eclipse.ui.IEditorPart elemet.
Új szerkesztőtípus megadásakor általános gyakorlat az
org.eclipse.ui.EditorPart alosztályának létrehozása. Egy
contributorClass attribútumot is meg kell adni.
A megadott osztálynak meg kell valósítani az
org.eclipse.ui.IEditorActionBarContributor elemet, és új
tevékenységeket ad hozzá a munkaterület-menühöz és -eszköztárhoz, amely a
szerkesztőtípus szolgáltatásait tükrözi.
A munkaterületen egy adott típushoz több megnyitott szerkesztő is lehet.
Lehet például több megnyitott Java szerkesztő. Többszörös tevékenységek és
tevékenységképek elkerülése érdekében a szerkesztő két részre lett osztva.
Az IEditorActionBarContributor felelős a tevékenységek
létrehozásáért, a szerkesztő pedig a tevékenység megvalósításáért. A
közreadót az összes megnyitott szerkesztő megosztja. Ezen kivitel
eredményeképp csak egy tevékenységhalmaz van a több megnyitott
szerkesztőhöz.
A közreadó új tevékenységeket ad hozzá a munkaterület-menühöz és
-eszköztárhoz, amely tükrözi a szerkesztő típusát. Ezek a tevékenységek
meg vannak osztva, és meghíváskor befolyásolják az aktív szerkesztőt. Az
aktív szerkesztő az
IEditorActionBarContributor.setActiveEditor meghívásával
átkerül a közreadóhoz.
A munkaterület-ablak tevékenységei és fő csoportjainak azonosítói az
org.eclipse.ui.IWorkbenchActionConstants elemben vannak
megadva.
Ezt az új tevékenységek hivatkozási pontjaként kell használni. A
felsőszintű menük a path attribútum alábbi értékei segítségével hozhatók
létre:
-
additions - az Ablak menü baloldalán lévő csoportot ábrázol.
Az elérési úthoz adott tevékenységek és menük csak akkor jelennek meg, ha a
társított szerkesztő aktív. Ha a szerkesztő be van zárva, akkor a menük és
tevékenységek eltávolításra kerülnek.
Szállított megvalósítás:
A
munkaterület egy "Alapértelmezett szövegszerkesztőt" biztosít. A
végfelhasználói termék tartalmazhat a leszállított csomag részeként
más szerkesztőket is. Ebben az esetben a szerkesztők kiterjesztésként
kerülnek bejegyzésre a fent leírt szintaxis segítségével.
Copyright (c) 2002, 2005 IBM Corporation és mások.
Minden jog fenntartva. Jelen program és annak kísérőanyagai a csomaghoz
tartozó, illetve a
http://www.eclipse.org/legal/epl-v10.html
címen is elérhető Eclipse Public License 1.0 verziójának hatálya alatt lettek
közzétéve.