Třídy akcí umožňují definovat uživatelské příkazy nezávisle na jejich prezentaci v uživatelském rozhraní. To vám dává možnosti na změnu prezentace akcí ve vašem modulu plug-in beze změny kódu, který aktuálně provádí vybraný příkaz. Třídy příspěvků se používají ke zpracování aktuálních položek uživatelského rozhraní reprezentujících příkazy. Třídy příspěvků neprogramujete, ale setkáte se s nimi v některém rozhraní API pracovní plochy a JFace.
Akce (IAction) reprezentuje příkaz, který může být spuštěn koncovým uživatelem. Akce jsou zpravidla asociovány s tlačítky, položkami nabídky a s položkami v panelech nástrojů.
Ačkoliv se akce neumisťují do uživatelského rozhraní, přesto mají vlastnosti orientované na uživatelské rozhraní, jako např. text tipu k nástroji, popisný text a obrázek. To umožní ostatním třídám konstruovat prvky widget pro prezentaci akce.
Když uživatel v uživatelském rozhraní spustí akci, vyvolá se metoda spuštění akce, aby vykonala vlastní činnost. Obvyklý je při spuštěné metodě dotaz na výběry pracovní plochy a manipulace s vybranými objekty. Jiný společný vzorek je pro spuštění průvodce nebo dialogového okna, když je vybrána akce.
Neměli byste přímo implementovat rozhraní IAction. Místo toho byste měli vytvořit podtřídu třídy Akce . Projděte si podtřídy této třídy a prohlédněte si množství běžných vzorků akcí. Níže uvedený kód implementuje akci "About". Jedná se o jednu z jednodušších akcí v rámci pracovní plochy.
public void run() { new AboutDialog(workbenchWindow.getShell()).open(); }
Již dříve jsme viděli rozhraní pracovní plochy IViewActionDelegate a IEditorActionDelegate. Tato rozhraní se používají, když se vkládají jako příspěvky akce zobrazení nebo akce editoru do pracovní plochy. Delegáti akcí pracovní plochy jsou inicializováni s odkazem na jejich přidružený pohled nebo editor. S touto znalostí mohou kvůli provedení akce navigovat na stránku nebo okno pracovní plochy a přistupovat tak k výběrům nebo jiným potřebným informacím.
Kdykoliv budete chtít definovat nějaký příkaz ve svém modulu plug-in, budete implementovat vlastní třídy akcí. Pokud přispíváte akcemi do jiných pohledů a editorů, implementujete delegáty akcí.
Položka příspěvku (IContributionItem) představuje část uživatelského rozhraní akce. Přesněji řečeno reprezentuje položku, kterou se přispívá do sdíleného prostředku uživatelského rozhraní, jako je např. nabídka nebo řádek nástrojů.
Položky příspěvků vědí, jak naplnit konkrétní widget SWT odpovídající položkou SWT, která reprezentuje daný příspěvek.
Když přispíváte akcemi do uživatelského rozhraní pracovní plochy, nemusíte se starat o vytváření položky příspěvku. To se provede, jakmile pracovní plocha vytvoří položky uživatelského rozhraní pro akce, které jste definovali.
Správce příspěvku (IContributionManager) reprezentuje kolekci položek příspěvku, které budou prezentovány v uživatelském rozhraní. Můžete přidat a vložit položky příspěvku pomocí pojmenovaných identifikátorů příspěvku, aby se položky umístily ve příslušném pořadí. Můžete také najít položky podle identifikátoru a jednotlivé položky odebrat.
Každá implementace správce IContributionManager ví, jak naplnit konkrétní widget SWT položkami. JFace poskytuje správce příspěvků pro nabídky (IMenuManager), řádky nástrojů (IToolBarManager), a stavové pruhy (IStatusLineManager).
Jako vývojáři modulů plug-in nemusíte tato rozhraní implementovat, ale setkáte se s odkazy na některé správce v metodách API.