org.eclipse.ui.actionSets

A bedolgozó az org.eclipse.ui.actionSets kiterjesztési pont segítségével menüket, menüpontokat és eszköztárelemeket adhat a munkaterület-menükhöz és -eszköztárakhoz. A zűrzavar csökkentése érdekében, amelyet az okoz, hogy minden bedolgozó menükiegészítései egyszerre jelennek meg, a kiegészítések tevékenységkészletekbe vannak csoportosítva, amelyek a felhasználói beállítás által láthatóvá tehetők.

Megtekintheti, hogy az Ablak->Perspektíva személyre szabása... munkaterület-menüből kiválasztásával a munkaterületen mely tevékenységkészletek kerültek biztosításra. Ez a lehetőség megjelenik a párbeszédablakban, amely a tevékenységkészleteket parancscsoportokként jeleníti meg. Egy parancscsoport jelölése azt jelenti, hogy a menüpontok és eszköztárelemek láthatóak lesznek a munkaterületen. A rendelkezésre álló menü- és eszköztár-tevékenységek listájának megjelenítéséhez kiválaszthatja a parancscsoport nevét. Az alábbi ábra a munkaterületen rendelkezésre álló parancscsoportok listáját jeleníti meg.   (A munkaterület másképp is kinézhet attól függően, hogy mely bedolgozók kerültek telepítésre és mely perspektíva aktív.)

Perspektíva párbeszédablak személyre szabása tevékenységkészlet-listával

A readme eszköz egy tevékenységkészletet használ számos különböző "Readme böngésző megnyitása" tevékenység munkaterület-menük biztosításához.  (Egy hasonló tevékenységet adtunk közre az erőforrás-navigátor előugró menüjén.) A leírónyelv következik:

<extension point = "org.eclipse.ui.actionSets">
	   <actionSet id="org_eclipse_ui_examples_readmetool_actionSet"
		   label="%ActionSet.name"
		   visible="true">
		   <menu id="org_eclipse_ui_examples_readmetool"
			   label="%ActionSet.menu"
			   path="window/additions"> 
			   <separator name="slot1"/>
			   <separator name="slot2"/>
			   <separator name="slot3"/>
		   </menu>
		   <action id="org_eclipse_ui_examples_readmetool_readmeAction"
			   menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
			   toolbarPath="readme"
			   label="%ReadmeAction.label"
			   tooltip="%ReadmeAction.tooltip"
			   helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
			   icon="icons/ctool16/openbrwsr.png"
			   class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
			   enablesFor="1">
			   <selection class="org.eclipse.core.resources.IFile"
					name="*.readme">
			   </selection>
		   </action>
		   ...
	   </actionSet>
</extension>

Itt nagyon sok minden történik! Egyszerre egy lépést nézünk meg, csak az első tevékenységre figyelve.  

Először a tevékenységkészlet kerül megadásra és egy címke.  A "ReadMe tevékenységek" címke (az %ActionSet.name kulcshoz megadva a bedolgozó tulajdonságfájljában) megjeleníti a tevékenységkészletet a fent megjelenített párbeszédablakban. Mivel a láthatóságot igazra állítottuk, a munkaterületen a tevékenységkészlet kezdetben be van állítva és a tevékenységek láthatók lesznek.

A tevékenységkészlet deklaráció további részével a menü megadásakor foglalkozunk, amelyben a tevékenységek megjelennek, és a tevékenységek megadásakor.

Egy olyan menüt adunk meg, amelynek címkéje megjelenik a munkaterület-menükön. A menü elérési útja utasítja a munkaterületet, hogy az új menüt az ablak menü kiegészítések helyén jelenítse meg.  (A menü elérési utak és helyek leírását a Menü és eszköztár elérési utak rész tartalmazza.)  Néhány helyet az új menüben is megadunk, így ez a tevékenység a menü egy adott helyére szúrható be.

Ez a leírónyelv magában elég ahhoz, hogy a menü megjelenjen a munkaterület Ablak menüjében.

Munkaterület Ablak menüje Tájékoztatófájl-szerkesztő bejegyzéssel

Következőnek magukat a tevékenységeket adjuk meg.  

A tevékenységdefiníció (azonosító, címke, ikon, osztály) a nézetek, szerkesztők és előugró menük egyéb tevékenységeihez hasonló.  Most a különbségekre koncentrálunk:  hova kerül a tevékenység? A hely jelzéséhez a   menubarPath és toolbarPath elemet használjuk. Először a menubarPath elemet adjuk meg az éppen megadott tevékenység menü egyik helyéhez adásához ( "window/org_eclipse_ui_examples_readmetool/slot1").

Tájékoztatófájl-szerkesztő menü menüpontokkal

Ezután egy új toolbarPath elemet adunk meg a tevékenységek munkaterület eszköztárba beszúrásához. Mivel egy új elérési utat adtunk meg - "readme", - a munkaterület eldönti, hogy hova kerül más bedolgozó eszköztár kiegészítéseihez képest.

Munkaterület eszköztár tájékoztató művelettel

Mi történik, ha a felhasználó kiválasztja a tevékenységet? Az osztály által megvalósított tevékenység az class attribútumban kerül megadásra.  A tevékenység class elemének meg kell valósítania az IWorkbenchWindowActionDelegate vagy IWorkbenchWindowPulldownDelegate elemet, ha a tevékenység legördülőmenüként kerül megjelenítésre az eszközsoron. Mivel nem legördülő eszközelemet hozunk létre, a WindowActionDelegate elemet biztosítjuk.  Ez az osztály az ObjectActionDelegate elemhez hasonló.  Ez elindítja a readme szakaszok párbeszédablakot, amikor a felhasználó kiválasztja a tevékenységet.  (A szakaszok párbeszédablak leírását az Alkalmazás párbeszédablakok rész tartalmazza.)

A tevékenység engedélyezi a feltételeket a menüpontokhoz és eszköztárelemekhez. A menü- és eszköztárelemek csak akkor kerülnek engedélyezésre, ha egy (enablesFor="1") readme fájl (selectionClass ="org.eclipse.core.resources.IFile" name="*.readme") kiválasztásra kerül. Ezen tevékenység menü- és eszköztárelemei a plugin.xml fájlban megjelennek és engedélyezésre kerülnek a leírónyelv tulajdonságai által. Egyik bedolgozókód sem kerül végrehajtásra addig, amíg a felhasználó ki nem választja a tevékenységet és a munkaterület futtatja a tevékenységosztályt.

A két másik tevékenységet később nézzük meg az áttervezhető tevékenységek kontextusában.