Java-esimerkkimuokkausohjelma perii suuren osan hyödyllisistä oletustoiminnoistaan AbstractTextEditor-luokalta. Tekstinmuokkauskehys hoitaa useita toimintoja, joita voi mukauttaa AbstractTextEditor-luokan korvaavilla metodeilla. Tämän luokan ja sen aliluokkien toteutuksesta käy ilmi, miten toiminnot on mukautettu kehykseen.
Seuraavassa on esitelty joitakin kehyksen hyödyllisiä ominaisuuksia, joiden kokoonpanon voi määrittää.
Tekstinmuokkausohjelmat lisäävät yleensä käyttäjän oletusasetuksia, jotka ohjaavat muokkausohjelman esitystä ja toimintoja. Tekstikehyksessä kullakin tekstinmuokkausohjelman ilmentymällä on oletusasetusten varasto, jota se käyttää käyttäjän oletusasetuksien löytämiseksi. Oletusasetusten varaston voi määrittää muokkausohjelman avulla tai sen voi periä kehyksessä jo käytetyiltä oletusasetusten varastoilta.
Java-esimerkkimuokkausohjelma perii oletusasetusten varaston, jonka TextEditor on alustanut. Varaston on määrittänyt työympäristön muokkausohjelman lisäosa.
protected void initializeEditor() { ... setPreferenceStore(EditorsPlugin.getDefault().getPreferenceStore()); }Muokkausohjelman lisäosan oletusasetuksia voi muokata
Jos muokkausohjelmassa ei haluta käyttää työympäristön vakiona tulevia tekstin oletusasetuksia, oletusasetusten varasto voidaan määrittää joksikin muuksi. Tämä tehdään yleensä ohittamalla initializeEditor ja määrittämällä oma oletusasetusten varasto. Jos käytetään omaa oletusasetusten varastoa, myös metodi handlePreferenceStoreChanged() pitää ohittaa. Kyseinen metodi liipaistaan aina kun jokin oletusasetus päivitetään.
Näppäinsidontojen kontekstit ovat hyödyksi silloin, kun luodaan näppäinsidonnoille hakujärjestystä. Kontekstikohtaiset näppäinsidonnat vähentävät sitä mahdollisuutta, että eri lisäosat lisäisivät ristiriitaisia näppäily-yhdistelmiä. Oletusarvon mukaan työympäristö toimii yleisessä ikkunoiden ja valintaikkunoiden kontekstissa. Kun tekstinmuokkausohjelma aktivoidaan, se palauttaa kontekstiksi tekstin muokkauksessa käytetyn kontekstin, jotta muokkausohjelmakohtaiset näppäinsidonnat muuttuvat aktiivisiksi.
Jokaisella tekstinmuokkausohjelman ilmentymällä on ympäristön tekstikehyksessä siihen liitetty näppäinsidontojen alueiden taulukko. Taulukko asettaa oikeat alueet, kun se muuttuu aktiiviseksi. AbstractDecoratedTextEditor määrittää alueen ja muuttaa sen aktiiviseksi. Alue on määritetty metodissa, jota kutsutaan konstruktorista:
protected void initializeKeyBindingScopes() { setKeyBindingScopes(new String[] { "org.eclipse.ui.textEditorScope" }); }
Metodin argumentti on taulukko, joka koostuu konteksteille määritetyistä tunnuksista. Jos halutaan, että muokkausohjelma määrittää oman näppäinsidontojen kontekstinsa, tämän metodin voi ohittaa muokkausohjelman luokassa, tai alueen voi määrittää dynaamisesti setKeybindingScopes-määrityksen avulla.
Konteksti täytyy määritellä vastaavaa tunnusta käyttäen laajennuspisteessä org.eclipse.ui.contexts. Seuraavassa on esitetty tekstin muokkauksen kontekstin määritys.
<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> ...
(Huomautus: Käsitteitä alue ja konteksti on tässä käytetty tarkoittamaan samaa asiaa. Tekstiluokkien metodien nimet viittaavat näppäinsidontojen konteksteihin käsitteellä "alue". Metodien nimet kuvaavat kontekstien alkuperäistä toteutusta alueina ja ovat jo vanhentunutta käsitteistöä.)