X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java index d4f26f2..733ba53 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java @@ -12,18 +12,18 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ResourceBundle; + +import net.sourceforge.phpdt.internal.ui.PHPUiImages; import net.sourceforge.phpdt.ui.IContextMenuConstants; -import net.sourceforge.phpdt.ui.actions.GotoMatchingBracketAction; import net.sourceforge.phpdt.ui.actions.PHPdtActionConstants; import net.sourceforge.phpeclipse.PHPeclipsePlugin; + import org.eclipse.core.resources.IFile; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IStatusLineManager; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.Separator; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.swt.SWT; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; @@ -32,23 +32,24 @@ import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.actions.RetargetAction; import org.eclipse.ui.editors.text.EncodingActionGroup; +import org.eclipse.ui.ide.IDEActionFactory; import org.eclipse.ui.texteditor.AbstractTextEditor; import org.eclipse.ui.texteditor.BasicTextEditorActionContributor; import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; 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 fContentAssistTip; +public class PHPActionContributor extends BasicJavaEditorActionContributor { +// protected RetargetTextEditorAction fContentAssistTip; // protected TextEditorAction fTogglePresentation; protected RetargetAction fRetargetContentAssist; protected RetargetTextEditorAction fContentAssist; + protected RetargetTextEditorAction fContextInformation; private RetargetTextEditorAction fGotoMatchingBracket; private List fRetargetToolbarActions = new ArrayList(); - private List fPartListeners = new ArrayList(); +// private List fPartListeners = new ArrayList(); protected PHPParserAction fParserAction; protected ShowExternalPreviewAction fShowExternalPreviewAction; private EncodingActionGroup fEncodingActionGroup; @@ -58,38 +59,40 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { public PHPActionContributor() { super(); ResourceBundle b = PHPEditorMessages.getResourceBundle(); - fRetargetContentAssist = new RetargetAction( - PHPdtActionConstants.CONTENT_ASSIST, PHPEditorMessages - .getString("ContentAssistProposal.label")); //$NON-NLS-1$ - fRetargetContentAssist - .setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - markAsPartListener(fRetargetContentAssist); - fContentAssist = new RetargetTextEditorAction(b, "ContentAssistProposal."); //$NON-NLS-1$ - fContentAssist - .setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - fGotoMatchingBracket = new RetargetTextEditorAction(b, - "GotoMatchingBracket."); //$NON-NLS-1$ - fGotoMatchingBracket - .setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_MATCHING_BRACKET); - // fContentAssist.setImageDescriptor(JavaPluginImages.DESC_CLCL_CODE_ASSIST); - // fContentAssist.setDisabledImageDescriptor(JavaPluginImages.DESC_DLCL_CODE_ASSIST); - // fContentAssist = new - // RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), - // "ContentAssistProposal."); //$NON-NLS-1$ - fContentAssistTip = new RetargetTextEditorAction(PHPEditorMessages - .getResourceBundle(), "ContentAssistTip."); //$NON-NLS-1$ - // fTogglePresentation = new PresentationAction(); - // character encoding - fEncodingActionGroup = new EncodingActionGroup(); + +// fRetargetContentAssist = new RetargetAction( +// PHPdtActionConstants.CONTENT_ASSIST, PHPEditorMessages +// .getString("ContentAssistProposal.label")); //$NON-NLS-1$ +// fRetargetContentAssist +// .setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); +// markAsPartListener(fRetargetContentAssist); +// +// fContentAssist = new RetargetTextEditorAction(b, "ContentAssistProposal."); //$NON-NLS-1$ +// fContentAssist +// .setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); + + fRetargetContentAssist= new RetargetAction(PHPdtActionConstants.CONTENT_ASSIST, PHPEditorMessages.getString("ContentAssistProposal.label")); //$NON-NLS-1$ + fRetargetContentAssist.setActionDefinitionId(PHPEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); + markAsPartListener(fRetargetContentAssist); + + fContentAssist= new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "ContentAssistProposal."); //$NON-NLS-1$ + fContentAssist.setActionDefinitionId(PHPEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); + fContentAssist.setImageDescriptor(PHPUiImages.DESC_CLCL_CODE_ASSIST); + fContentAssist.setDisabledImageDescriptor(PHPUiImages.DESC_DLCL_CODE_ASSIST); + + fContextInformation= new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "ContentAssistContextInformation."); //$NON-NLS-1$ + fContextInformation.setActionDefinitionId(PHPEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION); + +// fCorrectionAssist= new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "CorrectionAssistProposal."); //$NON-NLS-1$ +// fCorrectionAssist.setActionDefinitionId(PHPEditorActionDefinitionIds.CORRECTION_ASSIST_PROPOSALS); + + // character encoding + fEncodingActionGroup= new EncodingActionGroup(); + fParserAction = PHPParserAction.getInstance(); - if (SWT.getPlatform().equals("win32")) { - // ExternalPreview only available as ActiveX on win32 (Eclipse2.1) - fShowExternalPreviewAction = ShowExternalPreviewAction.getInstance(); - } - } - protected final void markAsPartListener(RetargetAction action) { - fPartListeners.add(action); + fShowExternalPreviewAction = ShowExternalPreviewAction.getInstance(); } + /* * @see EditorActionBarContributor#contributeToMenu(IMenuManager) */ @@ -139,85 +142,70 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { */ public void contributeToMenu(IMenuManager menu) { super.contributeToMenu(menu); - IMenuManager editMenu = menu - .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - if (editMenu != null) { - editMenu.add(new Separator(IContextMenuConstants.GROUP_OPEN)); - editMenu.add(new Separator(IContextMenuConstants.GROUP_GENERATE)); - editMenu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS)); - // editMenu.appendToGroup( - // IContextMenuConstants.GROUP_GENERATE, - // fRetargetContentAssist); - // MenuManager structureSelection= new - // MenuManager(JavaEditorMessages.getString("ExpandSelectionMenu.label"), - // "expandSelection"); //$NON-NLS-1$ //$NON-NLS-2$ - // structureSelection.add(fStructureSelectEnclosingAction); - // structureSelection.add(fStructureSelectNextAction); - // structureSelection.add(fStructureSelectPreviousAction); - // structureSelection.add(fStructureSelectHistoryAction); - // editMenu.appendToGroup(IContextMenuConstants.GROUP_OPEN, - // structureSelection); - // editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, - // fRetargetShowJavaDoc); - } - // IMenuManager navigateMenu= - // menu.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE); - // if (navigateMenu != null) { - // navigateMenu.appendToGroup(IWorkbenchActionConstants.SHOW_EXT, - // fShowOutline); - // } - IMenuManager gotoMenu = menu.findMenuUsingPath("navigate/goTo"); //$NON-NLS-1$ - if (gotoMenu != null) { - gotoMenu.add(new Separator("additions2")); //$NON-NLS-1$ - // gotoMenu.appendToGroup("additions2", fGotoPreviousMemberAction); - // //$NON-NLS-1$ - // gotoMenu.appendToGroup("additions2", fGotoNextMemberAction); - // //$NON-NLS-1$ - gotoMenu.appendToGroup("additions2", fGotoMatchingBracket); //$NON-NLS-1$ - } - } - /* - * @see EditorActionBarContributor#contributeToToolBar(IToolBarManager) - */ - public void contributeToToolBar(IToolBarManager tbm) { - tbm.add(new Separator()); - Iterator e = fRetargetToolbarActions.iterator(); - while (e.hasNext()) - tbm.add((IAction) e.next()); + + IMenuManager editMenu= menu.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + if (editMenu != null) { + editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, fRetargetContentAssist); +// editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, fCorrectionAssist); + editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, fContextInformation); + } } +// /* +// * @see EditorActionBarContributor#contributeToToolBar(IToolBarManager) +// */ +// public void contributeToToolBar(IToolBarManager tbm) { +// tbm.add(new Separator()); +// Iterator e = fRetargetToolbarActions.iterator(); +// while (e.hasNext()) +// tbm.add((IAction) e.next()); +// } /* * @see IEditorActionBarContributor#init(IActionBars, IWorkbenchPage) */ - public void init(IActionBars bars, IWorkbenchPage page) { - Iterator e = fPartListeners.iterator(); - while (e.hasNext()) - page.addPartListener((RetargetAction) e.next()); - // character encoding - fEncodingActionGroup.fillActionBars(bars); - super.init(bars, page); - } - /* - * @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(fContentAssist); - // editMenu.add(fGotoMatchingBracket); - // editMenu.add(fContentAssistTip); - } - bars.setGlobalActionHandler(PHPdtActionConstants.CONTENT_ASSIST, - fContentAssist); - // IToolBarManager toolBarManager = bars.getToolBarManager(); - // if (toolBarManager != null) { - // toolBarManager.add(new Separator()); - // toolBarManager.add(fTogglePresentation); - // } - } +// public void init(IActionBars bars, IWorkbenchPage page) { +// Iterator e = fPartListeners.iterator(); +// while (e.hasNext()) +// page.addPartListener((RetargetAction) e.next()); +// // character encoding +// fEncodingActionGroup.fillActionBars(bars); +// super.init(bars, page); +// } + + /* + * @see IEditorActionBarContributor#init(IActionBars, IWorkbenchPage) + */ + public void init(IActionBars bars, IWorkbenchPage page) { + super.init(bars, page); + + // register actions that have a dynamic editor. + bars.setGlobalActionHandler(PHPdtActionConstants.CONTENT_ASSIST, fContentAssist); + // character encoding + fEncodingActionGroup.fillActionBars(bars); + } + // /* +// * @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(fContentAssist); +// // editMenu.add(fGotoMatchingBracket); +// // editMenu.add(fContentAssistTip); +// } +// bars.setGlobalActionHandler(PHPdtActionConstants.CONTENT_ASSIST, +// fContentAssist); +// // IToolBarManager toolBarManager = bars.getToolBarManager(); +// // if (toolBarManager != null) { +// // toolBarManager.add(new Separator()); +// // toolBarManager.add(fTogglePresentation); +// // } +// } + + /* * @see IEditorActionBarContributor#setActiveEditor(IEditorPart) */ @@ -227,37 +215,25 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { IStatusLineManager manager = bars.getStatusLineManager(); manager.setMessage(null); manager.setErrorMessage(null); - ITextEditor textEditor = null; + + ITextEditor textEditor = null; if (part instanceof ITextEditor) textEditor = (ITextEditor) part; - fContentAssist.setAction(getAction(textEditor, "ContentAssistProposal")); //$NON-NLS-1$ - fContentAssistTip.setAction(getAction(textEditor, "ContentAssistTip")); //$NON-NLS-1$ - fGotoMatchingBracket.setAction(getAction(textEditor, - GotoMatchingBracketAction.GOTO_MATCHING_BRACKET)); - bars.setGlobalActionHandler(PHPdtActionConstants.SHIFT_RIGHT, getAction( - textEditor, "ShiftRight")); //$NON-NLS-1$ - bars.setGlobalActionHandler(PHPdtActionConstants.SHIFT_LEFT, getAction( - textEditor, "ShiftLeft")); //$NON-NLS-1$ - // character encoding - fEncodingActionGroup.retarget(textEditor); - bars.setGlobalActionHandler(PHPdtActionConstants.COMMENT, getAction( - textEditor, "Comment")); - bars.setGlobalActionHandler(PHPdtActionConstants.UNCOMMENT, getAction( - textEditor, "Uncomment")); - bars.setGlobalActionHandler(PHPdtActionConstants.FORMAT, getAction( - textEditor, "Format")); - if (part instanceof PHPEditor) { - PHPEditor phpEditor = (PHPEditor) part; - phpEditor.getActionGroup().fillActionBars(getActionBars()); - } - // if (part instanceof PHPEditor) { - // PHPEditor cuEditor = (PHPEditor) part; - // ActionGroup group = cuEditor.getActionGroup(); - // if (group != null) - // group.fillActionBars(bars); - // } - // fTogglePresentation.setEditor(editor); - // fTogglePresentation.update(); + + fContentAssist.setAction(getAction(textEditor, "ContentAssistProposal")); //$NON-NLS-1$ + fContextInformation.setAction(getAction(textEditor, "ContentAssistContextInformation")); //$NON-NLS-1$ +// fCorrectionAssist.setAction(getAction(textEditor, "CorrectionAssistProposal")); //$NON-NLS-1$ + + IActionBars actionBars= getActionBars(); + actionBars.setGlobalActionHandler(PHPdtActionConstants.SHIFT_RIGHT, getAction(textEditor, "ShiftRight")); //$NON-NLS-1$ + actionBars.setGlobalActionHandler(PHPdtActionConstants.SHIFT_LEFT, getAction(textEditor, "ShiftLeft")); //$NON-NLS-1$ + + actionBars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(), getAction(textEditor, IDEActionFactory.ADD_TASK.getId())); //$NON-NLS-1$ + actionBars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(), getAction(textEditor, IDEActionFactory.BOOKMARK.getId())); //$NON-NLS-1$ + + // character encoding + fEncodingActionGroup.retarget(textEditor); + if (textEditor != null) { IFile file = null; IEditorInput editorInput = textEditor.getEditorInput(); @@ -276,15 +252,5 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { } } } - /* - * @see IEditorActionBarContributor#dispose() - */ - public void dispose() { - Iterator e = fPartListeners.iterator(); - while (e.hasNext()) - getPage().removePartListener((RetargetAction) e.next()); - fPartListeners.clear(); - setActiveEditor(null); - super.dispose(); - } + }