Index: GenerateActionGroup.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/GenerateActionGroup.java,v retrieving revision 1.24 diff -u -r1.24 GenerateActionGroup.java --- GenerateActionGroup.java 21 Jun 2002 17:17:38 -0000 1.24 +++ GenerateActionGroup.java 9 Aug 2002 12:37:53 -0000 @@ -31,6 +31,7 @@ import org.eclipse.ui.IWorkbenchSite; import org.eclipse.ui.part.Page; import org.eclipse.ui.texteditor.ConvertLineDelimitersAction; +import org.eclipse.ui.texteditor.IUpdate; import org.eclipse.ui.actions.ActionGroup; import org.eclipse.ui.actions.AddBookmarkAction; @@ -54,6 +55,7 @@ public class GenerateActionGroup extends ActionGroup { private boolean fEditorIsOwner; + private CompilationUnitEditor fEditor; private IWorkbenchSite fSite; private String fGroupName= IContextMenuConstants.GROUP_SOURCE; private List fRegisteredSelectionListeners; @@ -81,10 +83,11 @@ public GenerateActionGroup(CompilationUnitEditor editor, String groupName) { fSite= editor.getSite(); fEditorIsOwner= true; + fEditor= editor; fGroupName= groupName; ISelectionProvider provider= fSite.getSelectionProvider(); ISelection selection= provider.getSelection(); - + fAddImport= new AddImportOnSelectionAction(editor); fAddImport.setActionDefinitionId(IJavaEditorActionDefinitionIds.ADD_IMPORT); fAddImport.update(); @@ -94,7 +97,7 @@ fOrganizeImports.setActionDefinitionId(IJavaEditorActionDefinitionIds.ORGANIZE_IMPORTS); fOrganizeImports.editorStateChanged(); editor.setAction("OrganizeImports", fOrganizeImports); //$NON-NLS-1$ - + fOverrideMethods= new OverrideMethodsAction(editor); fOverrideMethods.setActionDefinitionId(IJavaEditorActionDefinitionIds.OVERRIDE_METHODS); fOverrideMethods.editorStateChanged(); @@ -131,7 +134,7 @@ fConvertToUNIX= new ConvertLineDelimitersAction(editor, "\n"); //$NON-NLS-1$ fConvertToUNIX.setActionDefinitionId(IJavaEditorActionDefinitionIds.CONVERT_LINE_DELIMITERS_TO_UNIX); editor.setAction("ConvertLineDelimitersToUNIX", fConvertToUNIX); //$NON-NLS-1$ - + fConvertToMac= new ConvertLineDelimitersAction(editor, "\r"); //$NON-NLS-1$ fConvertToMac.setActionDefinitionId(IJavaEditorActionDefinitionIds.CONVERT_LINE_DELIMITERS_TO_MAC); editor.setAction("ConvertLineDelimitersToMac", fConvertToMac); //$NON-NLS-1$ @@ -273,6 +276,9 @@ result.add(new Separator()); added+= addAction(result, fSurroundWithTryCatch); added+= addAction(result, fExternalizeStrings); + result.add(new Separator()); + added+= addEditorAction(result, fEditor.getAction("Comment")); //$NON-NLS-1$ + added+= addEditorAction(result, fEditor.getAction("Uncomment")); //$NON-NLS-1$ if (added == 0) result= null; return result; @@ -289,6 +295,7 @@ provider.removeSelectionChangedListener(listener); } } + fEditor= null; super.dispose(); } @@ -322,6 +329,18 @@ private int addAction(IMenuManager menu, IAction action) { if (action != null && action.isEnabled()) { + menu.add(action); + return 1; + } + return 0; + } + + private int addEditorAction(IMenuManager menu, IAction action) { + if (action == null) + return 0; + if (action instanceof IUpdate) + ((IUpdate)action).update(); + if (action.isEnabled()) { menu.add(action); return 1; }