[143376] WSDL properties view does not disable the Add/Delete extensiblity buttons
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/properties/sections/W11ExtensionsSection.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/properties/sections/W11ExtensionsSection.java index 7692489..a988dbe 100644 --- a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/properties/sections/W11ExtensionsSection.java +++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/properties/sections/W11ExtensionsSection.java
@@ -31,6 +31,7 @@ import org.eclipse.wst.wsdl.ui.internal.filter.ExtensiblityElementFilter; import org.eclipse.wst.wsdl.ui.internal.text.WSDLModelAdapter; import org.eclipse.wst.xsd.ui.internal.common.commands.AddExtensionCommand; +import org.eclipse.wst.xsd.ui.internal.common.commands.RemoveExtensionNodeCommand; import org.eclipse.wst.xsd.ui.internal.common.properties.sections.AbstractExtensionsSection; import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.AddExtensionsComponentDialog; import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.DOMExtensionTreeContentProvider; @@ -39,6 +40,7 @@ import org.eclipse.xsd.XSDAttributeDeclaration; import org.eclipse.xsd.XSDElementDeclaration; import org.w3c.dom.Element; +import org.w3c.dom.Node; public class W11ExtensionsSection extends AbstractExtensionsSection { @@ -72,7 +74,10 @@ protected Command getRemoveExtensionCommand(Object o) { - // TODO Auto-generated method stub + if (o instanceof Node) + { + return new RemoveExtensionNodeCommand("remove", (Node)o); + } return null; } @@ -81,7 +86,7 @@ // need to clean that up!! // TODO (cs) we should avoid referencing WSDL model objects ... go thru facade instead public void setInput(IWorkbenchPart part, ISelection selection) - { + { super.setInput(part, selection); isReadOnly = true; ExtensibleElement extensibleElement = getExtensibleElement(input); @@ -159,7 +164,7 @@ { ExtensibleElement extensibleElement = getExtensibleElement(inputElement); if (extensibleElement != null) - { + { List domElementList = new ArrayList(); for (Iterator i = extensibleElement.getExtensibilityElements().iterator(); i.hasNext(); ) { @@ -233,4 +238,10 @@ return true; } } + + protected boolean isTreeViewerInputElement(Element element) + { + ExtensibleElement extensibleElement = getExtensibleElement(input); + return extensibleElement != null && extensibleElement.getElement() == element; + } }