blob: c579363cd811829dbdf13db6c89ea5b91bb8261f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.tests.adaptable;
import org.eclipse.swt.widgets.Shell;
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.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.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.getString("ResourceNavigator.new")); //$NON-NLS-1$
menu.add(newMenu);
new NewWizardMenu(newMenu, navigator.getSite().getWorkbenchWindow(), false);
//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) {}
}