Eclipse Platform
Release 3.3

org.eclipse.ui.menus
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 interface should not be implemented or extended by clients.

Since:
3.3

Method Summary
 void addContributionFactory(AbstractContributionFactory factory)
          Contribute and initialize the contribution factory.
 IEvaluationContext getCurrentState()
          Get the current state of eclipse as seen by the menu service.
 void populateContributionManager(ContributionManager mgr, String location)
          Populate a ContributionManager at the specified starting location with a set of IContributionItemss.
 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.
 void removeContributionFactory(AbstractContributionFactory factory)
          Remove the contributed factory from the menu service.
 
Methods inherited from interface org.eclipse.ui.services.IServiceWithSources
addSourceProvider, removeSourceProvider
 
Methods inherited from interface org.eclipse.ui.services.IDisposable
dispose
 

Method Detail

addContributionFactory

public 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: In 3.3M4, this will make the factory available for any following calls to populateContributionManager(ContributionManager, String), but it will not add those contributions to already populated managers.

Parameters:
factory - the contribution factory. Must not be null

removeContributionFactory

public 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.

Note:In 3.3M4, this factory will no longer be called during populateContributionManager(ContributionManager, String) calls, but outstanding contributions will not be removed from populated contribution managers.

Parameters:
factory - the contribution factory to remove. Must not be null.

populateContributionManager

public 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(ContributionManager)

releaseContributions

public 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.

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

getCurrentState

public IEvaluationContext getCurrentState()
Get the current state of eclipse as seen by the menu service.

Returns:
an IEvaluationContext containing state variables.
See Also:
ISources

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.