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 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 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.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();
}