package au.com.langdale.cimtoole.actions;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
import au.com.langdale.jena.TreeModelBase.Node;
public class JumpAction implements IViewActionDelegate {
private IViewPart view;
private ISelection selection;
public interface Jumpable {
public void jump(Node node);
}
public void run(IAction action) {
if( view instanceof Jumpable && selection instanceof IStructuredSelection) {
Jumpable searchable = (Jumpable) view;
Object element = ((IStructuredSelection)selection).getFirstElement();
if( element instanceof Node ) {
searchable.jump((Node)element);
}
}
}
public void selectionChanged(IAction action, ISelection selection) {
this.selection = selection;
}
public void init(IViewPart view) {
this.view = view;
}
}