X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/ui/actions/OpenEditorActionGroup.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/ui/actions/OpenEditorActionGroup.java deleted file mode 100644 index 0d41704..0000000 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/ui/actions/OpenEditorActionGroup.java +++ /dev/null @@ -1,159 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 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 net.sourceforge.phpdt.ui.actions; - -import net.sourceforge.phpdt.internal.ui.actions.ActionMessages; -import net.sourceforge.phpdt.ui.IContextMenuConstants; -import net.sourceforge.phpeclipse.actions.PHPOpenDeclarationAction; -import net.sourceforge.phpeclipse.phpeditor.PHPEditor; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.action.IAction; -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.IWorkbenchSite; -import org.eclipse.ui.actions.ActionGroup; -import org.eclipse.ui.actions.OpenWithMenu; - -/** - * Action group that adds the actions opening a new editor to the context menu - * and the action bar's navigate menu. - * - *

- * This class may be instantiated; it is not intended to be subclassed. - *

- * - * @since 2.0 - */ -public class OpenEditorActionGroup extends ActionGroup { - - private IWorkbenchSite fSite; - - private boolean fIsEditorOwner; - - private PHPOpenDeclarationAction fOpen; - - /** - * Creates a new OpenActionGroup. The group requires that - * the selection provided by the part's selection provider is of type - * org.eclipse.jface.viewers.IStructuredSelection. - * - * @param part - * the view part that owns this action group - */ -// public OpenEditorActionGroup(IViewPart part) { -// fSite = part.getSite(); -// fOpen = new PHPOpenDeclarationAction(fSite); -// fOpen.setActionDefinitionId(PHPEditorActionDefinitionIds.OPEN_EDITOR); -// initialize(fSite.getSelectionProvider()); -// } - - /** - * Note: This constructor is for internal use only. Clients should not call - * this constructor. - */ - public OpenEditorActionGroup(PHPEditor part) { - fIsEditorOwner = true; - fOpen = new PHPOpenDeclarationAction(part); - fOpen.setActionDefinitionId(PHPEditorActionDefinitionIds.OPEN_EDITOR); - part.setAction("OpenEditor", fOpen); //$NON-NLS-1$ - fSite = part.getEditorSite(); - initialize(fSite.getSelectionProvider()); - } - - /** - * Returns the open action managed by this action group. - * - * @return the open action. Returns null if the group doesn't - * provide any open action - */ -// public IAction getOpenAction() { -// return fOpen; -// } - - private void initialize(ISelectionProvider provider) { - ISelection selection = provider.getSelection(); - fOpen.update(selection); - if (!fIsEditorOwner) { - provider.addSelectionChangedListener(fOpen); - } - } - - /* - * (non-Javadoc) Method declared in ActionGroup - */ - public void fillActionBars(IActionBars actionBar) { - super.fillActionBars(actionBar); - setGlobalActionHandlers(actionBar); - } - - /* - * (non-Javadoc) Method declared in ActionGroup - */ - public void fillContextMenu(IMenuManager menu) { - super.fillContextMenu(menu); - appendToGroup(menu, fOpen); - if (!fIsEditorOwner) { - addOpenWithMenu(menu); - } - } - - /* - * @see ActionGroup#dispose() - */ - public void dispose() { - ISelectionProvider provider = fSite.getSelectionProvider(); - provider.removeSelectionChangedListener(fOpen); - super.dispose(); - } - - private void setGlobalActionHandlers(IActionBars actionBars) { - actionBars.setGlobalActionHandler(PHPdtActionConstants.OPEN, fOpen); - } - - private void appendToGroup(IMenuManager menu, IAction action) { - if (action.isEnabled()) - menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, action); - } - - private void addOpenWithMenu(IMenuManager menu) { - ISelection selection = getContext().getSelection(); - if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) - return; - IStructuredSelection ss = (IStructuredSelection) selection; - if (ss.size() != 1) - return; - - Object o = ss.getFirstElement(); - if (!(o instanceof IAdaptable)) - return; - - IAdaptable element = (IAdaptable) o; - Object resource = element.getAdapter(IResource.class); - if (!(resource instanceof IFile)) - return; - - // Create a menu flyout. - IMenuManager submenu = new MenuManager(ActionMessages - .getString("OpenWithMenu.label")); //$NON-NLS-1$ - submenu.add(new OpenWithMenu(fSite.getPage(), (IFile) resource)); - - // Add the submenu. - menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, submenu); - } -}