package com.redhat.ceylon.eclipse.code.search; import static com.redhat.ceylon.eclipse.ui.CeylonPlugin.PLUGIN_ID; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.search.ui.NewSearchUI; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import com.redhat.ceylon.eclipse.ui.CeylonPlugin; public class OpenCeylonSearchPageAction extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null || window.getActivePage() == null) { Shell shell = CeylonPlugin.getInstance().getWorkbench() .getActiveWorkbenchWindow().getShell(); MessageDialog.openError(shell, "Ceylon Search Error", "No active window"); } else { NewSearchUI.openSearchDialog(window, PLUGIN_ID + ".searchPage"); } return null; } }