Az egyéni munkaterület viselkedés biztosításának "belépési pontja" a WorkbenchAdvisor megjelölése a munkaterület beállításához. A gazdag ügyfél bedolgozónak ki kell terjesztenie ezt az absztrakt osztályt, hogy biztosítsa az alkalmazás-specifikus konfigurációt a munkaterülethez. A böngészőpélda ezt a BrowserAdvisor osztály segítségével hajtja végre.
... int code = PlatformUI.createAndRunWorkbench(display, new BrowserAdvisor()); ...
A munkaterület-tanácsadó felelős a metódusok felülírásáért, hogy beállítsa a munkaterületet a kívánt elrendezéssel és szolgáltatásokkal, mint például a műveletsor-elemek vagy a bevezetőoldal.
A munkaterület-tanácsadó által biztosított életciklus metódusok segítségével az alkalmazás tetszőleges időpontban csatlakoztatható a munkaterület létrehozásához, és befolyásolhatja a viselkedést. A felülírható tanácsadó életciklus-metódusok alábbi listája a WorkbenchAdvisor javadoc dokumentumából származik.
initialize
- elsőként kerül meghívásra; az ablakok előtt;
bejegyzi az elemeketpreStartup
- másodikként kerül meghívásra; inicializálás
után, de az első ablak megnyitása előtt; ideiglenesen letiltja a dolgokat
az indítás vagy visszaállítás soránpostStartup
- harmadikként kerül meghívásra; az első
ablak megnyitása után; újból engedélyezi az előző lépésben ideiglenesen
letiltott dolgokatpostRestore
- a munkaterület és ablakainak a korábban
elmentett állapotból újbóli létrehozása után kerül meghívásra; beállítja a
visszaállított munkaterületetpreWindowOpen
- az ablakok megnyitása után kerül
meghívásra; beállítja a műveletsoroktól különböző ablak szempontjait fillActionBars
- a preWindowOpen
után kerül
meghívásra az ablak műveletsorának beállításáhozpostWindowRestore
- az ablak korábbi mentett állapotból
újbóli létrehozása után kerül meghívásra; beállítja a helyreállított
ablakotpostWindowCreate
- az ablak létrehozása után kerül
meghívásra egy kezdeti vagy egy visszaállított állapotból; beállítja az
ablakotopenIntro
- közvetlenül az előtt kerül meghívásra, hogy
az ablak megnyitásra kerülne a bevezető összetevő létrehozásához,
amennyiben van ilyen.postWindowOpen
- az ablak megnyitása után kerül
meghívásra; csatlakoztatja az ablakfigyelőket, stb.preWindowShellClose
- akkor kerül meghívásra, amikor az
ablak parancsértelmezőjét a felhasználó bezárja; reagál az ablakok
bezárásáraeventLoopException
- kezeli az esetet, amelyben az
eseményciklus összeomlott; informálja a felhasználót arról, hogy a dolgok
nem működnek jóleventLoopIdle
- akkor kerül meghívásra, ha aktuálisan nem
kell több eseményt feldolgozni; más feladatot hajt végre vagy átengedi a
vezérlést addig, amíg új események nem kerülnek a sorbapreShutdown
- az eseményciklus befejezése után, de az
ablakok bezárása után kerül meghívásra; az alkalmazás letilthatja a
leállítástpostShutdown
- utolsóként kerül meghívásra; az
eseményciklus befejezése és az összes ablak bezárása után kerül
meghívásra; megszünteti az inicializálás során bejegyzett dolgok
bejegyzésétAhogy láthatjuk, a gazdag ügyfélalkalmazás nagyfokú vezérléssel rendelkezik a munkaterület beállítása és megvalósítása felett. A böngészőpéldában a BrowserAdvisor elsődleges funkciója, hogy a műveletsort beállítsa a böngészőnek megfelelő menüelemekkel. Ezt a fillActionBars metódus hajtja végre:
public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) { ... BrowserActionBuilder builder = new BrowserActionBuilder(window); getWorkbenchConfigurer().getWindowConfigurer(window).setData(BUILDER_KEY, builder); builder.fillActionBars(configurer, flags); }
Ebben a metódusban a munkaterület egy speciális tevékenység-összeépítővel kerül beállításra. Ez a tevékenységösszeépítő kitölti a munkaterület műveletsorát. Megtekintjük annak részleteit, hogy a tevékenységek hogyan vannak megadva a Tevékenységek megadása részben. Eddig a munkaterület beállításának módjára koncentráltunk.
Ne feledje el használni a fenti getWorkbenchConfigurer() metódust. Az IWorkbenchConfigurer és IWorkbenchWindowConfigurer a WorkbenchAdvisor elemmel együtt kerül használatra az ablak testreszabása érdekében. Ezen osztályok segítségével felülírható a munkaterület-létrehozás számos aspektusa különböző szinteken. Az IWorkbenchWindowConfigurer például megad egy protokollt, amely feltételezi a vezérlők egy adott konfigurációját a munkaterület-ablakban, mint például a műveletsor, állapotsor, perspektívasor, eszközsáv, stb. Ennek protokollja segítségével testreszabhatja és feltöltheti ezeket az elemeket. Az IWorkbenchConfigurer magasabb szinten működik, ezáltal lehetővé teszi az alkalmazás-specifikus adatok tárolását a munkaterülettel. A WorkbenchAdvisor hozzáférést biztosít ezekhez a beállítókat a fent említett életciklus metódusokban. A WorkbenchAdvisor alacsonyabb szintű metódusai felülírhatók az alapértelmezett viselkedés teljes cseréje érdekében. A munkaterület-tanácsadó például felülírhatja az SWT vezérlőket létrehozó metódusokat a főablak egy teljesen eltérő megvalósítása érdekében.
Más szavakkal a munkaterület számos módon és különféle szinteken is testreszabható, amelyen ezek a technikák használhatók. A WorkbenchAdvisor, IWorkbenchConfigurer és IWorkbenchWindowConfigurer javadoc eleme a rendelkezésre álló protokoll teljes leírását tartalmazza. A megjegyzéseket és alternatív megvalósításokat a BrowserAdvisor teljes megvalósítása tartalmazza.