org.eclipse.ui.actions.ContributionItemFactory#org.eclipse.jdt.ui.IContextMenuConstants源码实例Demo

下面列出了org.eclipse.ui.actions.ContributionItemFactory#org.eclipse.jdt.ui.IContextMenuConstants 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: n4js   文件: N4JSNavigatorActionProvider.java
@Override
public void fillContextMenu(final IMenuManager menu) {
	// {@link N4JSProjectActionGroup} does enablement-logic
	// on its own, thus always invoke it here
	projectGroup.fillContextMenu(menu);

	// Only delegate to {@link N4JSWorkingSetActionProvider},
	// if the current selection contains working sets.
	if (selectionContainsWorkingSet) {
		workingSetActionProvider.fillContextMenu(menu);
	}

	if (assignWorkingSetsAction.isEnabled()) {
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, assignWorkingSetsAction);
	}
}
 
源代码2 项目: n4js   文件: N4JSProjectActionGroup.java
@Override
public void fillContextMenu(final IMenuManager menu) {
	super.fillContextMenu(menu);

	// If disabled, do not contribute
	if (!enableContribution) {
		return;
	}

	if (openAction.isEnabled() && enableOpenInContextMenu)
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, openAction);
	if (closeAction.isEnabled())
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, closeAction);
	if (closeUnrelatedAction.isEnabled()
			&& areOnlyProjectsSelected(closeUnrelatedAction.getStructuredSelection()))
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, closeUnrelatedAction);
}
 
private void addOpenWithMenu(IMenuManager menu) {
  ISelection selection = getContext().getSelection();
  if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
    return;
  }
  IStructuredSelection ss = (IStructuredSelection) selection;
  if (ss.size() != 1) {
    return;
  }

  Object o = ss.getFirstElement();
  IFile file = AdapterUtilities.getAdapter(o, IFile.class);
  if (file == null) {
    return;
  }
  
  // Create a menu.
  IMenuManager submenu = new MenuManager(ActionMessages.OpenWithMenu_label);
  submenu.add(new OpenWithMenu(site.getPage(), file));

  // Add the submenu.
  menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, submenu);
}
 
/**
 * Creates a new <code>ImplementorsSearchGroup</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 specialSelectionProvider the selection provider used instead of the
 *  sites selection provider.
 *
 * @since 3.4
 */
public ImplementorsSearchGroup(IWorkbenchSite site, ISelectionProvider specialSelectionProvider) {
	fSite= site;
	fGroupId= IContextMenuConstants.GROUP_SEARCH;

	fFindImplementorsAction= new FindImplementorsAction(site);
	fFindImplementorsAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_IMPLEMENTORS_IN_WORKSPACE);

	fFindImplementorsInProjectAction= new FindImplementorsInProjectAction(site);
	fFindImplementorsInProjectAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_IMPLEMENTORS_IN_PROJECT);

	fFindImplementorsInWorkingSetAction= new FindImplementorsInWorkingSetAction(site);
	fFindImplementorsInWorkingSetAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_IMPLEMENTORS_IN_WORKING_SET);

	// register the actions as selection listeners
	ISelectionProvider provider= specialSelectionProvider == null ? fSite.getSelectionProvider() : specialSelectionProvider;
	ISelection selection= provider.getSelection();
	registerAction(fFindImplementorsAction, provider, selection, specialSelectionProvider);
	registerAction(fFindImplementorsInProjectAction, provider, selection, specialSelectionProvider);
	registerAction(fFindImplementorsInWorkingSetAction, provider, selection, specialSelectionProvider);
}
 
@Override
public void fillContextMenu(IMenuManager manager) {
	MenuManager javaSearchMM= new MenuManager(MENU_TEXT, IContextMenuConstants.GROUP_SEARCH);
	addAction(fFindImplementorsAction, javaSearchMM);
	addAction(fFindImplementorsInProjectAction, javaSearchMM);

	javaSearchMM.add(new Separator());

	Iterator<IWorkingSet[]> iter= SearchUtil.getLRUWorkingSets().sortedIterator();
	while (iter.hasNext()) {
		addWorkingSetAction(iter.next(), javaSearchMM);
	}
	addAction(fFindImplementorsInWorkingSetAction, javaSearchMM);

	if (!javaSearchMM.isEmpty())
		manager.appendToGroup(fGroupId, javaSearchMM);
}
 
