[113132] XSDMenuListener.java making a cast to XSDEditor which causes problems for WSDL Editor
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
index 210dfac..61093be 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
@@ -107,11 +107,21 @@
return ((IStructuredSelection) selection).getFirstElement();
}
+ protected boolean isSchemaReadOnly()
+ {
+ XSDSchema editorSchema = ((XSDEditor)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()).getXSDSchema();
+ if (editorSchema == xsdSchema) {
+ return false;
+ }
+
+ return true;
+ }
+
protected XSDSchema getCurrentSchemaInEditor()
{
return ((XSDEditor)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()).getXSDSchema();
}
-
+
protected void updateXSDSchema()
{
isReadOnly = false;
@@ -120,11 +130,7 @@
if (object instanceof XSDConcreteComponent)
{
xsdSchema = ((XSDConcreteComponent) object).getSchema();
-
- if (getCurrentSchemaInEditor() != xsdSchema)
- {
- isReadOnly = true;
- }
+ isReadOnly = isSchemaReadOnly();
}
else if (object instanceof Category)
{