Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 151554 Details for
Bug 177018
Add "Source" menu to main menu bar
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Move source related actions to Source menu
177018.patch (text/plain), 33.29 KB, created by
Anton Leherbauer
on 2009-11-06 08:54:09 EST
(
hide
)
Description:
Move source related actions to Source menu
Filename:
MIME Type:
Creator:
Anton Leherbauer
Created:
2009-11-06 08:54:09 EST
Size:
33.29 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.cdt.ui >Index: plugin.properties >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/plugin.properties,v >retrieving revision 1.191 >diff -u -r1.191 plugin.properties >--- plugin.properties 26 Oct 2009 08:17:27 -0000 1.191 >+++ plugin.properties 6 Nov 2009 13:50:54 -0000 >@@ -74,6 +74,9 @@ > category.source.name=C/C++ Source > category.source.description= C/C++ Source Actions > >+ActionDefinition.sourceQuickMenu.name= Show Source Quick Menu >+ActionDefinition.sourceQuickMenu.description= Shows the source quick menu >+ > ActionDefinition.comment.name= Comment > ActionDefinition.comment.description= Turn the selected lines into // style comments > >@@ -543,7 +546,19 @@ > preferenceKeywords.folding=editor folding section comment header function method statement preprocessor > preferenceKeywords.markoccurrences=editor occurrence mark highlight > preferenceKeywords.smarttyping=editor typing type close comment tabs indentation indent imports wrap escape semicolons braces brackets parenthesis parentheses strings literals paste pasting tabulator automatically >+ > historyAction.label = History... > createScriptAction.label = Create Script... > applyScriptAction.label = Apply Script... >-renameParticipant.name = Source Folder Rename >\ No newline at end of file >+renameParticipant.name = Source Folder Rename >+ >+FormatAction.label= &Format >+IndentAction.label= Correct &Indentation >+AddIncludeAction.label= A&dd Include >+CommentAction.label= Co&mment >+UncommentAction.label= &Uncomment >+ToggleCommentAction.label= Togg&le Comment >+AddBlockCommentAction.label= Add &Block Comment >+RemoveBlockCommentAction.label= Remove Bloc&k Comment >+ShiftRightAction.label= &Shift Right >+ShiftLeftAction.label= S&hift Left >Index: plugin.xml >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/plugin.xml,v >retrieving revision 1.364 >diff -u -r1.364 plugin.xml >--- plugin.xml 5 Nov 2009 13:40:10 -0000 1.364 >+++ plugin.xml 6 Nov 2009 13:50:54 -0000 >@@ -1262,28 +1262,6 @@ > id="org.eclipse.cdt.ui.actions.ExtractLocalVariable" > retarget="true"> > </action> >- <action >- definitionId="org.eclipse.cdt.ui.refactor.getters.and.setters" >- label="%Refactoring.gettersAndSetters.label" >- menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup" >- id="org.eclipse.cdt.ui.actions.GettersAndSetters" >- retarget="true"> >- </action> >- <action >- definitionId="org.eclipse.cdt.ui.refactor.implement.method" >- label="%Refactoring.implementMethod.label" >- menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup" >- id="org.eclipse.cdt.ui.actions.ImplementMethod" >- retarget="true"> >- </action> >- <action >- class="org.eclipse.cdt.internal.ui.actions.SurroundWithTemplateMenuAction" >- definitionId="org.eclipse.cdt.ui.edit.text.c.surround.with.quickMenu" >- label="%SurroundWithTemplateAction.label" >- menubarPath="org.eclipse.jdt.ui.source.menu/codeGroup" >- id="org.eclipse.cdt.internal.ui.actions.SurroundWithTemplateMenuAction" >- style="pulldown"> >- </action> > <action > class="org.eclipse.ltk.ui.refactoring.actions.ShowRefactoringHistoryAction" > definitionId="org.eclipse.ltk.ui.refactor.show.refactoring.history" >@@ -1308,17 +1286,135 @@ > menubarPath="org.eclipse.jdt.ui.refactoring.menu/historyGroup" > retarget="false"> > </action> >+<!-- =========================================================================== --> >+<!-- Source Menu --> >+<!-- =========================================================================== --> >+ <!-- Note: This menu layout must match the definition in org.eclipse.jdt.ui --> > <menu > id="org.eclipse.jdt.ui.source.menu" > label="%Source.menu.label" > path="edit"> >+ <separator >+ name="commentGroup"> >+ </separator> >+ <separator >+ name="editGroup"> >+ </separator> >+ <separator >+ name="importGroup"> >+ </separator> > <separator > name="generateGroup"> > </separator> > <separator > name="codeGroup"> > </separator> >+ <separator >+ name="externalizeGroup"> >+ </separator> >+ <separator >+ name="convertGroup"> >+ </separator> > </menu> >+<!-- Code Group --> >+ <action >+ class="org.eclipse.cdt.internal.ui.actions.SurroundWithTemplateMenuAction" >+ definitionId="org.eclipse.cdt.ui.edit.text.c.surround.with.quickMenu" >+ label="%SurroundWithTemplateAction.label" >+ menubarPath="org.eclipse.jdt.ui.source.menu/codeGroup" >+ id="org.eclipse.cdt.internal.ui.actions.SurroundWithTemplateMenuAction" >+ style="pulldown"> >+ </action> >+<!-- Generate Group --> >+ <action >+ definitionId="org.eclipse.cdt.ui.refactor.getters.and.setters" >+ label="%Refactoring.gettersAndSetters.label" >+ menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup" >+ id="org.eclipse.cdt.ui.actions.GettersAndSetters" >+ retarget="true"> >+ </action> >+ <action >+ definitionId="org.eclipse.cdt.ui.refactor.implement.method" >+ label="%Refactoring.implementMethod.label" >+ menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup" >+ id="org.eclipse.cdt.ui.actions.ImplementMethod" >+ retarget="true"> >+ </action> >+<!-- Import Group --> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.add.include" >+ label="%AddIncludeAction.label" >+ retarget="true" >+ menubarPath="org.eclipse.jdt.ui.source.menu/importGroup" >+ id="org.eclipse.cdt.ui.actions.AddInclude"> >+ </action> >+<!-- Edit group --> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.format" >+ label="%FormatAction.label" >+ retarget="true" >+ menubarPath="org.eclipse.jdt.ui.source.menu/editGroup" >+ id="org.eclipse.cdt.ui.actions.Format"> >+ </action> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.indent" >+ label="%IndentAction.label" >+ retarget="true" >+ menubarPath="org.eclipse.jdt.ui.source.menu/editGroup" >+ id="org.eclipse.cdt.ui.actions.Indent"> >+ </action> >+ <action >+ definitionId="org.eclipse.ui.edit.text.shiftLeft" >+ disabledIcon="icons/dlcl16/shift_l_edit.gif" >+ icon="icons/elcl16/shift_l_edit.gif" >+ id="org.eclipse.cdt.ui.actions.ShiftLeft" >+ label="%ShiftLeftAction.label" >+ menubarPath="org.eclipse.jdt.ui.source.menu/editGroup" >+ retarget="true"> >+ </action> >+ <action >+ definitionId="org.eclipse.ui.edit.text.shiftRight" >+ disabledIcon="icons/dlcl16/shift_r_edit.gif" >+ icon="icons/elcl16/shift_r_edit.gif" >+ id="org.eclipse.cdt.ui.actions.ShiftRight" >+ label="%ShiftRightAction.label" >+ menubarPath="org.eclipse.jdt.ui.source.menu/editGroup" >+ retarget="true"> >+ </action> >+<!-- Comment Group --> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.uncomment" >+ label="%UncommentAction.label" >+ retarget="true" >+ id="org.eclipse.cdt.ui.actions.Uncomment"> >+ </action> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.comment" >+ label="%CommentAction.label" >+ retarget="true" >+ id="org.eclipse.cdt.ui.actions.Comment"> >+ </action> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.remove.block.comment" >+ label="%RemoveBlockCommentAction.label" >+ retarget="true" >+ menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup" >+ id="org.eclipse.cdt.ui.actions.RemoveBlockComment"> >+ </action> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.add.block.comment" >+ label="%AddBlockCommentAction.label" >+ retarget="true" >+ menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup" >+ id="org.eclipse.cdt.ui.actions.AddBlockComment"> >+ </action> >+ <action >+ definitionId="org.eclipse.cdt.ui.edit.text.c.toggle.comment" >+ label="%ToggleCommentAction.label" >+ retarget="true" >+ menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup" >+ id="org.eclipse.cdt.ui.actions.ToggleComment"> >+ </action> > </actionSet> > <actionSet > label="%CSearchActionSet.label" >@@ -1569,6 +1665,23 @@ > > <!-- win32: M1=CTRL, M2=SHIFT, M3=ALT, M4=- > carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL --> >+ <key >+ sequence="M2+M3+S" >+ commandId="org.eclipse.cdt.ui.edit.text.c.source.quickMenu" >+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" >+ contextId="org.eclipse.cdt.ui.cEditorScope"/> >+ <key >+ platform="carbon" >+ sequence="M2+M3+S" >+ commandId="" >+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" >+ contextId="org.eclipse.cdt.ui.cEditorScope"/> >+ <key >+ platform="carbon" >+ sequence="COMMAND+ALT+S" >+ commandId="org.eclipse.cdt.ui.edit.text.c.source.quickMenu" >+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" >+ contextId="org.eclipse.cdt.ui.cEditorScope"/> > <key > sequence="M1+M2+F" > schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" >@@ -1985,6 +2098,24 @@ > id="org.eclipse.cdt.ui.edit.text.c.format"> > </command> > <command >+ name="%ActionDefinition.sourceQuickMenu.name" >+ description="%ActionDefinition.sourceQuickMenu.description" >+ categoryId="org.eclipse.cdt.ui.category.source" >+ id="org.eclipse.cdt.ui.edit.text.c.source.quickMenu"> >+ </command> >+ <command >+ name="%ActionDefinition.comment.name" >+ description="%ActionDefinition.comment.description" >+ categoryId="org.eclipse.cdt.ui.category.source" >+ id="org.eclipse.cdt.ui.edit.text.c.comment"> >+ </command> >+ <command >+ name="%ActionDefinition.uncomment.name" >+ description="%ActionDefinition.uncomment.description" >+ categoryId="org.eclipse.cdt.ui.category.source" >+ id="org.eclipse.cdt.ui.edit.text.c.uncomment"> >+ </command> >+ <command > name="%ActionDefinition.toggleComment.name" > description="%ActionDefinition.toggleComment.description" > categoryId="org.eclipse.cdt.ui.category.source" >Index: src/org/eclipse/cdt/internal/ui/editor/ConstructedCEditorMessages.properties >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/ConstructedCEditorMessages.properties,v >retrieving revision 1.3 >diff -u -r1.3 ConstructedCEditorMessages.properties >--- src/org/eclipse/cdt/internal/ui/editor/ConstructedCEditorMessages.properties 27 May 2009 15:47:23 -0000 1.3 >+++ src/org/eclipse/cdt/internal/ui/editor/ConstructedCEditorMessages.properties 6 Nov 2009 13:50:54 -0000 >@@ -44,9 +44,9 @@ > ContentAssistContextInformation.tooltip=Show Parameter Hints > ContentAssistContextInformation.description=Show Method Parameter Hints > >-ToggleComment.label=Comment/Uncomment >-ToggleComment.tooltip=Comment/Uncomment For the Selected Lines >-ToggleComment.description=Comment/Uncomment for the selected lines >+ToggleComment.label=Togg&le Comment >+ToggleComment.tooltip=Toggle Comment For the Selected Lines >+ToggleComment.description=Toggle Comment for the selected lines > > AddBlockComment.label=Add &Block Comment > AddBlockComment.tooltip=Enclose the Selection in a Block Comment >Index: src/org/eclipse/cdt/internal/ui/editor/CEditorActionContributor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditorActionContributor.java,v >retrieving revision 1.30 >diff -u -r1.30 CEditorActionContributor.java >--- src/org/eclipse/cdt/internal/ui/editor/CEditorActionContributor.java 25 Nov 2008 11:01:51 -0000 1.30 >+++ src/org/eclipse/cdt/internal/ui/editor/CEditorActionContributor.java 6 Nov 2009 13:50:54 -0000 >@@ -18,17 +18,18 @@ > import org.eclipse.jface.action.IAction; > import org.eclipse.jface.action.IMenuManager; > import org.eclipse.jface.action.Separator; >-import org.eclipse.jface.text.ITextOperationTarget; > import org.eclipse.ui.IActionBars; > import org.eclipse.ui.IEditorPart; > import org.eclipse.ui.IWorkbenchActionConstants; > import org.eclipse.ui.editors.text.TextEditorActionContributor; >+import org.eclipse.ui.ide.IDEActionFactory; > import org.eclipse.ui.texteditor.ITextEditor; > import org.eclipse.ui.texteditor.ITextEditorActionConstants; > import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; > import org.eclipse.ui.texteditor.RetargetTextEditorAction; > >-import org.eclipse.cdt.internal.ui.CPluginImages; >+import org.eclipse.cdt.ui.actions.CdtActionConstants; >+ > import org.eclipse.cdt.internal.ui.IContextMenuConstants; > import org.eclipse.cdt.internal.ui.actions.FindWordAction; > import org.eclipse.cdt.internal.ui.actions.GoToNextPreviousMemberAction; >@@ -38,10 +39,6 @@ > > private RetargetTextEditorAction fContentAssist; > private RetargetTextEditorAction fContextInformation; >- private RetargetTextEditorAction fFormatter; >- private RetargetTextEditorAction fAddInclude; >- private RetargetTextEditorAction fShiftLeft; >- private RetargetTextEditorAction fShiftRight; > private TogglePresentationAction fTogglePresentation; > private GotoAnnotationAction fPreviousAnnotation; > private GotoAnnotationAction fNextAnnotation; >@@ -60,26 +57,12 @@ > > ResourceBundle bundle = ConstructedCEditorMessages.getResourceBundle(); > >- fShiftRight= new RetargetTextEditorAction(bundle, "ShiftRight.", ITextOperationTarget.SHIFT_RIGHT); //$NON-NLS-1$ >- fShiftRight.setActionDefinitionId(ITextEditorActionDefinitionIds.SHIFT_RIGHT); >- CPluginImages.setImageDescriptors(fShiftRight, CPluginImages.T_LCL, CPluginImages.IMG_MENU_SHIFT_RIGHT); >- >- fShiftLeft= new RetargetTextEditorAction(bundle, "ShiftLeft.", ITextOperationTarget.SHIFT_LEFT); //$NON-NLS-1$ >- fShiftLeft.setActionDefinitionId(ITextEditorActionDefinitionIds.SHIFT_LEFT); >- CPluginImages.setImageDescriptors(fShiftLeft, CPluginImages.T_LCL, CPluginImages.IMG_MENU_SHIFT_LEFT); >- > fContentAssist = new RetargetTextEditorAction(bundle, "ContentAssistProposal."); //$NON-NLS-1$ > fContentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); > > fContextInformation = new RetargetTextEditorAction(bundle, "ContentAssistContextInformation."); //$NON-NLS-1$ > fContextInformation.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION); > >- fFormatter = new RetargetTextEditorAction(bundle, "Format."); //$NON-NLS-1$ >- fFormatter.setActionDefinitionId(ICEditorActionDefinitionIds.FORMAT); >- >- fAddInclude = new RetargetTextEditorAction(bundle, "AddIncludeOnSelection."); //$NON-NLS-1$ >- fAddInclude.setActionDefinitionId(ICEditorActionDefinitionIds.ADD_INCLUDE); >- > // actions that are "contributed" to editors, they are considered belonging to the active editor > fTogglePresentation= new TogglePresentationAction(); > >@@ -127,12 +110,12 @@ > > editMenu.prependToGroup(IWorkbenchActionConstants.FIND_EXT, fFindWord); > >- editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fShiftRight); >- editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fShiftLeft); >- editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fFormatter); >- editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, new Separator()); >- editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fAddInclude); >- editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, new Separator()); >+// editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fShiftRight); >+// editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fShiftLeft); >+// editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fFormatter); >+// editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, new Separator()); >+// editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, fAddInclude); >+// editMenu.appendToGroup(ITextEditorActionConstants.GROUP_GENERATE, new Separator()); > > editMenu.appendToGroup(IContextMenuConstants.GROUP_ADDITIONS, fToggleInsertModeAction); > } >@@ -183,9 +166,6 @@ > if (part instanceof ITextEditor) > textEditor= (ITextEditor) part; > >- fShiftRight.setAction(getAction(textEditor, ITextEditorActionConstants.SHIFT_RIGHT)); >- fShiftLeft.setAction(getAction(textEditor, ITextEditorActionConstants.SHIFT_LEFT)); >- > fTogglePresentation.setEditor(textEditor); > fToggleMarkOccurrencesAction.setEditor(textEditor); > fPreviousAnnotation.setEditor(textEditor); >@@ -193,8 +173,6 @@ > > fContentAssist.setAction(getAction(textEditor, "ContentAssistProposal")); //$NON-NLS-1$ > fContextInformation.setAction(getAction(textEditor, "ContentAssistContextInformation")); //$NON-NLS-1$ >- fAddInclude.setAction(getAction(textEditor, "AddIncludeOnSelection")); //$NON-NLS-1$ >- fFormatter.setAction(getAction(textEditor, "Format")); //$NON-NLS-1$ > > fGotoMatchingBracket.setAction(getAction(textEditor, GotoMatchingBracketAction.GOTO_MATCHING_BRACKET)); > fGotoNextBookmark.setAction(getAction(textEditor, GotoNextBookmarkAction.NEXT_BOOKMARK)); >@@ -206,9 +184,32 @@ > fToggleInsertModeAction.setAction(getAction(textEditor, ITextEditorActionConstants.TOGGLE_INSERT_MODE)); > fFindWord.setAction(getAction(textEditor, FindWordAction.FIND_WORD)); > >+ // Source menu. >+ IActionBars bars= getActionBars(); >+ bars.setGlobalActionHandler(CdtActionConstants.SHIFT_RIGHT, getAction(textEditor, "ShiftRight")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.SHIFT_LEFT, getAction(textEditor, "ShiftLeft")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.COMMENT, getAction(textEditor, "Comment")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.UNCOMMENT, getAction(textEditor, "Uncomment")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.TOGGLE_COMMENT, getAction(textEditor, "ToggleComment")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.FORMAT, getAction(textEditor, "Format")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.ADD_BLOCK_COMMENT, getAction(textEditor, "AddBlockComment")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.REMOVE_BLOCK_COMMENT, getAction(textEditor, "RemoveBlockComment")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.INDENT, getAction(textEditor, "Indent")); //$NON-NLS-1$ >+ bars.setGlobalActionHandler(CdtActionConstants.ADD_INCLUDE, getAction(textEditor, "AddIncludeOnSelection")); //$NON-NLS-1$ >+ >+ IAction action= getAction(textEditor, ITextEditorActionConstants.REFRESH); >+ bars.setGlobalActionHandler(ITextEditorActionConstants.REFRESH, action); >+ >+ bars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(), getAction(textEditor, IDEActionFactory.ADD_TASK.getId())); >+ bars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(), getAction(textEditor, IDEActionFactory.BOOKMARK.getId())); >+ >+ bars.setGlobalActionHandler(IDEActionFactory.OPEN_PROJECT.getId(), getAction(textEditor, IDEActionFactory.OPEN_PROJECT.getId())); >+ bars.setGlobalActionHandler(IDEActionFactory.CLOSE_PROJECT.getId(), getAction(textEditor, IDEActionFactory.CLOSE_PROJECT.getId())); >+ bars.setGlobalActionHandler(IDEActionFactory.CLOSE_UNRELATED_PROJECTS.getId(), getAction(textEditor, IDEActionFactory.CLOSE_UNRELATED_PROJECTS.getId())); >+ > if (part instanceof CEditor) { > CEditor cEditor= (CEditor) part; >- cEditor.fillActionBars(getActionBars()); >+ cEditor.fillActionBars(bars); > } > > } >Index: src/org/eclipse/cdt/ui/actions/GenerateActionGroup.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/GenerateActionGroup.java,v >retrieving revision 1.8 >diff -u -r1.8 GenerateActionGroup.java >--- src/org/eclipse/cdt/ui/actions/GenerateActionGroup.java 27 May 2009 15:47:23 -0000 1.8 >+++ src/org/eclipse/cdt/ui/actions/GenerateActionGroup.java 6 Nov 2009 13:50:54 -0000 >@@ -15,6 +15,7 @@ > import java.util.Iterator; > import java.util.List; > >+import org.eclipse.core.commands.IHandler; > import org.eclipse.core.runtime.Assert; > import org.eclipse.jface.action.IAction; > import org.eclipse.jface.action.IMenuManager; >@@ -26,22 +27,23 @@ > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.ui.IActionBars; > import org.eclipse.ui.IViewPart; >+import org.eclipse.ui.IWorkbenchCommandConstants; > import org.eclipse.ui.IWorkbenchSite; > import org.eclipse.ui.actions.ActionGroup; > import org.eclipse.ui.actions.AddBookmarkAction; > import org.eclipse.ui.actions.AddTaskAction; >+import org.eclipse.ui.handlers.IHandlerActivation; > import org.eclipse.ui.handlers.IHandlerService; > import org.eclipse.ui.ide.IDEActionFactory; > import org.eclipse.ui.part.Page; > import org.eclipse.ui.texteditor.ITextEditorActionConstants; > import org.eclipse.ui.texteditor.IUpdate; >-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds; >- > import org.eclipse.cdt.ui.refactoring.actions.GettersAndSettersAction; > import org.eclipse.cdt.ui.refactoring.actions.ImplementMethodAction; > > import org.eclipse.cdt.internal.ui.IContextMenuConstants; > import org.eclipse.cdt.internal.ui.actions.ActionMessages; >+import org.eclipse.cdt.internal.ui.actions.CDTQuickMenuCreator; > import org.eclipse.cdt.internal.ui.editor.AddIncludeOnSelectionAction; > import org.eclipse.cdt.internal.ui.editor.CEditor; > import org.eclipse.cdt.internal.ui.editor.ICEditorActionDefinitionIds; >@@ -124,19 +126,11 @@ > // private FormatAllAction fFormatAll; > // private CopyQualifiedNameAction fCopyQualifiedNameAction; > // >-// private static final String QUICK_MENU_ID= "org.eclipse.cdt.ui.edit.text.c.source.quickMenu"; //$NON-NLS-1$ >-// >-// private class RefactorQuickAccessAction extends CDTQuickMenuAction { >-// public RefactorQuickAccessAction(CEditor editor) { >-// super(editor, QUICK_MENU_ID); >-// } >-// protected void fillMenu(IMenuManager menu) { >-// fillQuickMenu(menu); >-// } >-// } >-// >-// private RefactorQuickAccessAction fQuickAccessAction; >-// private IKeyBindingService fKeyBindingService; >+ private static final String QUICK_MENU_ID= "org.eclipse.cdt.ui.edit.text.c.source.quickMenu"; //$NON-NLS-1$ >+ >+ private IHandlerActivation fQuickAccessHandlerActivation; >+ private IHandlerService fHandlerService; >+ > > /** > * Note: This constructor is for internal use only. Clients should not call this constructor. >@@ -149,7 +143,7 @@ > fSite= editor.getSite(); > fEditor= editor; > fGroupName= groupName; >- >+ > fAddInclude= new AddIncludeOnSelectionAction(editor); > fAddInclude.setActionDefinitionId(ICEditorActionDefinitionIds.ADD_INCLUDE); > editor.setAction("AddIncludeOnSelection", fAddInclude); //$NON-NLS-1$ >@@ -207,9 +201,7 @@ > // fExternalizeStrings.setActionDefinitionId(ICEditorActionDefinitionIds.EXTERNALIZE_STRINGS); > // editor.setAction("ExternalizeStrings", fExternalizeStrings); //$NON-NLS-1$ > // >-// fQuickAccessAction= new RefactorQuickAccessAction(editor); >-// fKeyBindingService= editor.getEditorSite().getKeyBindingService(); >-// fKeyBindingService.registerAction(fQuickAccessAction); >+ installQuickAccessAction(); > } > > /** >@@ -220,7 +212,7 @@ > * @param page the page that owns this action group > */ > public GenerateActionGroup(Page page) { >- this(page.getSite(), null); >+ this(page.getSite()); > } > > /** >@@ -231,10 +223,10 @@ > * @param part the view part that owns this action group > */ > public GenerateActionGroup(IViewPart part) { >- this(part.getSite(), (IHandlerService)part.getSite().getService(IHandlerService.class)); >+ this(part.getSite()); > } > >- private GenerateActionGroup(IWorkbenchSite site, IHandlerService handlerService) { >+ private GenerateActionGroup(IWorkbenchSite site) { > fSite= site; > ISelectionProvider provider= fSite.getSelectionProvider(); > ISelection selection= provider.getSelection(); >@@ -261,10 +253,10 @@ > // fAddCppDocStub.setActionDefinitionId(ICEditorActionDefinitionIds.ADD_JAVADOC_COMMENT); > > fAddBookmark= new AddBookmarkAction(site, true); >- fAddBookmark.setActionDefinitionId(IWorkbenchActionDefinitionIds.ADD_BOOKMARK); >+ fAddBookmark.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_ADD_BOOKMARK); > > fAddTaskAction= new AddTaskAction(site); >- fAddTaskAction.setActionDefinitionId(IWorkbenchActionDefinitionIds.ADD_TASK); >+ fAddTaskAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_ADD_TASK); > > // fExternalizeStrings= new ExternalizeStringsAction(site); > // fExternalizeStrings.setActionDefinitionId(ICEditorActionDefinitionIds.EXTERNALIZE_STRINGS); >@@ -320,13 +312,22 @@ > registerSelectionListener(provider, fAddTaskAction); > // registerSelectionListener(provider, fCleanUp); > >-// fKeyBindingService= keyBindingService; >-// if (fKeyBindingService != null) { >-// fQuickAccessAction= new RefactorQuickAccessAction(null); >-// fKeyBindingService.registerAction(fQuickAccessAction); >-// } >+ installQuickAccessAction(); > } > >+ private void installQuickAccessAction() { >+ fHandlerService= (IHandlerService)fSite.getService(IHandlerService.class); >+ if (fHandlerService != null) { >+ IHandler handler= new CDTQuickMenuCreator(fEditor) { >+ @Override >+ protected void fillMenu(IMenuManager menu) { >+ fillQuickMenu(menu); >+ } >+ }.createHandler(); >+ fQuickAccessHandlerActivation= fHandlerService.activateHandler(QUICK_MENU_ID, handler); >+ } >+ } >+ > private void registerSelectionListener(ISelectionProvider provider, ISelectionChangedListener listener) { > if (fRegisteredSelectionListeners == null) > fRegisteredSelectionListeners= new ArrayList<ISelectionChangedListener>(10); >@@ -361,11 +362,8 @@ > @Override > public void fillContextMenu(IMenuManager menu) { > super.fillContextMenu(menu); >- String menuText= ActionMessages.getString("SourceMenu_label"); //$NON-NLS-1$ >-// if (fQuickAccessAction != null) { >-// menuText= fQuickAccessAction.addShortcut(menuText); >-// } >- IMenuManager subMenu= new MenuManager(menuText, MENU_ID); >+ MenuManager subMenu= new MenuManager(ActionMessages.getString("SourceMenu_label"), MENU_ID); //$NON-NLS-1$ >+ subMenu.setActionDefinitionId(QUICK_MENU_ID); > int added= 0; > if (isEditorOwner()) { > added= fillEditorSubMenu(subMenu); >@@ -376,13 +374,13 @@ > menu.appendToGroup(fGroupName, subMenu); > } > >-// private void fillQuickMenu(IMenuManager menu) { >-// if (isEditorOwner()) { >-// fillEditorSubMenu(menu); >-// } else { >-// fillViewSubMenu(menu); >-// } >-// } >+ private void fillQuickMenu(IMenuManager menu) { >+ if (isEditorOwner()) { >+ fillEditorSubMenu(menu); >+ } else { >+ fillViewSubMenu(menu); >+ } >+ } > > private int fillEditorSubMenu(IMenuManager source) { > int added= 0; >@@ -402,7 +400,6 @@ > // added+= addAction(source, fSortMembers); > // added+= addAction(source, fCleanUp); > source.add(new Separator(GROUP_GENERATE)); >- added+= addEditorAction(source, "ContentAssistProposal"); //$NON-NLS-1$ > // added+= addAction(source, fOverrideMethods); > added+= addAction(source, fAddGetterSetter); > added+= addAction(source, fImplementMethod); >@@ -454,9 +451,9 @@ > provider.removeSelectionChangedListener(listener); > } > } >-// if (fQuickAccessAction != null && fKeyBindingService != null) { >-// fKeyBindingService.unregisterAction(fQuickAccessAction); >-// } >+ if (fQuickAccessHandlerActivation != null && fHandlerService != null) { >+ fHandlerService.deactivateHandler(fQuickAccessHandlerActivation); >+ } > fEditor= null; > super.dispose(); > } >Index: src/org/eclipse/cdt/internal/ui/actions/CDTQuickMenuCreator.java >=================================================================== >RCS file: src/org/eclipse/cdt/internal/ui/actions/CDTQuickMenuCreator.java >diff -N src/org/eclipse/cdt/internal/ui/actions/CDTQuickMenuCreator.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/cdt/internal/ui/actions/CDTQuickMenuCreator.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,109 @@ >+/******************************************************************************* >+ * Copyright (c) 2009 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ * Anton Leherbauer (Wind River Systems) - Ported to CDT >+ *******************************************************************************/ >+package org.eclipse.cdt.internal.ui.actions; >+ >+import org.eclipse.swt.custom.StyledText; >+import org.eclipse.swt.graphics.Point; >+ >+import org.eclipse.core.commands.AbstractHandler; >+import org.eclipse.core.commands.ExecutionEvent; >+import org.eclipse.core.commands.ExecutionException; >+import org.eclipse.core.commands.IHandler; >+ >+import org.eclipse.jface.text.IRegion; >+import org.eclipse.jface.text.ITextSelection; >+import org.eclipse.jface.text.ITextViewerExtension5; >+import org.eclipse.jface.text.Region; >+import org.eclipse.jface.text.source.ISourceViewer; >+ >+import org.eclipse.ui.actions.QuickMenuCreator; >+ >+import org.eclipse.cdt.internal.ui.editor.CEditor; >+import org.eclipse.cdt.internal.ui.text.CWordFinder; >+ >+/** >+ * C/C++ editor aware quick menu creator. In the given editor, the menu will be aligned with the word >+ * at the current offset. >+ * >+ * @since 5.2 >+ */ >+public abstract class CDTQuickMenuCreator extends QuickMenuCreator { >+ >+ private final CEditor fEditor; >+ >+ /** >+ * Create a CDT quick menu creator >+ * @param editor a Java editor, or <code>null</code> if none >+ */ >+ public CDTQuickMenuCreator(CEditor editor) { >+ fEditor= editor; >+ } >+ >+ @Override >+ protected Point computeMenuLocation(StyledText text) { >+ if (fEditor == null || text != fEditor.getViewer().getTextWidget()) >+ return super.computeMenuLocation(text); >+ return computeWordStart(); >+ } >+ >+ private Point computeWordStart() { >+ ITextSelection selection= (ITextSelection)fEditor.getSelectionProvider().getSelection(); >+ IRegion textRegion= CWordFinder.findWord(fEditor.getViewer().getDocument(), selection.getOffset()); >+ if (textRegion == null) >+ return null; >+ >+ IRegion widgetRegion= modelRange2WidgetRange(textRegion); >+ if (widgetRegion == null) >+ return null; >+ >+ int start= widgetRegion.getOffset(); >+ >+ StyledText styledText= fEditor.getViewer().getTextWidget(); >+ Point result= styledText.getLocationAtOffset(start); >+ result.y+= styledText.getLineHeight(start); >+ >+ if (!styledText.getClientArea().contains(result)) >+ return null; >+ return result; >+ } >+ >+ private IRegion modelRange2WidgetRange(IRegion region) { >+ ISourceViewer viewer= fEditor.getViewer(); >+ if (viewer instanceof ITextViewerExtension5) { >+ ITextViewerExtension5 extension= (ITextViewerExtension5)viewer; >+ return extension.modelRange2WidgetRange(region); >+ } >+ >+ IRegion visibleRegion= viewer.getVisibleRegion(); >+ int start= region.getOffset() - visibleRegion.getOffset(); >+ int end= start + region.getLength(); >+ if (end > visibleRegion.getLength()) >+ end= visibleRegion.getLength(); >+ >+ return new Region(start, end - start); >+ } >+ >+ /** >+ * Returns a handler that can create and open the quick menu. >+ * >+ * @return a handler that can create and open the quick menu >+ */ >+ public IHandler createHandler() { >+ return new AbstractHandler() { >+ public Object execute(ExecutionEvent event) throws ExecutionException { >+ createMenu(); >+ return null; >+ } >+ }; >+ } >+ >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
aleherb+eclipse
:
iplog-
Actions:
View
|
Diff
Attachments on
bug 177018
: 151554