blob: 6cf311fc7d0456375db5ad8b2dd3f7cb00523225 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.tests.adaptable;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.actions.ActionGroup;
import org.eclipse.ui.actions.AddBookmarkAction;
import org.eclipse.ui.actions.NewWizardAction;
import org.eclipse.ui.actions.NewWizardMenu;
import org.eclipse.ui.dialogs.PropertyDialogAction;
import org.eclipse.ui.internal.views.navigator.ResourceNavigatorMessages;
public class TestNavigatorActionGroup extends ActionGroup {
private AdaptedResourceNavigator navigator;
private AddBookmarkAction addBookmarkAction;
private PropertyDialogAction propertyDialogAction;
private NewWizardAction newWizardAction;
public TestNavigatorActionGroup(AdaptedResourceNavigator navigator) {
this.navigator = navigator;
}
protected void makeActions() {
Shell shell = navigator.getSite().getShell();
addBookmarkAction = new AddBookmarkAction(shell);
newWizardAction = new NewWizardAction();
propertyDialogAction = new PropertyDialogAction(shell, navigator
.getViewer());
}
/**
* @see ActionGroup#fillContextMenu(IMenuManager)
*/
public void fillContextMenu(IMenuManager menu) {
IStructuredSelection selection = (IStructuredSelection) getContext()
.getSelection();
MenuManager newMenu = new MenuManager(ResourceNavigatorMessages.ResourceNavigator_new);
menu.add(newMenu);
newMenu.add(new NewWizardMenu(navigator.getSite().getWorkbenchWindow()));
//Update the selections of those who need a refresh before filling
addBookmarkAction.selectionChanged(selection);
menu.add(addBookmarkAction);
menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
menu
.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS
+ "-end")); //$NON-NLS-1$
menu.add(new Separator());
propertyDialogAction.selectionChanged(selection);
if (propertyDialogAction.isApplicableForSelection())
menu.add(propertyDialogAction);
}
/*
* @see ActionFactory#fillActionBarMenu(IMenuManager, IStructuredSelection)
*/
public void fillActionBarMenu(IMenuManager menu,
IStructuredSelection selection) {
}
/**
* Updates the global actions with the given selection.
* Be sure to invoke after actions objects have updated, since can* methods delegate to action objects.
*/
public void updateGlobalActions(IStructuredSelection selection) {
}
/**
* Contributes actions to the local tool bar and local pulldown menu.
* @since 2.0
*/
public void fillActionBars(IStructuredSelection selection) {
}
/**
* Update the selection for new selection.
*/
public void selectionChanged(IStructuredSelection selection) {
}
}