### Eclipse Workspace Patch 1.0 #P org.eclipse.pde.ui Index: src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java,v retrieving revision 1.36 diff -u -r1.36 ExtensionPointsSection.java --- src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java 16 Jan 2008 17:07:48 -0000 1.36 +++ src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java 24 Jul 2008 04:57:11 -0000 @@ -23,10 +23,12 @@ import org.eclipse.pde.core.plugin.*; import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase; import org.eclipse.pde.internal.core.text.IDocumentElementNode; +import org.eclipse.pde.internal.core.text.plugin.PluginExtensionPointNode; import org.eclipse.pde.internal.ui.PDEPlugin; import org.eclipse.pde.internal.ui.PDEUIMessages; import org.eclipse.pde.internal.ui.editor.PDEFormPage; import org.eclipse.pde.internal.ui.editor.TableSection; +import org.eclipse.pde.internal.ui.editor.actions.OpenSchemaAction; import org.eclipse.pde.internal.ui.elements.DefaultContentProvider; import org.eclipse.pde.internal.ui.parts.TablePart; import org.eclipse.pde.internal.ui.refactoring.PDERefactoringAction; @@ -206,6 +208,21 @@ handleNew(); } + protected void handleDoubleClick(IStructuredSelection selection) { + if (!selection.isEmpty()) { + PluginExtensionPointNode extensionPoint = (PluginExtensionPointNode) selection.getFirstElement(); + String pointID = extensionPoint.getId(); + // For some stupid reason extensionPoint.getFullId() does not return the full id. + IBaseModel model = getPage().getPDEEditor().getAggregateModel(); + String basePointID = ((IPluginModelBase) model).getPluginBase().getId(); + pointID = basePointID + '.' + pointID; + + OpenSchemaAction action = new OpenSchemaAction(); + action.setInput(pointID); + action.run(); + } + } + private void handleDelete() { Object[] selection = ((IStructuredSelection) pointTable.getSelection()).toArray(); for (int i = 0; i < selection.length; i++) { @@ -273,8 +290,8 @@ */ protected void doPaste(Object targetObject, Object[] sourceObjects) { // By default, fragment.xml does not exist until the first extension - // or extension point is created. - // Ensure the file exists before pasting because the model will be + // or extension point is created. + // Ensure the file exists before pasting because the model will be // null and the paste will fail if it does not exist ((ManifestEditor) getPage().getEditor()).ensurePluginContextPresence(); // Get the model @@ -285,8 +302,8 @@ } IPluginBase pluginBase = model.getPluginBase(); try { - // Paste all source objects - // Since, the extension points are a flat non-hierarchical list, + // Paste all source objects + // Since, the extension points are a flat non-hierarchical list, // the target object is not needed for (int i = 0; i < sourceObjects.length; i++) { Object sourceObject = sourceObjects[i];