mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-05 07:15:39 +02:00
Allow to reuse GenerateActionGroup without adding a key binding handler
This commit is contained in:
parent
acc49b9da2
commit
535cacca94
1 changed files with 39 additions and 24 deletions
|
@ -139,6 +139,7 @@ public class GenerateActionGroup extends ActionGroup implements ISelectionChange
|
||||||
private IHandlerActivation fQuickAccessHandlerActivation;
|
private IHandlerActivation fQuickAccessHandlerActivation;
|
||||||
private IHandlerService fHandlerService;
|
private IHandlerService fHandlerService;
|
||||||
|
|
||||||
|
private final ISelectionProvider fSelectionProvider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Note: This constructor is for internal use only. Clients should not call this constructor.
|
* Note: This constructor is for internal use only. Clients should not call this constructor.
|
||||||
|
@ -149,6 +150,7 @@ public class GenerateActionGroup extends ActionGroup implements ISelectionChange
|
||||||
*/
|
*/
|
||||||
public GenerateActionGroup(CEditor editor, String groupName) {
|
public GenerateActionGroup(CEditor editor, String groupName) {
|
||||||
fSite= editor.getSite();
|
fSite= editor.getSite();
|
||||||
|
fSelectionProvider= fSite.getSelectionProvider();
|
||||||
fEditor= editor;
|
fEditor= editor;
|
||||||
fGroupName= groupName;
|
fGroupName= groupName;
|
||||||
|
|
||||||
|
@ -224,7 +226,9 @@ public class GenerateActionGroup extends ActionGroup implements ISelectionChange
|
||||||
* @param page the page that owns this action group
|
* @param page the page that owns this action group
|
||||||
*/
|
*/
|
||||||
public GenerateActionGroup(Page page) {
|
public GenerateActionGroup(Page page) {
|
||||||
this(page.getSite());
|
this(page.getSite(), null);
|
||||||
|
|
||||||
|
installQuickAccessAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -235,13 +239,26 @@ public class GenerateActionGroup extends ActionGroup implements ISelectionChange
|
||||||
* @param part the view part that owns this action group
|
* @param part the view part that owns this action group
|
||||||
*/
|
*/
|
||||||
public GenerateActionGroup(IViewPart part) {
|
public GenerateActionGroup(IViewPart part) {
|
||||||
this(part.getSite());
|
this(part.getSite(), null);
|
||||||
|
|
||||||
|
installQuickAccessAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
private GenerateActionGroup(IWorkbenchSite site) {
|
/**
|
||||||
|
* Creates a new <code>GenerateActionGroup</code>. The group requires
|
||||||
|
* that the selection provided by the given selection provider is of type
|
||||||
|
* {@link IStructuredSelection}.
|
||||||
|
*
|
||||||
|
* @param site the site that will own the action group.
|
||||||
|
* @param selectionProvider the selection provider used instead of the
|
||||||
|
* page selection provider.
|
||||||
|
*
|
||||||
|
* @since 5.4
|
||||||
|
*/
|
||||||
|
public GenerateActionGroup(IWorkbenchSite site, ISelectionProvider selectionProvider) {
|
||||||
fSite= site;
|
fSite= site;
|
||||||
ISelectionProvider provider= fSite.getSelectionProvider();
|
fSelectionProvider= selectionProvider == null ? fSite.getSelectionProvider() : selectionProvider;
|
||||||
ISelection selection= provider.getSelection();
|
ISelection selection= fSelectionProvider.getSelection();
|
||||||
|
|
||||||
// fOverrideMethods= new OverrideMethodsAction(site);
|
// fOverrideMethods= new OverrideMethodsAction(site);
|
||||||
// fOverrideMethods.setActionDefinitionId(ICEditorActionDefinitionIds.OVERRIDE_METHODS);
|
// fOverrideMethods.setActionDefinitionId(ICEditorActionDefinitionIds.OVERRIDE_METHODS);
|
||||||
|
@ -314,25 +331,23 @@ public class GenerateActionGroup extends ActionGroup implements ISelectionChange
|
||||||
fAddTaskAction.setEnabled(false);
|
fAddTaskAction.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// registerSelectionListener(provider, fOverrideMethods);
|
// registerSelectionListener(fSelectionProvider, fOverrideMethods);
|
||||||
// registerSelectionListener(provider, fAddDelegateMethods);
|
// registerSelectionListener(fSelectionProvider, fAddDelegateMethods);
|
||||||
// registerSelectionListener(provider, fAddUnimplementedConstructors);
|
// registerSelectionListener(fSelectionProvider, fAddUnimplementedConstructors);
|
||||||
// registerSelectionListener(provider, fGenerateConstructorUsingFields);
|
// registerSelectionListener(fSelectionProvider, fGenerateConstructorUsingFields);
|
||||||
// registerSelectionListener(provider, fHashCodeEquals);
|
// registerSelectionListener(fSelectionProvider, fHashCodeEquals);
|
||||||
// registerSelectionListener(provider, fAddCppDocStub);
|
// registerSelectionListener(fSelectionProvider, fAddCppDocStub);
|
||||||
registerSelectionListener(provider, fAddBookmark);
|
registerSelectionListener(fSelectionProvider, fAddBookmark);
|
||||||
// registerSelectionListener(provider, fExternalizeStrings);
|
// registerSelectionListener(fSelectionProvider, fExternalizeStrings);
|
||||||
// registerSelectionListener(provider, fFindNLSProblems);
|
// registerSelectionListener(fSelectionProvider, fFindNLSProblems);
|
||||||
// registerSelectionListener(provider, fOrganizeIncludes);
|
// registerSelectionListener(fSelectionProvider, fOrganizeIncludes);
|
||||||
registerSelectionListener(provider, fFormatAll);
|
registerSelectionListener(fSelectionProvider, fFormatAll);
|
||||||
// registerSelectionListener(provider, fSortMembers);
|
// registerSelectionListener(fSelectionProvider, fSortMembers);
|
||||||
registerSelectionListener(provider, fAddTaskAction);
|
registerSelectionListener(fSelectionProvider, fAddTaskAction);
|
||||||
// registerSelectionListener(provider, fCleanUp);
|
// registerSelectionListener(fSelectionProvider, fCleanUp);
|
||||||
|
|
||||||
selectionChanged(new SelectionChangedEvent(provider, selection));
|
selectionChanged(new SelectionChangedEvent(fSelectionProvider, selection));
|
||||||
registerSelectionListener(provider, this);
|
registerSelectionListener(fSelectionProvider, this);
|
||||||
|
|
||||||
installQuickAccessAction();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void installQuickAccessAction() {
|
private void installQuickAccessAction() {
|
||||||
|
@ -466,7 +481,7 @@ public class GenerateActionGroup extends ActionGroup implements ISelectionChange
|
||||||
@Override
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
if (fRegisteredSelectionListeners != null) {
|
if (fRegisteredSelectionListeners != null) {
|
||||||
ISelectionProvider provider= fSite.getSelectionProvider();
|
ISelectionProvider provider= fSelectionProvider;
|
||||||
for (Iterator<ISelectionChangedListener> iter= fRegisteredSelectionListeners.iterator(); iter.hasNext();) {
|
for (Iterator<ISelectionChangedListener> iter= fRegisteredSelectionListeners.iterator(); iter.hasNext();) {
|
||||||
ISelectionChangedListener listener= iter.next();
|
ISelectionChangedListener listener= iter.next();
|
||||||
provider.removeSelectionChangedListener(listener);
|
provider.removeSelectionChangedListener(listener);
|
||||||
|
|
Loading…
Add table
Reference in a new issue