// Copyright (c) 2003-2008 by Leif Frenzel - see http://leiffrenzel.de
// This code is made available under the terms of the Eclipse Public License,
// version 1.0 (EPL). See http://www.eclipse.org/legal/epl-v10.html
package net.sf.eclipsefp.haskell.ui.actions;
import net.sf.eclipsefp.haskell.ui.HaskellUIPlugin;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.WorkbenchException;
/** <p>An Action for opening the Haskell perspective.</p>
*
* @author Leif Frenzel
*/
public class OpenHaskellPerspective extends AbstractOpenAction {
@Override
public void run() {
IWorkbenchWindow window = getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
IAdaptable input
= ( page != null ) ? page.getInput()
: ResourcesPlugin.getWorkspace().getRoot();
try {
String perspectiveId = HaskellUIPlugin.ID_PERSPECTIVE;
getWorkbench().showPerspective( perspectiveId, window, input );
} catch( WorkbenchException wbex ) {
handleError( wbex,
"Could not open perspective.\nSee error log for details." );
}
}
}