X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/BasicJavaEditorActionContributor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/BasicJavaEditorActionContributor.java index d79c30d..ebbc553 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/BasicJavaEditorActionContributor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/BasicJavaEditorActionContributor.java @@ -18,7 +18,6 @@ import java.util.ResourceBundle; import net.sourceforge.phpdt.internal.ui.actions.FoldingActionGroup; import net.sourceforge.phpdt.ui.IContextMenuConstants; import net.sourceforge.phpdt.ui.actions.GotoMatchingBracketAction; -import net.sourceforge.phpdt.ui.actions.PHPdtActionConstants; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IStatusLineManager; @@ -29,206 +28,259 @@ import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.actions.RetargetAction; import org.eclipse.ui.texteditor.BasicTextEditorActionContributor; +import org.eclipse.ui.texteditor.GotoAnnotationAction; import org.eclipse.ui.texteditor.ITextEditor; +import org.eclipse.ui.texteditor.ITextEditorActionConstants; import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.texteditor.RetargetTextEditorAction; /** * Common base class for action contributors for Java editors. */ -public class BasicJavaEditorActionContributor extends BasicTextEditorActionContributor { - - private List fPartListeners= new ArrayList(); - +public class BasicJavaEditorActionContributor extends + BasicTextEditorActionContributor { + + private List fPartListeners = new ArrayList(); + private TogglePresentationAction fTogglePresentation; -// private GotoAnnotationAction fPreviousAnnotation; -// private GotoAnnotationAction fNextAnnotation; - + + private GotoAnnotationAction fPreviousAnnotation; + private GotoAnnotationAction fNextAnnotation; + private RetargetTextEditorAction fGotoMatchingBracket; -// private RetargetTextEditorAction fShowOutline; -// private RetargetTextEditorAction fOpenStructure; -// private RetargetTextEditorAction fOpenHierarchy; - - private RetargetAction fRetargetShowJavaDoc; - private RetargetTextEditorAction fShowJavaDoc; - -// private RetargetTextEditorAction fStructureSelectEnclosingAction; -// private RetargetTextEditorAction fStructureSelectNextAction; -// private RetargetTextEditorAction fStructureSelectPreviousAction; -// private RetargetTextEditorAction fStructureSelectHistoryAction; - -// private RetargetTextEditorAction fGotoNextMemberAction; -// private RetargetTextEditorAction fGotoPreviousMemberAction; -// -// private RetargetTextEditorAction fRemoveOccurrenceAnnotationsAction; - + + // private RetargetTextEditorAction fShowOutline; + // private RetargetTextEditorAction fOpenStructure; + // private RetargetTextEditorAction fOpenHierarchy; + + // private RetargetAction fRetargetShowJavaDoc; + // private RetargetTextEditorAction fShowJavaDoc; + + // private RetargetTextEditorAction fStructureSelectEnclosingAction; + // private RetargetTextEditorAction fStructureSelectNextAction; + // private RetargetTextEditorAction fStructureSelectPreviousAction; + // private RetargetTextEditorAction fStructureSelectHistoryAction; + + private RetargetTextEditorAction fGotoNextMemberAction; + + private RetargetTextEditorAction fGotoPreviousMemberAction; + + // + // private RetargetTextEditorAction fRemoveOccurrenceAnnotationsAction; + public BasicJavaEditorActionContributor() { super(); - - ResourceBundle b= PHPEditorMessages.getResourceBundle(); - - fRetargetShowJavaDoc= new RetargetAction(PHPdtActionConstants.SHOW_JAVA_DOC, PHPEditorMessages.getString("ShowJavaDoc.label")); //$NON-NLS-1$ - fRetargetShowJavaDoc.setActionDefinitionId(net.sourceforge.phpdt.ui.actions.PHPEditorActionDefinitionIds.SHOW_JAVADOC); - markAsPartListener(fRetargetShowJavaDoc); - - // actions that are "contributed" to editors, they are considered belonging to the active editor - fTogglePresentation= new TogglePresentationAction(); - -// fPreviousAnnotation= new GotoAnnotationAction("PreviousAnnotation.", false); //$NON-NLS-1$ -// -// fNextAnnotation= new GotoAnnotationAction("NextAnnotation.", true); //$NON-NLS-1$ - - fGotoMatchingBracket= new RetargetTextEditorAction(b, "GotoMatchingBracket."); //$NON-NLS-1$ - fGotoMatchingBracket.setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_MATCHING_BRACKET); - - fShowJavaDoc= new RetargetTextEditorAction(b, "ShowJavaDoc."); //$NON-NLS-1$ - fShowJavaDoc.setActionDefinitionId(net.sourceforge.phpdt.ui.actions.PHPEditorActionDefinitionIds.SHOW_JAVADOC); - -// fShowOutline= new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "ShowOutline."); //$NON-NLS-1$ -// fShowOutline.setActionDefinitionId(PHPEditorActionDefinitionIds.SHOW_OUTLINE); -// -// fOpenHierarchy= new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "OpenHierarchy."); //$NON-NLS-1$ -// fOpenHierarchy.setActionDefinitionId(PHPEditorActionDefinitionIds.OPEN_HIERARCHY); -// -// fOpenStructure= new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "OpenStructure."); //$NON-NLS-1$ -// fOpenStructure.setActionDefinitionId(PHPEditorActionDefinitionIds.OPEN_STRUCTURE); - -// fStructureSelectEnclosingAction= new RetargetTextEditorAction(b, "StructureSelectEnclosing."); //$NON-NLS-1$ -// fStructureSelectEnclosingAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_ENCLOSING); -// fStructureSelectNextAction= new RetargetTextEditorAction(b, "StructureSelectNext."); //$NON-NLS-1$ -// fStructureSelectNextAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_NEXT); -// fStructureSelectPreviousAction= new RetargetTextEditorAction(b, "StructureSelectPrevious."); //$NON-NLS-1$ -// fStructureSelectPreviousAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_PREVIOUS); -// fStructureSelectHistoryAction= new RetargetTextEditorAction(b, "StructureSelectHistory."); //$NON-NLS-1$ -// fStructureSelectHistoryAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_LAST); -// -// fGotoNextMemberAction= new RetargetTextEditorAction(b, "GotoNextMember."); //$NON-NLS-1$ -// fGotoNextMemberAction.setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_NEXT_MEMBER); -// fGotoPreviousMemberAction= new RetargetTextEditorAction(b, "GotoPreviousMember."); //$NON-NLS-1$ -// fGotoPreviousMemberAction.setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_PREVIOUS_MEMBER); -// -// fRemoveOccurrenceAnnotationsAction= new RetargetTextEditorAction(b, "RemoveOccurrenceAnnotations."); //$NON-NLS-1$ -// fRemoveOccurrenceAnnotationsAction.setActionDefinitionId(PHPEditorActionDefinitionIds.REMOVE_OCCURRENCE_ANNOTATIONS); + + ResourceBundle b = PHPEditorMessages.getResourceBundle(); + + // fRetargetShowJavaDoc= new + // RetargetAction(PHPdtActionConstants.SHOW_JAVA_DOC, + // PHPEditorMessages.getString("ShowJavaDoc.label")); //$NON-NLS-1$ + // fRetargetShowJavaDoc.setActionDefinitionId(net.sourceforge.phpdt.ui.actions.PHPEditorActionDefinitionIds.SHOW_JAVADOC); + // markAsPartListener(fRetargetShowJavaDoc); + + // actions that are "contributed" to editors, they are considered + // belonging to the active editor + fTogglePresentation = new TogglePresentationAction(); + + fPreviousAnnotation = new GotoAnnotationAction(b, + "PreviousAnnotation.", null, false); //$NON-NLS-1$ + fNextAnnotation = new GotoAnnotationAction(b, + "NextAnnotation.", null, true); //$NON-NLS-1$ + + fGotoMatchingBracket = new RetargetTextEditorAction(b, + "GotoMatchingBracket."); //$NON-NLS-1$ + fGotoMatchingBracket + .setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_MATCHING_BRACKET); + + // fShowJavaDoc= new RetargetTextEditorAction(b, "ShowJavaDoc."); + // //$NON-NLS-1$ + // fShowJavaDoc.setActionDefinitionId(net.sourceforge.phpdt.ui.actions.PHPEditorActionDefinitionIds.SHOW_JAVADOC); + + // fShowOutline= new + // RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), + // "ShowOutline."); //$NON-NLS-1$ + // fShowOutline.setActionDefinitionId(PHPEditorActionDefinitionIds.SHOW_OUTLINE); + // + // fOpenHierarchy= new + // RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), + // "OpenHierarchy."); //$NON-NLS-1$ + // fOpenHierarchy.setActionDefinitionId(PHPEditorActionDefinitionIds.OPEN_HIERARCHY); + // + // fOpenStructure= new + // RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), + // "OpenStructure."); //$NON-NLS-1$ + // fOpenStructure.setActionDefinitionId(PHPEditorActionDefinitionIds.OPEN_STRUCTURE); + + // fStructureSelectEnclosingAction= new RetargetTextEditorAction(b, + // "StructureSelectEnclosing."); //$NON-NLS-1$ + // fStructureSelectEnclosingAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_ENCLOSING); + // fStructureSelectNextAction= new RetargetTextEditorAction(b, + // "StructureSelectNext."); //$NON-NLS-1$ + // fStructureSelectNextAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_NEXT); + // fStructureSelectPreviousAction= new RetargetTextEditorAction(b, + // "StructureSelectPrevious."); //$NON-NLS-1$ + // fStructureSelectPreviousAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_PREVIOUS); + // fStructureSelectHistoryAction= new RetargetTextEditorAction(b, + // "StructureSelectHistory."); //$NON-NLS-1$ + // fStructureSelectHistoryAction.setActionDefinitionId(PHPEditorActionDefinitionIds.SELECT_LAST); + // + fGotoNextMemberAction = new RetargetTextEditorAction(b, + "GotoNextMember."); //$NON-NLS-1$ + fGotoNextMemberAction + .setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_NEXT_MEMBER); + fGotoPreviousMemberAction = new RetargetTextEditorAction(b, + "GotoPreviousMember."); //$NON-NLS-1$ + fGotoPreviousMemberAction + .setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_PREVIOUS_MEMBER); + // + // fRemoveOccurrenceAnnotationsAction= new RetargetTextEditorAction(b, + // "RemoveOccurrenceAnnotations."); //$NON-NLS-1$ + // fRemoveOccurrenceAnnotationsAction.setActionDefinitionId(PHPEditorActionDefinitionIds.REMOVE_OCCURRENCE_ANNOTATIONS); } - + protected final void markAsPartListener(RetargetAction action) { fPartListeners.add(action); } - + /* * @see IEditorActionBarContributor#init(IActionBars, IWorkbenchPage) */ - public void init(IActionBars bars, IWorkbenchPage page) { - Iterator e= fPartListeners.iterator(); - while (e.hasNext()) + public void init(IActionBars bars, IWorkbenchPage page) { + Iterator e = fPartListeners.iterator(); + while (e.hasNext()) page.addPartListener((RetargetAction) e.next()); - + super.init(bars, page); - - // register actions that have a dynamic editor. -// bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_NEXT_ANNOTATION, fNextAnnotation); -// bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_PREVIOUS_ANNOTATION, fPreviousAnnotation); -// bars.setGlobalActionHandler(ITextEditorActionConstants.NEXT, fNextAnnotation); -// bars.setGlobalActionHandler(ITextEditorActionConstants.PREVIOUS, fPreviousAnnotation); - bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.TOGGLE_SHOW_SELECTED_ELEMENT_ONLY, fTogglePresentation); - - bars.setGlobalActionHandler(PHPdtActionConstants.SHOW_JAVA_DOC, fShowJavaDoc); + + // register actions that have a dynamic editor. + bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_NEXT_ANNOTATION, fNextAnnotation); + bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_PREVIOUS_ANNOTATION, fPreviousAnnotation); + bars.setGlobalActionHandler(ITextEditorActionConstants.NEXT, fNextAnnotation); + bars.setGlobalActionHandler(ITextEditorActionConstants.PREVIOUS, fPreviousAnnotation); + bars + .setGlobalActionHandler( + ITextEditorActionDefinitionIds.TOGGLE_SHOW_SELECTED_ELEMENT_ONLY, + fTogglePresentation); + + // bars.setGlobalActionHandler(PHPdtActionConstants.SHOW_JAVA_DOC, + // fShowJavaDoc); } - + /* * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToMenu(org.eclipse.jface.action.IMenuManager) */ public void contributeToMenu(IMenuManager menu) { - + super.contributeToMenu(menu); - - IMenuManager editMenu= menu.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + + IMenuManager editMenu = menu + .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); if (editMenu != null) { - editMenu.add(new Separator(IContextMenuConstants.GROUP_OPEN)); + editMenu.add(new Separator(IContextMenuConstants.GROUP_OPEN)); editMenu.add(new Separator(IContextMenuConstants.GROUP_GENERATE)); editMenu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS)); - -// MenuManager structureSelection= new MenuManager(PHPEditorMessages.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); + + // MenuManager structureSelection= new + // MenuManager(PHPEditorMessages.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); -// navigateMenu.appendToGroup(IWorkbenchActionConstants.SHOW_EXT, fOpenHierarchy); -// } - - IMenuManager gotoMenu= menu.findMenuUsingPath("navigate/goTo"); //$NON-NLS-1$ + // IMenuManager navigateMenu= + // menu.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE); + // if (navigateMenu != null) { + // navigateMenu.appendToGroup(IWorkbenchActionConstants.SHOW_EXT, + // fShowOutline); + // navigateMenu.appendToGroup(IWorkbenchActionConstants.SHOW_EXT, + // fOpenHierarchy); + // } + + 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.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#setActiveEditor(IEditorPart) */ public void setActiveEditor(IEditorPart part) { - + super.setActiveEditor(part); - - IActionBars actionBars= getActionBars(); - IStatusLineManager manager= actionBars.getStatusLineManager(); + + IActionBars actionBars = getActionBars(); + IStatusLineManager manager = actionBars.getStatusLineManager(); manager.setMessage(null); manager.setErrorMessage(null); - - ITextEditor textEditor= null; + + ITextEditor textEditor = null; if (part instanceof ITextEditor) - textEditor= (ITextEditor) part; - + textEditor = (ITextEditor) part; + fTogglePresentation.setEditor(textEditor); -// fPreviousAnnotation.setEditor(textEditor); -// fNextAnnotation.setEditor(textEditor); - - fGotoMatchingBracket.setAction(getAction(textEditor, GotoMatchingBracketAction.GOTO_MATCHING_BRACKET)); - fShowJavaDoc.setAction(getAction(textEditor, "ShowJavaDoc")); //$NON-NLS-1$ -// fShowOutline.setAction(getAction(textEditor, IJavaEditorActionDefinitionIds.SHOW_OUTLINE)); -// fOpenHierarchy.setAction(getAction(textEditor, IJavaEditorActionDefinitionIds.OPEN_HIERARCHY)); -// fOpenStructure.setAction(getAction(textEditor, IJavaEditorActionDefinitionIds.OPEN_STRUCTURE)); - -// fStructureSelectEnclosingAction.setAction(getAction(textEditor, StructureSelectionAction.ENCLOSING)); -// fStructureSelectNextAction.setAction(getAction(textEditor, StructureSelectionAction.NEXT)); -// fStructureSelectPreviousAction.setAction(getAction(textEditor, StructureSelectionAction.PREVIOUS)); -// fStructureSelectHistoryAction.setAction(getAction(textEditor, StructureSelectionAction.HISTORY)); - -// fGotoNextMemberAction.setAction(getAction(textEditor, GoToNextPreviousMemberAction.NEXT_MEMBER)); -// fGotoPreviousMemberAction.setAction(getAction(textEditor, GoToNextPreviousMemberAction.PREVIOUS_MEMBER)); - -// fRemoveOccurrenceAnnotationsAction.setAction(getAction(textEditor, "RemoveOccurrenceAnnotations")); //$NON-NLS-1$ - + fPreviousAnnotation.setEditor(textEditor); + fNextAnnotation.setEditor(textEditor); + + fGotoMatchingBracket.setAction(getAction(textEditor, + GotoMatchingBracketAction.GOTO_MATCHING_BRACKET)); + // fShowJavaDoc.setAction(getAction(textEditor, "ShowJavaDoc")); + // //$NON-NLS-1$ + // fShowOutline.setAction(getAction(textEditor, + // IJavaEditorActionDefinitionIds.SHOW_OUTLINE)); + // fOpenHierarchy.setAction(getAction(textEditor, + // IJavaEditorActionDefinitionIds.OPEN_HIERARCHY)); + // fOpenStructure.setAction(getAction(textEditor, + // IJavaEditorActionDefinitionIds.OPEN_STRUCTURE)); + + // fStructureSelectEnclosingAction.setAction(getAction(textEditor, + // StructureSelectionAction.ENCLOSING)); + // fStructureSelectNextAction.setAction(getAction(textEditor, + // StructureSelectionAction.NEXT)); + // fStructureSelectPreviousAction.setAction(getAction(textEditor, + // StructureSelectionAction.PREVIOUS)); + // fStructureSelectHistoryAction.setAction(getAction(textEditor, + // StructureSelectionAction.HISTORY)); + + // fGotoNextMemberAction.setAction(getAction(textEditor, + // GoToNextPreviousMemberAction.NEXT_MEMBER)); + // fGotoPreviousMemberAction.setAction(getAction(textEditor, + // GoToNextPreviousMemberAction.PREVIOUS_MEMBER)); + + // fRemoveOccurrenceAnnotationsAction.setAction(getAction(textEditor, + // "RemoveOccurrenceAnnotations")); //$NON-NLS-1$ if (part instanceof PHPEditor) { - PHPEditor javaEditor= (PHPEditor) part; + PHPEditor javaEditor = (PHPEditor) part; javaEditor.getActionGroup().fillActionBars(getActionBars()); - FoldingActionGroup foldingActions= javaEditor.getFoldingActionGroup(); + FoldingActionGroup foldingActions = javaEditor + .getFoldingActionGroup(); if (foldingActions != null) foldingActions.updateActionBars(); } } - + /* * @see IEditorActionBarContributor#dispose() */ public void dispose() { - - Iterator e= fPartListeners.iterator(); - while (e.hasNext()) + + Iterator e = fPartListeners.iterator(); + while (e.hasNext()) getPage().removePartListener((RetargetAction) e.next()); fPartListeners.clear(); - + setActiveEditor(null); super.dispose(); }