private void addOpenWithMenu(IMenuManager menu) {
	ISelection selection= getContext().getSelection();
	if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
		return;
	IStructuredSelection ss= (IStructuredSelection)selection;
	if (ss.size() != 1)
		return;

	Object o= ss.getFirstElement();
	if (!(o instanceof IAdaptable))
		return;

	IAdaptable element= (IAdaptable)o;
	Object resource= element.getAdapter(IResource.class);
	if (!(resource instanceof IFile))
		return;

	// Create a menu.
	IMenuManager submenu= new MenuManager(ActionMessages.OpenWithMenu_label);
	submenu.add(new OpenWithMenu(fSite.getPage(), (IFile) resource));

	// Add the submenu.
	menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, submenu);
}
 
/**
 * Creates a new <code>WriteReferencesSearchGroup</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 specialSelectionProvider the selection provider used instead of the
 *  sites selection provider.
 *
 * @since 3.4
 */
public WriteReferencesSearchGroup(IWorkbenchSite site, ISelectionProvider specialSelectionProvider) {
	fSite= site;
	fGroupId= IContextMenuConstants.GROUP_SEARCH;

	fFindWriteReferencesAction= new FindWriteReferencesAction(site);
	fFindWriteReferencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_WORKSPACE);

	fFindWriteReferencesInProjectAction= new FindWriteReferencesInProjectAction(site);
	fFindWriteReferencesInProjectAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_PROJECT);

	fFindWriteReferencesInHierarchyAction= new FindWriteReferencesInHierarchyAction(site);
	fFindWriteReferencesInHierarchyAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_HIERARCHY);

	fFindWriteReferencesInWorkingSetAction= new FindWriteReferencesInWorkingSetAction(site);
	fFindWriteReferencesInWorkingSetAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_WORKING_SET);

	// register the actions as selection listeners
	ISelectionProvider provider= specialSelectionProvider == null ? fSite.getSelectionProvider() : specialSelectionProvider;
	ISelection selection= provider.getSelection();
	registerAction(fFindWriteReferencesAction, provider, selection, specialSelectionProvider);
	registerAction(fFindWriteReferencesInProjectAction, provider, selection, specialSelectionProvider);
	registerAction(fFindWriteReferencesInHierarchyAction, provider, selection, specialSelectionProvider);
	registerAction(fFindWriteReferencesInWorkingSetAction, provider, selection, specialSelectionProvider);
}
 
@Override
public void fillContextMenu(IMenuManager manager) {
	MenuManager javaSearchMM= new MenuManager(MENU_TEXT, IContextMenuConstants.GROUP_SEARCH);
	addAction(fFindWriteReferencesAction, javaSearchMM);
	addAction(fFindWriteReferencesInProjectAction, javaSearchMM);
	addAction(fFindWriteReferencesInHierarchyAction, javaSearchMM);

	javaSearchMM.add(new Separator());

	Iterator<IWorkingSet[]> iter= SearchUtil.getLRUWorkingSets().sortedIterator();
	while (iter.hasNext()) {
		addWorkingSetAction(iter.next(), javaSearchMM);
	}
	addAction(fFindWriteReferencesInWorkingSetAction, javaSearchMM);

	if (!javaSearchMM.isEmpty())
		manager.appendToGroup(fGroupId, javaSearchMM);
}
 
/**
 * Creates a new <code>DeclarationsSearchGroup</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 specialSelectionProvider the selection provider used instead of the
 *  sites selection provider.
 *
 * @since 3.4
 */
