A 3.1 mechanizmusok és alkalmazás programozási felületek átvételekor szükséges módosítások

Ez a rész leírja a szükséges módosításokat, ha a 3.0 bedolgozót módosítani kívánja, hogy elfogadja a 3.1 mechanizmusokat és alkalmazás programozási felületeket.

Platform visszavonás/újra végrehajtás támogatás

Az Eclipse 3.1 egy új infrastuktúrát biztosít a visszavonható műveletek és a megosztott művelettörténet megadásához, amely nyomonköveti a végrehajtott, visszavont és újra végrehajtott műveleteket. A kiegészítő bedolgozók által biztosított különböző visszavonási keretrendszereket át kell állítani a platform művelet támogatására, így a keretrendszer ügyfelei jobban integrálódhatnak a platformmal és a visszavonható műveleteik más bedolgozónézetekben és -szerkesztőkben is visszavonhatók lesznek. A visszavonási támogatás bedolgozóhoz adásával kapcsolatos információkat a Visszavonható műveletek rész tartalmaz. A bedolgozók, amelyek már visszavonás támogatással rendelkeznek, vagy másik keretrendszert használnak, átállíthatók az új visszavonás támogatásra szakaszolt módon, ahogy az alábbiakban látható.

Bedolgozó-specifikus művelet(parancs)osztályok átállítása IUndoableOperationre

A bedolgozóknak, amelyek már megadnak osztályokat a visszavonható műveleteket leírásával, hozzá kell adniuk egy IUndoableOperation felület megvalósítást a művelet/parancsosztályaikhoz. Elképzelhető, hogy a bedolgozók még régebbi keretrendszereket használnak a történet kezelésére (parancsverem) ha szükséges, de egy felületet biztosítanak az IUndoableOperation elemhez, amelynek segítségével a bedolgozó ügyfelei ugyanazokat a műveleteket használhatják a platformműveletek-történetben, valamint vegyíthetik és megfeleltethetik a különböző bedolgozók visszavonható műveleteit. Ez a stratégia hasonló, mint amelyet az SDK szövegszerkesztők használnak az új műveletkeretrendszerre átálláshoz. Ha a felület közvetlen leképezése nem lehetséges, akkor átalakítók segítségével az IUndoableOperation protokoll leképezhető örökölt visszavonási objektumokra. Ezt a stratégiát a Platform/JDT átdolgozási támogatás használja. A művelet/parancsosztályok IUndoableOperation elemre átállítása fontos lépés, mivel ez lehetővé teszi, hogy a különböző keretrendszerekből származó visszavonható műveleteket más bedolgozók használják a bedolgozók teljes átállítása nélkül.

Parancsvermek átállítása IOperationHistory segítségével

Ha a visszavonási műveletek vagy parancsok IUndoableOperation művelettekként vannak kifejezve, akkor a bedolgozók, amelyek visszavonási történetet (parancsverem) adnak meg a visszavonható és újra végrehajtható műveletek nyomkövetéséhez, a visszavonás-történetet ábrázoló IUndoContext megadásával átállíthatók platformművelet-történetre. A korábban helyileg kezelt visszavonási történetek összefésülhetők az általános művelettörténettel a következő módon: minden részhez vagy minden modellobjektumhoz megad egy egyedi visszavonási környezetet, minden művelethez hozzáadja a megfelelő visszavonási környezetet majd hozzáadja a műveletet a platform-művelettörténethez. Globálisabb hatókörrel rendelkező visszavonás-történet a hatókört ábrázoló egyedi visszavonási környezet megadásával, ezen környezet minden művelethez hozzárendelésével majd a művelet platformművelet-történethez adásával valósítható meg. A visszavonási környezek létrehozásával, hozzárendelésükkel és a műveletek platform művelettörténethez adásával kapcsolatos példákat a Visszavonható műveletek dokumentáció tartalmaz.

A munkaterületen globálisan visszavonható műveletek megadása

A bedolgozóknak, amelyeknek arra van szüksége, hogy a műveleteik visszavonhatók legyenek a munkaterület-nézetekből - mint például a Navigátor vagy Csomagböngésző -, hozzá kell rendelniük a munkaterület visszavonási környezetet a műveleteikhez. A visszavonási környezettel valamint azzal kapcsolatos információkat, hogy ez a környezet hogyan kérhető le munkaterület és megjelenítés nélküli bedolgozók által egyaránt, a Visszavonható műveletek rész tartalmaz.

Platform visszavonás/újra végrehajtás műveletkezelők

