package net.sourceforge.phpeclipse.phpeditor; /********************************************************************** Copyright (c) 2000, 2002 IBM Corp. 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 implementation Klaus Hartlage - www.eclipseproject.de **********************************************************************/ import net.sourceforge.phpdt.ui.actions.*; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.actions.ActionGroup; import org.eclipse.ui.texteditor.BasicTextEditorActionContributor; import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.ui.texteditor.RetargetTextEditorAction; /** * Contributes interesting PHP actions to the desktop's Edit menu and the toolbar. */ public class PHPActionContributor extends BasicTextEditorActionContributor { protected RetargetTextEditorAction fContentAssistProposal; // protected RetargetTextEditorAction fContentAssistTip; // protected TextEditorAction fTogglePresentation; protected PHPParserAction parserAction; /** * Default constructor. */ public PHPActionContributor() { super(); fContentAssistProposal = new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "ContentAssistProposal."); //$NON-NLS-1$ // fContentAssistTip = new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "ContentAssistTip."); //$NON-NLS-1$ // fTogglePresentation = new PresentationAction(); parserAction = PHPParserAction.getInstance(); } /* * @see IEditorActionBarContributor#init(IActionBars) */ public void init(IActionBars bars) { super.init(bars); IMenuManager menuManager = bars.getMenuManager(); IMenuManager editMenu = menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); if (editMenu != null) { editMenu.add(new Separator()); editMenu.add(fContentAssistProposal); // editMenu.add(fContentAssistTip); } // IToolBarManager toolBarManager = bars.getToolBarManager(); // if (toolBarManager != null) { // toolBarManager.add(new Separator()); // toolBarManager.add(fTogglePresentation); // } } private void doSetActiveEditor(IEditorPart part) { super.setActiveEditor(part); ITextEditor textEditor = null; if (part instanceof ITextEditor) textEditor = (ITextEditor) part; fContentAssistProposal.setAction(getAction(textEditor, "ContentAssistProposal")); //$NON-NLS-1$ // fContentAssistTip.setAction(getAction(editor, "ContentAssistTip")); //$NON-NLS-1$ IActionBars bars = getActionBars(); bars.setGlobalActionHandler(PHPdtActionConstants.COMMENT, getAction(textEditor, "Comment")); bars.setGlobalActionHandler(PHPdtActionConstants.UNCOMMENT, getAction(textEditor, "Uncomment")); if (part instanceof PHPEditor) { PHPEditor cuEditor= (PHPEditor)part; ActionGroup group= cuEditor.getActionGroup(); if (group != null) group.fillActionBars(bars); } // fTogglePresentation.setEditor(editor); // fTogglePresentation.update(); parserAction.setEditor(textEditor); parserAction.update(); } /* * @see IEditorActionBarContributor#setActiveEditor(IEditorPart) */ public void setActiveEditor(IEditorPart part) { doSetActiveEditor(part); } /* * @see IEditorActionBarContributor#dispose() */ public void dispose() { doSetActiveEditor(null); super.dispose(); } }