public DeclarationsSearchGroup(IWorkbenchSite site, ISelectionProvider specialSelectionProvider) {
	fSite= site;
	fGroupId= IContextMenuConstants.GROUP_SEARCH;

	fFindDeclarationsAction= new FindDeclarationsAction(site);
	fFindDeclarationsAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_DECLARATIONS_IN_WORKSPACE);

	fFindDeclarationsInProjectAction= new FindDeclarationsInProjectAction(site);
	fFindDeclarationsInProjectAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_DECLARATIONS_IN_PROJECTS);

	fFindDeclarationsInHierarchyAction= new FindDeclarationsInHierarchyAction(site);
	fFindDeclarationsInHierarchyAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_DECLARATIONS_IN_HIERARCHY);

	fFindDeclarationsInWorkingSetAction= new FindDeclarationsInWorkingSetAction(site);
	fFindDeclarationsInWorkingSetAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_DECLARATIONS_IN_WORKING_SET);

	// register the actions as selection listeners
	ISelectionProvider provider= specialSelectionProvider == null ? fSite.getSelectionProvider() : specialSelectionProvider;
	ISelection selection= provider.getSelection();
	registerAction(fFindDeclarationsAction, provider, selection, specialSelectionProvider);
	registerAction(fFindDeclarationsInProjectAction, provider, selection, specialSelectionProvider);
	registerAction(fFindDeclarationsInHierarchyAction, provider, selection, specialSelectionProvider);
	registerAction(fFindDeclarationsInWorkingSetAction, provider, selection, specialSelectionProvider);
}
 
@Override
public void fillContextMenu(IMenuManager manager) {
	IMenuManager javaSearchMM= new MenuManager(MENU_TEXT, IContextMenuConstants.GROUP_SEARCH);
	addAction(fFindDeclarationsAction, javaSearchMM);
	addAction(fFindDeclarationsInProjectAction, javaSearchMM);
	addAction(fFindDeclarationsInHierarchyAction, javaSearchMM);

	javaSearchMM.add(new Separator());

	Iterator<IWorkingSet[]> iter= SearchUtil.getLRUWorkingSets().sortedIterator();
	while (iter.hasNext()) {
		addWorkingSetAction(iter.next(), javaSearchMM);
	}
	addAction(fFindDeclarationsInWorkingSetAction, javaSearchMM);

	if (!javaSearchMM.isEmpty())
		manager.appendToGroup(fGroupId, javaSearchMM);
}
 
@Override
public void fillContextMenu(IMenuManager menu) {
	super.fillContextMenu(menu);
	if (!fIsTypeHiararchyViewerOwner)
		appendToGroup(menu, fOpenTypeHierarchy);
       if (!fIsCallHiararchyViewerOwner)
           appendToGroup(menu, fOpenCallHierarchy);

       if (fShowShowInMenu) {
		MenuManager showInSubMenu= new MenuManager(getShowInMenuLabel());
		IWorkbenchWindow workbenchWindow= fOpenSuperImplementation.getSite().getWorkbenchWindow();
		showInSubMenu.add(ContributionItemFactory.VIEWS_SHOW_IN.create(workbenchWindow));
		menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, showInSubMenu);
       }

	IStructuredSelection selection= getStructuredSelection();
	if (fShowOpenPropertiesAction && selection != null && fOpenPropertiesDialog.isApplicableForSelection())
		menu.appendToGroup(IContextMenuConstants.GROUP_PROPERTIES, fOpenPropertiesDialog);
}
 
/**
 * Creates a new <code>ReadReferencesSearchGroup</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 specialSelectionProvider the selection provider used instead of the
 *  sites selection provider.
 *
 * @since 3.4
 */