A bedolgozóknak, amelyek nem adnak meg visszavonás infrastruktúrát vagy visszavonható műveleteket, de hozzáférést kívánnak biztosítani a platform visszavonás történetékez, meg kell fontolniuk a globális visszavonás és újra végrehajtás kezelők megcélzását az új általános visszavonás és újra végrehajtás műveletkezelőkkel. A műveletkezelőkhöz tartoznia kell egy visszavonási környezetnek, amely megadja, hogy mely visszavonás és újra végrehajtás történet kerüljön megjelenítésre. A bedolgozók használhatják a helyileg megadott környezeteiket a "part-local" visszavonás és újra végrehajtás történet megjelenítéséhez. A munkaterület visszavonás környezet segítségével megjeleníthető a munkaterület szintű visszavonás és újra végrehajtás történet. Teljes példát a Visszavonható műveletek dokumentáció tartalmaz.

Szövegműveletek átállítása általános műveletkezelőkre

A szövegszerkesztő visszavonás és újra műveleteinek átállítása kicsit különbözik a globális visszavonás/újra végrehajtás műveletkezelők egyszerű átfókuszálásától. Az AbstractTextEditor keretrendszer egy paraméterezett TextOperationAction segítségével általános szövegműveleteket ad meg. Ezek a műveletek a keretrendszerben lokálisan kerülnek tárolásra és különböző parancsokat indítanak el egy szerkesztő szövegművelet céljához. Ahhoz, hogy a szövegvisszavonás megfelelően működjön, a szövegszerkesztő-keretrendszer arra épít, hogy a szövegműveletek a megfelelő azonosítóval rendelkezésre állnak (ITextEditorActionConstants.REDO és ITextEditorActionConstants.UNDO).

Az AbstractTextEditor átállításra került, így létrehozza az általános műveletkezelőt, és közben továbbra is hozzájuk rendeli a TextOperationAction táblázatot a megfelelő örökölt azonosítókkal. Ily módon az új visszavonás és újra végrehajtás műveletkezelők az örökölt eljárások segítségével lekérhetők a művelet lekéréséhez és végrehajtásához. Az AbstractTextEditor hierarchia szövegszerkesztői öröklik ezt a viselkedést.

Olyan szerkesztők esetén, amelyek nem öröklik ezt a viselkedést az AbstractTextEditortól, meg kell fontolni a meglévő visszavonás és újra végrehajtás műveletek átállítását új kezelők használatára. Az örökölt visszavonás és újra végrehajtás TextOperationActionnel rendelkező szerkesztőknél a helyi visszavonás támogatás továbbra is működik, mivel ezen műveletek által használt JFace szöveg-visszavonáskezelő API továbbra is támogatott. A visszavonás és újra műveletcímkék nem konzisztensek az új Eclipse SDK visszavonás/újra műveletekkel, amelyek a rendelkezésre álló visszavonás vagy újra végrehajtás művelet nevét jelenítik meg. Általános visszavonás és újra végrehajtás műveletkezelők létrehozásához a szövegmegjelenítő visszavonás-kezelője által használt visszavonás környezetet kell használni és ezeket a kezelőket a szerkesztőben a megfelelő ITextEditorActionConstants azonosítóval be kell állítani. Részletes példáért tekintse meg az AbstractTextEditor.createUndoRedoActions() és AbstractTextEditor.getUndoContext() metódust. A szerkesztők, amelyek az EditorActionBarContributor alosztályt használják a szerkesztőik műveletsorához adáshoz, egy hasonló technikát használhatnak visszavonás és újra végrehajtás műveletkezelők létrehozásával és beállításukkal, ha az aktív szerkesztő be van állítva.

Súgóbővítések

Információkeresés

A bedolgozóknak, amelyek keresési oldalakat adnak közre a Keresés párbeszédablakban, meg kell fontolniuk az információ stílusú keresések egyesített keresőmotornak átadását. A 3.1 verzió óta minden információ stílusú keresés el van különítve a munkaterület-termék kereséstől. Az információs keresőmotorok párhuzamosan futnak háttérfeladatként és eredményeik összeállításra kerülnek az új Súgó nézetben. További részletek: Keresés súgó.

Dinamikus súgó

Az új dinamikus súgó nézet meglévő környezetazonosítókat használ, amelyek statikusan hozzá vannak rendelve a felületi elemekhez a munkaterület részein vagy a párbeszédablakokban. Ha elfog egy súgóeseményt és megjeleníti a súgót, akkor a dinamikus súgó nézet semmi hasznosat nem tud megjeleníteni. A probléma kijavításához adaptálódnia kell az új IContextProvider felülethez, a Dinamikus környezet súgó dokumentumban leírt módon.