package net.sourceforge.phpeclipse.example.outline; import net.sourceforge.phpdt.core.IImportDeclaration; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.IActionDelegate; import org.eclipse.ui.IObjectActionDelegate; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchPartSite; public class Import2Console implements IObjectActionDelegate { private IWorkbenchPartSite myPartSite = null; private IWorkspace myWorkspace = null; private IWorkbenchPart myWorkbenchPart = null; private IImportDeclaration myType = null; public Import2Console() { // this(new PackageSelector()); } // public CreateMock(IPackageSelector aPackageSelector) { // myPackageSelector = aPackageSelector; // } /** * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart) */ public void setActivePart(IAction action, IWorkbenchPart targetPart) { myWorkspace = ResourcesPlugin.getWorkspace(); myWorkbenchPart = targetPart; } /** * @see IActionDelegate#run(IAction) */ public void run(IAction action) { try { String actionId = action.getId(); showSourceInConsole(actionId); } catch (Exception e) { e.printStackTrace(); } } /** * @see IActionDelegate#selectionChanged(IAction, ISelection) */ public void selectionChanged(IAction action, ISelection selection) { if (selection instanceof IStructuredSelection) { Object item = ((IStructuredSelection) selection).getFirstElement(); myType = (IImportDeclaration) item; // this plugin only reacts to // IImportDeclaration's } } private void showSourceInConsole(String actionId) throws Exception { String src = myType.getSource(); System.out.println(actionId); System.out.println("Source :" + src); } }