/* This file is part of Green. * * Copyright (C) 2005 The Research Foundation of State University of New York * All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y. * * Green is free software, licensed under the terms of the Eclipse * Public License, version 1.0. The license is available at * http://www.eclipse.org/legal/epl-v10.html */ package edu.buffalo.cse.green.editor.action; import org.eclipse.gef.ui.actions.PrintAction; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.IActionDelegate; import org.eclipse.ui.actions.ActionFactory; import edu.buffalo.cse.green.editor.DiagramEditor; /** * Prints diagram. * * @author bcmartin */ public class PrintDIAAction extends ContextAction implements IActionDelegate{ ISelection _selection; /** * @see edu.buffalo.cse.green.editor.action.ContextAction#doRun() */ public void doRun() throws JavaModelException { new PrintAction(DiagramEditor.getActiveEditor()).run(); } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getLabel() */ public String getLabel() { return "Print Class Diagram"; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getSupportedModels() */ protected int getSupportedModels() { return CM_ALL; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getPath() */ public Submenu getPath() { return Submenu.None; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getGlobalActionHandler() */ public ActionFactory getGlobalActionHandler() { return ActionFactory.PRINT; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#isEnabled() */ public boolean isEnabled() { return true; } public void run(IAction action) { try { DiagramEditor.createEditor( (IStructuredSelection) _selection); } catch (JavaModelException e) { System.out.println("Didn't work"); e.printStackTrace(); } } public void selectionChanged(IAction action, ISelection selection) { if (selection instanceof StructuredSelection) { _selection = selection; } } }