public ReadReferencesSearchGroup(IWorkbenchSite site, ISelectionProvider specialSelectionProvider) {
	fSite= site;
	fGroupId= IContextMenuConstants.GROUP_SEARCH;

	fFindReadReferencesAction= new FindReadReferencesAction(site);
	fFindReadReferencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_WORKSPACE);

	fFindReadReferencesInProjectAction= new FindReadReferencesInProjectAction(site);
	fFindReadReferencesInProjectAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_READ_ACCESS_IN_PROJECT);

	fFindReadReferencesInHierarchyAction= new FindReadReferencesInHierarchyAction(site);
	fFindReadReferencesInHierarchyAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_HIERARCHY);

	fFindReadReferencesInWorkingSetAction= new FindReadReferencesInWorkingSetAction(site);
	fFindReadReferencesInWorkingSetAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_WRITE_ACCESS_IN_WORKING_SET);

	// register the actions as selection listeners
	ISelectionProvider provider= specialSelectionProvider == null ? fSite.getSelectionProvider() : specialSelectionProvider;
	ISelection selection= provider.getSelection();
	registerAction(fFindReadReferencesAction, provider, selection, specialSelectionProvider);
	registerAction(fFindReadReferencesInProjectAction, provider, selection, specialSelectionProvider);
	registerAction(fFindReadReferencesInHierarchyAction, provider, selection, specialSelectionProvider);
	registerAction(fFindReadReferencesInWorkingSetAction, provider, selection, specialSelectionProvider);
}
 
@Override
public void fillContextMenu(IMenuManager manager) {
	MenuManager javaSearchMM= new MenuManager(MENU_TEXT, IContextMenuConstants.GROUP_SEARCH);
	addAction(fFindReadReferencesAction, javaSearchMM);
	addAction(fFindReadReferencesInProjectAction, javaSearchMM);
	addAction(fFindReadReferencesInHierarchyAction, javaSearchMM);

	javaSearchMM.add(new Separator());

	Iterator<IWorkingSet[]> iter= SearchUtil.getLRUWorkingSets().sortedIterator();
	while (iter.hasNext()) {
		addWorkingSetAction(iter.next(), javaSearchMM);
	}
	addAction(fFindReadReferencesInWorkingSetAction, javaSearchMM);

	if (!javaSearchMM.isEmpty())
		manager.appendToGroup(fGroupId, javaSearchMM);
}
 
/**
 * Creates a new <code>ReferencesSearchGroup</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 specialSelectionProvider the selection provider used instead of the
 *  sites selection provider.
 *
 * @since 3.4
 */
public ReferencesSearchGroup(IWorkbenchSite site, ISelectionProvider specialSelectionProvider) {
	fSite= site;
	fGroupId= IContextMenuConstants.GROUP_SEARCH;

	fFindReferencesAction= new FindReferencesAction(site);
	fFindReferencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_REFERENCES_IN_WORKSPACE);

	fFindReferencesInProjectAction= new FindReferencesInProjectAction(site);
	fFindReferencesInProjectAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_REFERENCES_IN_PROJECT);

	fFindReferencesInHierarchyAction= new FindReferencesInHierarchyAction(site);
	fFindReferencesInHierarchyAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_REFERENCES_IN_HIERARCHY);

	fFindReferencesInWorkingSetAction= new FindReferencesInWorkingSetAction(site);
	fFindReferencesInWorkingSetAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_REFERENCES_IN_WORKING_SET);

	// register the actions as selection listeners
	ISelectionProvider provider= specialSelectionProvider == null ? fSite.getSelectionProvider() : specialSelectionProvider;
	ISelection selection= provider.getSelection();
	registerAction(fFindReferencesAction, provider, selection, specialSelectionProvider);
	registerAction(fFindReferencesInProjectAction, provider, selection, specialSelectionProvider);
	registerAction(fFindReferencesInHierarchyAction, provider, selection, specialSelectionProvider);
	registerAction(fFindReferencesInWorkingSetAction, provider, selection, specialSelectionProvider);
}
 
@Override
public void fillContextMenu(IMenuManager manager) {
	MenuManager javaSearchMM= new MenuManager(getName(), IContextMenuConstants.GROUP_SEARCH);
	addAction(fFindReferencesAction, javaSearchMM);
	addAction(fFindReferencesInProjectAction, javaSearchMM);
	addAction(fFindReferencesInHierarchyAction, javaSearchMM);

	javaSearchMM.add(new Separator());

	Iterator<IWorkingSet[]> iter= SearchUtil.getLRUWorkingSets().sortedIterator();
	while (iter.hasNext()) {
		addWorkingSetAction(iter.next(), javaSearchMM);
	}
	addAction(fFindReferencesInWorkingSetAction, javaSearchMM);

	if (!javaSearchMM.isEmpty())
		manager.appendToGroup(fGroupId, javaSearchMM);
}
 
