Interface IMenuService

All Superinterfaces:
IDisposable, IServiceWithSources

public interface IMenuService extends IServiceWithSources

Provides services related to the menu architecture within the workbench. It can be used to contribute additional items to the menu, tool bar and status line.

This service can be acquired from your service locator:

 IMenuService service = (IMenuService) getSite().getService(IMenuService.class);
 
  • This service is available globally.
Since:
3.3
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • addContributionFactory

      void addContributionFactory(AbstractContributionFactory factory)
      Contribute and initialize the contribution factory. This should only be called once per factory. After the call, the factory should be treated as an unmodifiable object.

      Note: factories should be removed when no longer necessary. If not, they will be removed when the IServiceLocator used to acquire this service is disposed.

      Parameters:
      factory - the contribution factory. Must not be null
      See Also:
    • removeContributionFactory

      void removeContributionFactory(AbstractContributionFactory factory)
      Remove the contributed factory from the menu service. If the factory is not contained by this service, this call does nothing.
      Parameters:
      factory - the contribution factory to remove. Must not be null.
    • populateContributionManager

      void populateContributionManager(ContributionManager mgr, String location)
      Populate a ContributionManager at the specified starting location with a set of IContributionItemss. It applies AbstractContributionFactorys that are stored against the provided location.
      Parameters:
      mgr - The ContributionManager to populate
      location - The starting location to begin populating this contribution manager. The format is the Menu API URI format.
      See Also:
    • releaseContributions

      void releaseContributions(ContributionManager mgr)
      Before calling dispose() on a ContributionManager populated by the menu service, you must inform the menu service to release its contributions. This takes care of unregistering any IContributionItems that have their visibleWhen clause managed by this menu service.

      This will not update the ContributionManager (and any widgets). It will simply remove all menu service references to the contents of this ContributionManager.

      Parameters:
      mgr - The manager that was populated by a call to populateContributionManager(ContributionManager, String)
    • getCurrentState

      IEvaluationContext getCurrentState()
      Get the current state of eclipse as seen by the menu service.
      Returns:
      an IEvaluationContext containing state variables.
      See Also: