diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/OpenCSearchPageAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/OpenCSearchPageAction.java new file mode 100644 index 00000000000..c99ff3ccbad --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/OpenCSearchPageAction.java @@ -0,0 +1,54 @@ +/* + * Created on Jul 11, 2003 + */ +package org.eclipse.cdt.internal.ui.search; + +import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.search.ui.SearchUI; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchWindowActionDelegate; + +/** + * @author bgheorgh + */ +public class OpenCSearchPageAction implements IWorkbenchWindowActionDelegate { + + private static final String C_SEARCH_PAGE_ID= "org.eclipse.cdt.ui.CSearchPage"; + + private IWorkbenchWindow fWindow; + + public OpenCSearchPageAction() { + super(); + // TODO Auto-generated constructor stub + } + + public void init(IWorkbenchWindow window) { + fWindow= window; + } + + public void run(IAction action) { + if (fWindow == null || fWindow.getActivePage() == null) { + beep(); + return; + } + SearchUI.openSearchDialog(fWindow, C_SEARCH_PAGE_ID); + } + + public void selectionChanged(IAction action, ISelection selection) { + // do nothing since the action isn't selection dependent. + } + + public void dispose() { + fWindow= null; + } + + protected void beep() { + Shell shell= CUIPlugin.getDefault().getActiveWorkbenchShell(); + if (shell != null && shell.getDisplay() != null) + shell.getDisplay().beep(); + } + +}