public void menuAboutToShow(IMenuManager menu) {
	menu.add(new Separator(IContextMenuConstants.GROUP_GOTO));
	menu.add(new Separator(IContextMenuConstants.GROUP_OPEN));
	menu.add(new Separator(ITextEditorActionConstants.GROUP_EDIT));
	menu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS));

	IAction action;

	action= getCopyToClipboardAction();
	if (action != null)
		menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, action);

	action= getSelectAllAction();
	if (action != null)
		menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, action);

	menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fGotoInputAction);
}
 
/**
 * Creates the Java plug-in's standard groups for view context menus.
 *
 * @param menu the menu manager to be populated
 */
public static void createStandardGroups(IMenuManager menu) {
	if (!menu.isEmpty())
		return;

	menu.add(new Separator(IContextMenuConstants.GROUP_NEW));
	menu.add(new GroupMarker(IContextMenuConstants.GROUP_GOTO));
	menu.add(new Separator(IContextMenuConstants.GROUP_OPEN));
	menu.add(new GroupMarker(IContextMenuConstants.GROUP_SHOW));
	menu.add(new Separator(ICommonMenuConstants.GROUP_EDIT));
	menu.add(new Separator(IContextMenuConstants.GROUP_REORGANIZE));
	menu.add(new Separator(IContextMenuConstants.GROUP_GENERATE));
	menu.add(new Separator(IContextMenuConstants.GROUP_SEARCH));
	menu.add(new Separator(IContextMenuConstants.GROUP_BUILD));
	menu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS));
	menu.add(new Separator(IContextMenuConstants.GROUP_VIEWER_SETUP));
	menu.add(new Separator(IContextMenuConstants.GROUP_PROPERTIES));
}
 
@Override
public void fillContextMenu(IMenuManager menu) {
	MenuManager javaSearchMM = new MenuManager(CallHierarchyMessages.SearchScopeActionGroup_searchScope,
			IContextMenuConstants.GROUP_SEARCH);
	javaSearchMM.setRemoveAllWhenShown(true);

	javaSearchMM.addMenuListener(new IMenuListener() {
		/* (non-Javadoc)
		 * @see org.eclipse.jface.action.IMenuListener#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
		 */
		public void menuAboutToShow(IMenuManager manager) {
			fillSearchActions(manager);
		}
	});

	fillSearchActions(javaSearchMM);
	menu.appendToGroup(IContextMenuConstants.GROUP_SEARCH, javaSearchMM);
}
 
private void fillViewMenu() {
      IActionBars actionBars = getViewSite().getActionBars();
      IMenuManager viewMenu = actionBars.getMenuManager();
      viewMenu.add(new Separator());

      for (int i = 0; i < fToggleCallModeActions.length; i++) {
          viewMenu.add(fToggleCallModeActions[i]);
      }

      viewMenu.add(new Separator());

      MenuManager layoutSubMenu= new MenuManager(CallHierarchyMessages.CallHierarchyViewPart_layout_menu);
      for (int i = 0; i < fToggleOrientationActions.length; i++) {
      	layoutSubMenu.add(fToggleOrientationActions[i]);
      }
      viewMenu.add(layoutSubMenu);

viewMenu.add(new Separator(IContextMenuConstants.GROUP_SEARCH));

      MenuManager fieldSubMenu= new MenuManager(CallHierarchyMessages.CallHierarchyViewPart_field_menu);
      for (int i = 0; i < fToggleFieldModeActions.length; i++) {
      	fieldSubMenu.add(fToggleFieldModeActions[i]);
      }
      viewMenu.add(fieldSubMenu);
      viewMenu.add(fShowSearchInDialogAction);
  }
 
