Egyéb szövegszerkesztő felelősségek

A Java példaszerkesztő számos hasznos alapértelmezett viselkedést örököl az AbstractTextEditor elemtől.  A szövegszerkesztő keretrendszer számos egyéb felelősséget kezel, amelyet az AbstractTextEditor metódusok felülírásával testreszabhat.  Nézze át az osztály és az alosztály megvalósítását annak megtekintéséhez, hogy a jellemző hogyan van testreszabva a keretrendszerben.

Az alábbiakban a beállítható hasznos keretrendszer-funkciók egy része látható.

Beállításkezelés

A szövegszerkesztők jellemzően felhasználói beállításokat biztosítanak, amelyek vezérlik a szerkesztő megjelenését és viselkedését. A szövegkeretrendszerben minden szövegszerkesztő-példány rendelkezik egy hozzárendelt beállítástárolóval, amelyet a felhasználói beállítások eléréséhez használ a rendszer. Ez a beállítástároló beállítható a szerkesztővel, vagy örökölhető a keretrendszerben már használt beállítástárolókból.

Java példaszerkesztő esetén örökli a TextEditor által inicializált beállítástárolót.  Ez a munkaterület-szerkesztők bedolgozó által megadott beállítástároló.  

protected void initializeEditor() {
	...
	setPreferenceStore(EditorsPlugin.getDefault().getPreferenceStore());
}
A szerkesztő bedolgozó beállításai az Általános > Szerkesztők és Általános > Szerkesztők > Szövegszerkesztők beállításoldalon kezelhetők.

Ha a szerkesztőhöz nem kívánja használni a szabványos munkaterület szövegbeállításokat, akkor beállíthat egy másik beállítástárolót. Ez jellemzően az initializeEditor felülírásával és a saját beállítástároló megadásával történik.  Ha saját beállítástárolót használ, akkor a handlePreferenceStoreChanged() metódust felül kell írni, amely a beállítás frissítésekor aktiválódik.

Billentyűkombinációk

Billentyűkombináció-kontextusok a billentyűkombináció kikeresési sorrendjének kialakításához hasznosak. A környezetfüggő billentyűkombinációk csökkentik annak lehetőségét, hogy a különböző bedolgozók ütköző billentyűkombinációkat hozzanak létre. A munkaterület alapértelmezés szerint egy általános kontextusban működik az ablakok és párbeszédablakok kezelése érdekében. Ha a szövegszerkesztő aktív, akkor ő a felelős a kontextus szövegszerkesztési kontextusra visszaállításáért, így ezek a szerkesztő-specifikus billentyűkombinációk kerülnek aktiválásra.

A platformszöveg-keretrendszerben minden szövegszerkesztő-példány rendelkezik társított billentyűkombináció-hatókörök tömbjével. Ez felelős a megfelelő hatókörök beállításáért, amikor aktív. AbstractDecoratedTextEditor megadja ezt a hatókört és aktívvá teszi. A metódusban hozzárendelt hatókör, amely a konstruktorból kerül meghívásra:

protected void initializeKeyBindingScopes() {
	setKeyBindingScopes(new String[] { "org.eclipse.ui.textEditorScope" });  
}

A metódus argumentuma egy azonosítótömb, amely meg lett adva a kontextusokhoz. Ha azt kívánja, hogy a szerkesztő saját billentyűkombinációt adjon meg, akkor felülírhatja ezt a metódust a szerkesztőosztályban, vagy a setKeybindingScopes segítségével dinamikusan beállíthatja a hatókört.

A kontextust a megfelelő azonosítóval kell megadni az org.eclipse.ui.contexts kiterjesztési pontban. Az alábbiakban a szövegszerkesztési kontextus definíciója látható.

<extension
	point="org.eclipse.ui.contexts">
	<context
		name="%context.editingText.name"
		description="%context.editingText.description"
		id="org.eclipse.ui.textEditorScope"
		parentId="org.eclipse.ui.contexts.window">
	</context>
	...

(Megjegyzés:  A hatókör és kontextus kifejezést felcserélhetően használjuk ebben a tárgyalásban. A szövegosztályokban lévő metódusnevek továbbra is a billentyűkombináció-kontextusokra hivatkoznak hatókörként. Ezek a metódusnevek tükrözik a kontextusok eredeti hatókörkénti megvalósítását és elavult terminológiát használnak.)