Belső és külső szerkesztők

org.eclipse.ui.editors

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.

<!ELEMENT extension (editor*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!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>


<!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.



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>

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:

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.

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.