///******************************************************************************* // * Copyright (c) 2000, 2006 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.search.internal.ui.text; // //import org.eclipse.core.runtime.Assert; //import org.eclipse.core.runtime.IAdaptable; // //import org.eclipse.jface.action.IMenuManager; //import org.eclipse.jface.action.MenuManager; //import org.eclipse.jface.viewers.ISelection; //import org.eclipse.jface.viewers.ISelectionProvider; //import org.eclipse.jface.viewers.IStructuredSelection; // //import org.eclipse.ui.IActionBars; //import org.eclipse.ui.IViewPart; //import org.eclipse.ui.IWorkbenchPage; //import org.eclipse.ui.IWorkbenchPartSite; //import org.eclipse.ui.actions.ActionFactory; //import org.eclipse.ui.actions.ActionGroup; //import org.eclipse.ui.actions.OpenFileAction; //import org.eclipse.ui.actions.OpenWithMenu; //import org.eclipse.ui.dialogs.PropertyDialogAction; // //import org.eclipse.search.internal.ui.SearchMessages; //import org.eclipse.search.ui.IContextMenuConstants; // ///** // * Action group that adds the Text search actions to a context menu and // * the global menu bar. // * // * <p> // * This class may be instantiated; it is not intended to be subclassed. // * </p> // * // * @since 2.1 // */ //public class NewTextSearchActionGroup extends ActionGroup { // // private ISelectionProvider fSelectionProvider; // private IWorkbenchPage fPage; // private OpenFileAction fOpenAction; // private PropertyDialogAction fOpenPropertiesDialog; // // public NewTextSearchActionGroup(IViewPart part) { // Assert.isNotNull(part); // IWorkbenchPartSite site= part.getSite(); // fSelectionProvider= site.getSelectionProvider(); // fPage= site.getPage(); // fOpenPropertiesDialog= new PropertyDialogAction(site, fSelectionProvider); // fOpenAction= new OpenFileAction(fPage); // ISelection selection= fSelectionProvider.getSelection(); // // if (selection instanceof IStructuredSelection) // fOpenPropertiesDialog.selectionChanged((IStructuredSelection)selection); // else // fOpenPropertiesDialog.selectionChanged(selection); // // } // // public void fillContextMenu(IMenuManager menu) { // // view must exist if we create a context menu for it. // // ISelection selection= getContext().getSelection(); // if (selection instanceof IStructuredSelection) { // addOpenWithMenu(menu, (IStructuredSelection) selection); // if (fOpenPropertiesDialog != null && fOpenPropertiesDialog.isEnabled() && fOpenPropertiesDialog.isApplicableForSelection((IStructuredSelection) selection)) // menu.appendToGroup(IContextMenuConstants.GROUP_PROPERTIES, fOpenPropertiesDialog); // } // // } // // private void addOpenWithMenu(IMenuManager menu, IStructuredSelection selection) { // if (selection == null || selection.size() != 1) // return; // // Object o= selection.getFirstElement(); // // if (!(o instanceof IAdaptable)) // return; // // fOpenAction.selectionChanged(selection); // menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fOpenAction); // // // Create menu // IMenuManager submenu= new MenuManager(SearchMessages.OpenWithMenu_label); // submenu.add(new OpenWithMenu(fPage, (IAdaptable)o)); // // // Add the submenu. // menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, submenu); // } // // /* (non-Javadoc) // * Method declared in ActionGroup // */ // public void fillActionBars(IActionBars actionBar) { // super.fillActionBars(actionBar); // setGlobalActionHandlers(actionBar); // } // // private void setGlobalActionHandlers(IActionBars actionBars) { // actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), fOpenPropertiesDialog); // } //}