protected void fillCallHierarchyViewerContextMenu(IMenuManager menu) {
      JavaPlugin.createStandardGroups(menu);

menu.appendToGroup(IContextMenuConstants.GROUP_SHOW, fRefreshSingleElementAction);
      menu.appendToGroup(IContextMenuConstants.GROUP_SHOW, new Separator(GROUP_FOCUS));

      if (fFocusOnSelectionAction.canActionBeAdded()) {
          menu.appendToGroup(GROUP_FOCUS, fFocusOnSelectionAction);
      }
      if (fExpandWithConstructorsAction.canActionBeAdded()) {
      	menu.appendToGroup(GROUP_FOCUS, fExpandWithConstructorsAction);
      }
      
      if (fRemoveFromViewAction.canActionBeAdded()){
      	menu.appendToGroup(GROUP_FOCUS, fRemoveFromViewAction);
      }

      fActionGroups.setContext(new ActionContext(getSelection()));
      fActionGroups.fillContextMenu(menu);
      fActionGroups.setContext(null);

if (fCopyAction.canActionBeAdded()) {
	menu.appendToGroup(ICommonMenuConstants.GROUP_EDIT, fCopyAction);
}
  }
 
源代码21 项目: n4js   文件: N4JSNewWizardsActionGroup.java
@Override
public void fillContextMenu(final IMenuManager menu) {
	super.fillContextMenu(menu);

	final ISelection selection = getContext().getSelection();
	if (selection instanceof IStructuredSelection) {
		if (canEnable((IStructuredSelection) selection)) {
			final MenuManager newMenu = new MenuManager("Ne&w");
			menu.appendToGroup(IContextMenuConstants.GROUP_NEW, newMenu);
			newMenu.add(getNewWizardMenu());
		}
	}

}
 
/**
 * Creates a new <code>OccurrencesSearchGroup</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 specialSelectionProvider the selection provider used instead of the
 *  sites selection provider.
 *
 * @since 3.4
 */
public OccurrencesSearchGroup(IWorkbenchSite site, ISelectionProvider specialSelectionProvider) {
	fSite= site;
	fGroupId= IContextMenuConstants.GROUP_SEARCH;

	fOccurrencesInFileAction= new FindOccurrencesInFileAction(site);
	fOccurrencesInFileAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_OCCURRENCES_IN_FILE);
	// Need to reset the label
	fOccurrencesInFileAction.setText(SearchMessages.Search_FindOccurrencesInFile_shortLabel);

	fExceptionOccurrencesAction= new FindExceptionOccurrencesAction(site);
	fExceptionOccurrencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_EXCEPTION_OCCURRENCES_IN_FILE);

	fFindImplementorOccurrencesAction= new FindImplementOccurrencesAction(site);
	fFindImplementorOccurrencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_IMPLEMENT_OCCURRENCES_IN_FILE);

	fBreakContinueTargetOccurrencesAction= new FindBreakContinueTargetOccurrencesAction(site);
	fBreakContinueTargetOccurrencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_BREAK_CONTINUE_TARGET_OCCURRENCES);

	fMethodExitOccurrencesAction= new FindMethodExitOccurrencesAction(site);
	fMethodExitOccurrencesAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.SEARCH_METHOD_EXIT_OCCURRENCES);


	// register the actions as selection listeners
	ISelectionProvider provider= specialSelectionProvider == null ? fSite.getSelectionProvider() : specialSelectionProvider;
	ISelection selection= provider.getSelection();
	registerAction(fOccurrencesInFileAction, provider, selection, specialSelectionProvider);
	registerAction(fExceptionOccurrencesAction, provider, selection, specialSelectionProvider);
	registerAction(fFindImplementorOccurrencesAction, provider, selection, specialSelectionProvider);
	registerAction(fBreakContinueTargetOccurrencesAction, provider, selection, specialSelectionProvider);
	registerAction(fMethodExitOccurrencesAction, provider, selection, specialSelectionProvider);
}
 
@Override
public void fillContextMenu(IMenuManager menu) {
	super.fillContextMenu(menu);
	if (fOpenAction.isEnabled() && fEnableOpenInContextMenu)
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, fOpenAction);
	if (fCloseAction.isEnabled())
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, fCloseAction);
	if (fCloseUnrelatedAction.isEnabled() && areOnlyProjectsSelected(fCloseUnrelatedAction.getStructuredSelection()))
		menu.appendToGroup(IContextMenuConstants.GROUP_BUILD, fCloseUnrelatedAction);
}
 
