blob: a82acb3c9ff4c300aa5b178e2b8c8f804a18aed1 [file] [log] [blame]
package org.eclipse.gmf.examples.eclipsecon.diagram.custom.editpolicies;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gmf.examples.eclipsecon.Resource;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.OpenEditPolicy;
import org.eclipse.swt.program.Program;
public class OpenResourceURLEditPolicy
extends OpenEditPolicy {
protected Command getOpenCommand(Request request) {
return new Command("") { //$NON-NLS-1$
/* (non-Javadoc)
* @see org.eclipse.gef.commands.Command#execute()
*/
public void execute() {
IGraphicalEditPart gep = (IGraphicalEditPart)getHost();
EObject eobj = gep.resolveSemanticElement();
if (eobj instanceof Resource) {
Resource resource = (Resource)eobj;
String location = resource.getLocation();
Program.launch(location);
}
}
};
}
}