01: /*******************************************************************************
02: * Copyright (c) 2006 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.examples.navigator.actions;
11:
12: import org.eclipse.jface.action.IMenuManager;
13: import org.eclipse.ui.IActionBars;
14: import org.eclipse.ui.navigator.CommonActionProvider;
15: import org.eclipse.ui.navigator.ICommonActionConstants;
16: import org.eclipse.ui.navigator.ICommonActionExtensionSite;
17: import org.eclipse.ui.navigator.ICommonMenuConstants;
18: import org.eclipse.ui.navigator.ICommonViewerSite;
19: import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite;
20:
21: /**
22: * @since 3.2
23: *
24: */
25: public class PropertyActionProvider extends CommonActionProvider {
26:
27: private OpenPropertyAction openAction;
28:
29: /**
30: * Construct Property Action provider.
31: */
32: public PropertyActionProvider() {
33: }
34:
35: /* (non-Javadoc)
36: * @see org.eclipse.ui.navigator.CommonActionProvider#init(org.eclipse.ui.navigator.ICommonActionExtensionSite)
37: */
38: public void init(ICommonActionExtensionSite aSite) {
39:
40: ICommonViewerSite viewSite = aSite.getViewSite();
41: if (viewSite instanceof ICommonViewerWorkbenchSite) {
42: ICommonViewerWorkbenchSite workbenchSite = (ICommonViewerWorkbenchSite) viewSite;
43: openAction = new OpenPropertyAction(
44: workbenchSite.getPage(), workbenchSite
45: .getSelectionProvider());
46: }
47: }
48:
49: /* (non-Javadoc)
50: * @see org.eclipse.ui.actions.ActionGroup#fillActionBars(org.eclipse.ui.IActionBars)
51: */
52: public void fillActionBars(IActionBars actionBars) {
53: /* Set up the property open action when enabled. */
54: if (openAction.isEnabled())
55: actionBars.setGlobalActionHandler(
56: ICommonActionConstants.OPEN, openAction);
57: }
58:
59: /* (non-Javadoc)
60: * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
61: */
62: public void fillContextMenu(IMenuManager menu) {
63: if (openAction.isEnabled())
64: menu.appendToGroup(ICommonMenuConstants.GROUP_OPEN,
65: openAction);
66: }
67:
68: }
|