@Override
public void fillContextMenu(IMenuManager menu) {
	menu.appendToGroup(IContextMenuConstants.GROUP_REORGANIZE, new Separator(GROUP_IMPORT));
	menu.appendToGroup(GROUP_IMPORT, fImportAction);
	menu.appendToGroup(GROUP_IMPORT, fExportAction);
	super.fillContextMenu(menu);
}
 
@Override
public void menuAboutToShow(IMenuManager menu) {
	super.menuAboutToShow(menu);

	menu.appendToGroup(IContextMenuConstants.GROUP_GOTO, fBackAction);
	menu.appendToGroup(IContextMenuConstants.GROUP_GOTO, fForthAction);

	menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fOpenBrowserAction);
}
 
@Override
public void fillContextMenu(IMenuManager menu) {
	IStructuredSelection selection= (IStructuredSelection)getContext().getSelection();
	int size= selection.size();
	Object element= selection.getFirstElement();

	if (element instanceof ClassPathContainer.RequiredProjectWrapper)
		menu.appendToGroup(IContextMenuConstants.GROUP_SHOW, fGotoRequiredProjectAction);

	addGotoMenu(menu, element, size);

	addOpenNewWindowAction(menu, element);

	super.fillContextMenu(menu);
}
 
private void addOpenNewWindowAction(IMenuManager menu, Object element) {
	if (element instanceof IJavaElement) {
		element= ((IJavaElement)element).getResource();

	}
	// fix for 64890 Package explorer out of sync when open/closing projects [package explorer] 64890
	if (element instanceof IProject && !((IProject)element).isOpen())
		return;

	if (!(element instanceof IContainer))
		return;
	menu.appendToGroup(
		IContextMenuConstants.GROUP_OPEN,
		new OpenInNewWindowAction(fPart.getSite().getWorkbenchWindow(), (IContainer)element));
}
 
protected void fillLocationViewerContextMenu(IMenuManager menu) {
      JavaPlugin.createStandardGroups(menu);

      menu.appendToGroup(IContextMenuConstants.GROUP_SHOW, fOpenLocationAction);
menu.appendToGroup(IContextMenuConstants.GROUP_SHOW, fRefreshSingleElementAction);
      menu.appendToGroup(IContextMenuConstants.GROUP_REORGANIZE, fLocationCopyAction);
  }
 
@Override
public void editorContextMenuAboutToShow(IMenuManager menu) {

	super.editorContextMenuAboutToShow(menu);
	menu.insertAfter(IContextMenuConstants.GROUP_OPEN, new GroupMarker(IContextMenuConstants.GROUP_SHOW));

	ActionContext context= new ActionContext(getSelectionProvider().getSelection());
	fContextMenuGroup.setContext(context);
	fContextMenuGroup.fillContextMenu(menu);
	fContextMenuGroup.setContext(null);

	//Breadcrumb
	IAction action= getAction(IJavaEditorActionDefinitionIds.SHOW_IN_BREADCRUMB);
	menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, action);

	// Quick views
	action= getAction(IJavaEditorActionDefinitionIds.SHOW_OUTLINE);
	menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, action);
	action= getAction(IJavaEditorActionDefinitionIds.OPEN_HIERARCHY);
	menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, action);

	// Copy qualified name
	action= getAction(IJavaEditorActionConstants.COPY_QUALIFIED_NAME);
	if (menu.find(ITextEditorActionConstants.COPY) != null)
		menu.insertAfter(ITextEditorActionConstants.COPY, action);
	else
		addAction(menu, ITextEditorActionConstants.GROUP_COPY, IJavaEditorActionConstants.COPY_QUALIFIED_NAME);

}
 
@Override
public void contributeToMenu(IMenuManager menu) {
	super.contributeToMenu(menu);

	IMenuManager editMenu= menu.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
	if (editMenu != null) {
		editMenu.appendToGroup(IContextMenuConstants.GROUP_ADDITIONS, fToggleInsertModeAction);
	}
}