package waelti.statistics.actions; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; import org.eclipse.ui.PartInitException; import waelti.statistics.views.OutputView; /** * This action opens the statistic view, containing all results and actions. * * @author michael waelti * @see IWorkbenchWindowActionDelegate * @see OutputView */ public class OpenViewAction implements IWorkbenchWindowActionDelegate { private IWorkbenchWindow window; /** Name of the view to be opened when the action is activated. */ private String outputViewName = "waelti.statistics.views.OutputView"; /** * The constructor. */ public OpenViewAction(){} /** * The action has been activated. The argument of the method represents the 'real' action * sitting in the workbench UI. * * @see IWorkbenchWindowActionDelegate#run */ public void run(IAction action){ try { window.getActivePage().showView(outputViewName); } catch (PartInitException e) { // TODO Logging MessageDialog.openInformation(window.getShell(), "ElexisStatistics Plug-in", "Error while opening output view."); } } /** * Selection in the workbench has been changed. We can change the state of the 'real' action * here if we want, but this can only happen after the delegate has been created. * * @see IWorkbenchWindowActionDelegate#selectionChanged */ public void selectionChanged(IAction action, ISelection selection){} /** * We can use this method to dispose of any system resources we previously allocated. * * @see IWorkbenchWindowActionDelegate#dispose */ public void dispose(){} /** * We will cache window object in order to be able to provide parent shell for the message * dialog. * * @see IWorkbenchWindowActionDelegate#init */ public void init(IWorkbenchWindow window){ this.window = window; } }