|
Eclipse Platform Release 3.3 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.ui.menus.AbstractContributionFactory
ContributionFactories are used by the IMenuService to populate
ContributionManagers. In createContributionItems(IServiceLocator, IContributionRoot)
you fill in the additions List with IContributionItem
to be inserted at this
factory's location. For example:
AbstractContributionFactory contributions = new AbstractContributionFactory( "menu:org.eclipse.ui.tests.api.MenuTestHarness?after=additions") { public void createContributionItems(IMenuService menuService, List additions) { CommandContributionItem item = new CommandContributionItem( "org.eclipse.ui.tests.menus.helloWorld", "org.eclipse.ui.tests.commands.enabledHelloWorld", null, null, "Say Hello", null); additions.add(item); item = new CommandContributionItem( "org.eclipse.ui.tests.menus.refresh", "org.eclipse.ui.tests.commands.refreshView", null, null, "Refresh", null); menuService.registerVisibleWhen(item, new MyActiveContextExpression( "org.eclipse.ui.tests.myview.context")); additions.add(item); } public void releaseContributionItems(IMenuService menuService, List items) { // we have nothing to do } }; IMenuService service = (IMenuService) PlatformUI.getWorkbench().getService( IMenuService.class); service.addContributionFactory(contributions);
Only the abstract methods may be implemented.
IMenuService
,
MenuManager
,
ToolBarManager
Constructor Summary | |
---|---|
AbstractContributionFactory(String location,
String namespace)
The contribution factories must be instantiated with their location, which which specifies the contributions insertion location. |
Method Summary | |
---|---|
abstract void |
createContributionItems(IServiceLocator serviceLocator,
IContributionRoot additions)
This factory should create the IContributionItems that it wants to contribute, and add them to the additions list. |
String |
getLocation()
Return the location as a String. |
String |
getNamespace()
Return the namespace for this cache. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public AbstractContributionFactory(String location, String namespace)
location
- the addition location in Menu API URI format. It must not be
null
.namespace
- the namespace for this contribution. May be null
.getNamespace()
Method Detail |
public String getLocation()
null
.public abstract void createContributionItems(IServiceLocator serviceLocator, IContributionRoot additions)
This method is not meant to be called by clients. It will be called by the menu service at the appropriate time.
serviceLocator
- a service locator that may be used in the construction of
items created by this factoryadditions
- A IContributionRoot
supplied by the framework. It will
never be null
.CommandContributionItem
,
MenuManager
public String getNamespace()
|
Eclipse Platform Release 3.3 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.