01: /*******************************************************************************
02: * Copyright (c) 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: ******************************************************************************/package org.eclipse.ui.internal.menus;
11:
12: import java.util.List;
13:
14: import org.eclipse.core.expressions.Expression;
15: import org.eclipse.jface.action.IContributionItem;
16: import org.eclipse.ui.menus.IMenuService;
17:
18: /**
19: * Internal baseclass for Workbench and Window menu service implementations.
20: * Methods in this class might some day make sense to live in IMenuService.
21: *
22: * @since 3.3
23: *
24: */
25: public abstract class InternalMenuService implements IMenuService {
26:
27: /**
28: * Ties an expression to {@link IContributionItem#setVisible(boolean)}.
29: *
30: * @param item
31: * the item
32: * @param visibleWhen
33: * the expression
34: * @param restriction
35: * the restriction expression
36: * @param identifierId
37: * the activity identifier id
38: */
39: public abstract void registerVisibleWhen(
40: final IContributionItem item, final Expression visibleWhen,
41: final Expression restriction, String identifierID);
42:
43: /**
44: * Removes any expressions bound to
45: * {@link IContributionItem#setVisible(boolean)} of the given item
46: *
47: * @param item
48: * the item to unbind
49: */
50: public abstract void unregisterVisibleWhen(IContributionItem item);
51:
52: /**
53: * Return a list of {@link MenuAdditionCacheEntry} objects that are
54: * contributed at the given uri.
55: *
56: * @param uri
57: * the uri to search on
58: * @return the list of items
59: */
60: public abstract List getAdditionsForURI(MenuLocationURI uri);
61:
62: }
|