package edu.neu.ccs.eclipse.LoDChecker; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; import org.eclipse.jface.viewers.ListViewer; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.core.resources.IFile; /* * View displaying list of java files selected in the * Resource Navigator view */ public class JFView extends ViewPart { private ListViewer viewer; public void createPartControl(Composite parent) { viewer=new ListViewer(parent); IWorkbenchPage page=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); ViewerInput input=new ViewerInput(page.getSelection("org.eclipse.ui.views.ResourceNavigator")); //register input as domain model (i.e. selection) listener within the page page.addSelectionListener(input); viewer.setContentProvider(new JFContentProvider()); viewer.setLabelProvider(new JFLabelProvider()); viewer.setInput(input); viewer.addDoubleClickListener( new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (event.getSelection()!=null && event.getSelection() instanceof IStructuredSelection) openEditor((IStructuredSelection)event.getSelection()); } } ); } public void setFocus() {} protected void openEditor(IStructuredSelection selection) { if (selection.getFirstElement() instanceof IFile) { try{ IWorkbenchPage page=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); page.openEditor((IFile)selection.getFirstElement()); } catch (org.eclipse.ui.PartInitException e) {} } } }