Package 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 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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 aContributionManager
at the specified starting location with a set ofIContributionItems
s.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.IDisposable
dispose
-
Methods inherited from interface org.eclipse.ui.services.IServiceWithSources
addSourceProvider, removeSourceProvider
-
-
-
-
Method Detail
-
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 benull
- See Also:
removeContributionFactory(AbstractContributionFactory)
-
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 benull
.
-
populateContributionManager
void populateContributionManager(ContributionManager mgr, String location)
Populate aContributionManager
at the specified starting location with a set ofIContributionItems
s. It appliesAbstractContributionFactory
s that are stored against the provided location.- Parameters:
mgr
- The ContributionManager to populatelocation
- The starting location to begin populating this contribution manager. The format is the Menu API URI format.- See Also:
releaseContributions(ContributionManager)
-
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 topopulateContributionManager(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:
ISources
,IEvaluationService
-
-