package com.aptana.editor.php.internal.ui.editor; import java.util.ResourceBundle; import org.eclipse.jface.action.IMenuManager; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.ui.texteditor.RetargetTextEditorAction; import com.aptana.editor.common.CommonTextEditorActionContributor; import com.aptana.editor.php.Messages; import com.aptana.editor.php.internal.ui.actions.IPHPActionKeys; public class PHPActionContributor extends CommonTextEditorActionContributor { private RetargetTextEditorAction fOpenDeclaration; public PHPActionContributor() { // Note that this messages bundle is used when constructing the actions. // Make sure no string are removed unintentionally from the properties file... ResourceBundle resourceBundle = Messages.getResourceBundle(); fOpenDeclaration = new RetargetTextEditorAction(resourceBundle, "openDeclaration."); //$NON-NLS-1$ fOpenDeclaration.setActionDefinitionId(IPHPActionKeys.OPEN_DECLARATION); } /* * (non-Javadoc) * @see * org.eclipse.ui.texteditor.BasicTextEditorActionContributor#contributeToMenu(org.eclipse.jface.action.IMenuManager * ) */ @Override public void contributeToMenu(IMenuManager menu) { super.contributeToMenu(menu); IMenuManager navigateMenu = menu.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE); if (navigateMenu != null) { navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fOpenDeclaration); } } /* * (non-Javadoc) * @see com.aptana.editor.common.CommonTextEditorActionContributor#setActiveEditor(org.eclipse.ui.IEditorPart) */ @Override public void setActiveEditor(IEditorPart part) { super.setActiveEditor(part); ITextEditor editor = null; if (part instanceof ITextEditor) { editor = (ITextEditor) part; fOpenDeclaration.setAction(getAction(editor, IPHPActionKeys.OPEN_DECLARATION)); } } }