Miscellaneous Fixes to Selection bugs, Attribute Group content, direct editing
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
index 9821602..fb41748 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
@@ -53,6 +53,7 @@
protected SelectionManagerSelectionChangeListener selectionManagerSelectionChangeListener = new SelectionManagerSelectionChangeListener();
protected TreeSelectionChangeListener treeSelectionChangeListener = new TreeSelectionChangeListener();
XSDTextEditor xsdTextEditor;
+ XSDMenuListener menuListener;
/**
*
@@ -95,7 +96,8 @@
menuManager.setRemoveAllWhenShown(true);
Menu menu = menuManager.createContextMenu(getTreeViewer().getControl());
getTreeViewer().getControl().setMenu(menu);
- XSDMenuListener menuListener = new XSDMenuListener(xsdTextEditor.getXSDEditor().getSelectionManager());
+ menuListener = new XSDMenuListener(xsdTextEditor.getXSDEditor().getSelectionManager());
+// menuListener.setSelectionProvider(getTreeViewer());
menuManager.addMenuListener(menuListener);
setSelectionManager(xsdTextEditor.getXSDEditor().getSelectionManager());
// cs... why are we doing this from the outline view?
@@ -255,6 +257,7 @@
if (o != null)
{
selectionManager.setSelection(new StructuredSelection(o), getTreeViewer());
+// selectionManager.selectionChanged(new SelectionChangedEvent(getTreeViewer(),new StructuredSelection(o)));
}
else
{
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
index 6d2eeb1..2235ff5 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
@@ -27,6 +27,8 @@
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+//import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
@@ -1113,7 +1115,14 @@
ISelection selection = getSelectionManager().getSelection();
if (selection != null)
{
- getSelectionManager().setSelection(selection);
+ if (getCurrentPageType().equals(XSDEditorPlugin.GRAPH_PAGE))
+ {
+ getSelectionManager().selectionChanged(new SelectionChangedEvent(editor.getGraphViewer().getComponentViewer(), selection));
+ }
+ else if (getCurrentPageType().equals(XSDEditorPlugin.SOURCE_PAGE))
+ {
+ getSelectionManager().setSelection(selection);
+ }
}
}
}
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 72ce37c..0e11ebf 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
@@ -12,6 +12,8 @@
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.ui.parts.AbstractEditPartViewer;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
@@ -32,17 +34,25 @@
import org.eclipse.wst.xsd.ui.internal.actions.CreateSimpleTypeAction;
import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
import org.eclipse.wst.xsd.ui.internal.actions.DeleteAction;
+import org.eclipse.wst.xsd.ui.internal.actions.GraphRenameAction;
import org.eclipse.wst.xsd.ui.internal.actions.MakeAnonymousGlobal;
import org.eclipse.wst.xsd.ui.internal.actions.OpenSchemaAction;
import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
import org.eclipse.wst.xsd.ui.internal.actions.XSDEditNamespacesAction;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ElementDeclarationEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
import org.eclipse.xsd.XSDCompositor;
import org.eclipse.xsd.XSDConcreteComponent;
import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDModelGroupDefinition;
+import org.eclipse.xsd.XSDNamedComponent;
import org.eclipse.xsd.XSDSchema;
import org.eclipse.xsd.XSDSchemaDirective;
import org.eclipse.xsd.util.XSDConstants;
@@ -60,7 +70,8 @@
protected CreateElementAction addComplexTypeAction;
protected XSDSchema xsdSchema;
protected boolean isReadOnly;
-
+ protected Object sourceContext;
+
/**
* Constructor for XSDMenuListener.
*/
@@ -74,6 +85,11 @@
selectionProvider.addSelectionChangedListener(deleteAction);
}
+ public void setSourceContext(Object sourceContext)
+ {
+ this.sourceContext = sourceContext;
+ }
+
public void setSelectionProvider(ISelectionProvider selectionProvider)
{
this.selectionProvider = selectionProvider;
@@ -203,6 +219,12 @@
}
ArrayList attributes = null;
Element parent = getXSDSchema().getElement();
+
+ if (parent == null)
+ {
+ return;
+ }
+
Node relativeNode = null;
switch (groupType)
{
@@ -1414,6 +1436,62 @@
* (XSDDOMHelper.inputEquals(parent, XSDConstants.APPINFO_ELEMENT_TAG,
* false)) { }
*/
+
+ XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
+ if (concreteComponent instanceof XSDNamedComponent)
+ {
+ if (selectionProvider instanceof XSDSelectionManager)
+ {
+ if (sourceContext instanceof AbstractEditPartViewer)
+ {
+ AbstractEditPartViewer viewer = (AbstractEditPartViewer)sourceContext;
+
+ Object obj = viewer.getSelectedEditParts().get(0);
+
+ if (obj instanceof GraphicalEditPart)
+ {
+ boolean canEdit = true;
+ if (obj instanceof ElementDeclarationEditPart)
+ {
+ XSDElementDeclaration elem = ((ElementDeclarationEditPart)obj).getXSDElementDeclaration();
+ if (elem.isElementDeclarationReference())
+ {
+ canEdit = false;
+ }
+ }
+ else if (obj instanceof ModelGroupDefinitionEditPart)
+ {
+ XSDModelGroupDefinition group = ((ModelGroupDefinitionEditPart)obj).getXSDModelGroupDefinition();
+ if (group.isModelGroupDefinitionReference())
+ {
+ canEdit = false;
+ }
+ }
+ else if (obj instanceof ComplexTypeDefinitionEditPart)
+ {
+ XSDComplexTypeDefinition ct = ((ComplexTypeDefinitionEditPart)obj).getXSDComplexTypeDefinition();
+ if (ct.getName() == null) // anonymous
+ {
+ canEdit = false;
+ }
+ }
+ else if (obj instanceof TopLevelComponentEditPart)
+ {
+ canEdit = true;
+ }
+ else
+ {
+ canEdit = false;
+ }
+ if (canEdit)
+ {
+ GraphRenameAction graphRenameAction = new GraphRenameAction((XSDNamedComponent)concreteComponent, (GraphicalEditPart)obj);
+ manager.add(graphRenameAction);
+ }
+ }
+ }
+ }
+ }
}
protected void addContextInsertItems(IMenuManager manager, Element parent, Element currentElement, Node relativeNode)
@@ -1733,6 +1811,7 @@
action.setXSDSchema(getXSDSchema());
action.setSelectionProvider(selectionProvider);
action.setEnabled(!isReadOnly);
+ action.setSourceContext(sourceContext);
manager.add(action);
return action;
}
@@ -1783,6 +1862,7 @@
action.setXSDSchema(getXSDSchema());
action.setSelectionProvider(selectionProvider);
action.setEnabled(!isReadOnly);
+ action.setSourceContext(sourceContext);
manager.add(action);
return action;
}
@@ -1822,6 +1902,7 @@
action.setXSDSchema(getXSDSchema());
action.setSelectionProvider(selectionProvider);
action.setEnabled(!isReadOnly);
+ action.setSourceContext(sourceContext);
manager.add(action);
return action;
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
index ad2673a..22f0354 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
@@ -72,7 +72,7 @@
public void setSelection(ISelection selection, ISelectionProvider source)
{
- //System.out.println("SelectionManager.setSelection() " + selection + ", " + source);
+// System.out.println("SelectionManager.setSelection() " + selection + ", " + source);
if (enableNotify)
{
currentSelection = selection;
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
index b3b34e7..3190d53 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
@@ -11,6 +11,8 @@
package org.eclipse.wst.xsd.ui.internal.actions;
import java.util.List;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.ui.parts.AbstractEditPartViewer;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelectionProvider;
@@ -21,7 +23,19 @@
import org.eclipse.wst.xml.core.document.XMLNode;
import org.eclipse.wst.xml.core.format.FormatProcessorXML;
import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ElementDeclarationEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
+import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
+import org.eclipse.xsd.XSDAttributeDeclaration;
+import org.eclipse.xsd.XSDAttributeGroupDefinition;
+import org.eclipse.xsd.XSDAttributeUse;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
import org.eclipse.xsd.XSDConcreteComponent;
+import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDModelGroupDefinition;
+import org.eclipse.xsd.XSDNamedComponent;
import org.eclipse.xsd.XSDSchema;
import org.eclipse.xsd.util.XSDConstants;
import org.w3c.dom.Element;
@@ -35,7 +49,9 @@
protected ISelectionProvider selectionProvider;
protected XSDSchema xsdSchema;
-
+
+ protected Object sourceContext;
+
/**
* Constructor for CreateElementAction.
*/
@@ -70,6 +86,11 @@
{
this.selectionProvider = selectionProvider;
}
+
+ public void setSourceContext(Object sourceContext)
+ {
+ this.sourceContext = sourceContext;
+ }
/**
* Gets the parentNode.
@@ -190,7 +211,7 @@
public void run()
{
beginRecording(getDescription());
- Element child = createAndAddNewChildElement();
+ final Element child = createAndAddNewChildElement();
endRecording();
if (selectionProvider != null)
@@ -202,11 +223,84 @@
{
public void run()
{
- selectionProvider.setSelection(new StructuredSelection(comp));
+ if (comp instanceof XSDAttributeDeclaration)
+ {
+ if (((XSDAttributeDeclaration)comp).getContainer() instanceof XSDAttributeUse)
+ {
+ if (comp.getContainer().getContainer() instanceof XSDAttributeGroupDefinition)
+ {
+ selectionProvider.setSelection(new StructuredSelection(comp.getContainer()));
+ }
+ else if (comp.getContainer().getContainer() instanceof XSDComplexTypeDefinition)
+ {
+ if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
+ {
+ selectionProvider.setSelection(new StructuredSelection(comp.getContainer()));
+ }
+ else
+ {
+ selectionProvider.setSelection(new StructuredSelection(comp));
+ }
+ }
+ else
+ {
+ selectionProvider.setSelection(new StructuredSelection(comp));
+ }
+ }
+ else
+ {
+ selectionProvider.setSelection(new StructuredSelection(comp));
+ }
+ }
+ else
+ {
+ selectionProvider.setSelection(new StructuredSelection(comp));
+ }
+ if (comp instanceof XSDNamedComponent)
+ {
+ if (sourceContext instanceof AbstractEditPartViewer)
+ {
+ AbstractEditPartViewer viewer = (AbstractEditPartViewer)sourceContext;
+
+ Object obj = viewer.getSelectedEditParts().get(0);
+
+ if (obj instanceof GraphicalEditPart)
+ {
+ if (obj instanceof ElementDeclarationEditPart)
+ {
+ XSDElementDeclaration elem = ((ElementDeclarationEditPart)obj).getXSDElementDeclaration();
+ if (!elem.isElementDeclarationReference())
+ {
+ ((ElementDeclarationEditPart)obj).doEditName();
+ }
+ }
+ else if (obj instanceof ModelGroupDefinitionEditPart)
+ {
+ XSDModelGroupDefinition group = ((ModelGroupDefinitionEditPart)obj).getXSDModelGroupDefinition();
+ if (!group.isModelGroupDefinitionReference())
+ {
+ ((ModelGroupDefinitionEditPart)obj).doEditName();
+ }
+ }
+ else if (obj instanceof ComplexTypeDefinitionEditPart)
+ {
+ XSDComplexTypeDefinition ct = ((ComplexTypeDefinitionEditPart)obj).getXSDComplexTypeDefinition();
+ if (ct.getName() != null)
+ {
+ ((ComplexTypeDefinitionEditPart)obj).doEditName();
+ }
+ }
+ else if (obj instanceof TopLevelComponentEditPart)
+ {
+ ((TopLevelComponentEditPart)obj).doEditName();
+ }
+ }
+
+ }
+ }
}
};
Display.getDefault().timerExec(50,runnable);
-
}
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/GraphRenameAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/GraphRenameAction.java
new file mode 100644
index 0000000..4576bfa
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/GraphRenameAction.java
@@ -0,0 +1,23 @@
+package org.eclipse.wst.xsd.ui.internal.actions;
+
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.jface.action.Action;
+import org.eclipse.wst.xsd.ui.internal.commands.RenameCommand;
+import org.eclipse.xsd.XSDNamedComponent;
+
+
+public class GraphRenameAction extends Action
+{
+ protected RenameCommand command;
+
+ public GraphRenameAction(XSDNamedComponent namedComponent, GraphicalEditPart editPart)
+ {
+ command = new RenameCommand(namedComponent, editPart);
+ setText("Rename");
+ }
+
+ public void run()
+ {
+ command.run();
+ }
+}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/RenameCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/RenameCommand.java
new file mode 100644
index 0000000..ade4b77
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/RenameCommand.java
@@ -0,0 +1,66 @@
+package org.eclipse.wst.xsd.ui.internal.commands;
+
+import org.eclipse.draw2d.Label;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ElementDeclarationEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
+import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
+import org.eclipse.xsd.XSDConcreteComponent;
+import org.eclipse.xsd.XSDNamedComponent;
+
+
+/**
+ * @author kchong
+ *
+ * <a href="mailto:kchong@ca.ibm.com">kchong@ca.ibm.com</a>
+ *
+ */
+public class RenameCommand
+{
+ protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
+ Label label = new Label();
+ XSDNamedComponent namedComponent;
+ GraphicalEditPart editPart;
+
+ public RenameCommand(XSDNamedComponent namedComponent, GraphicalEditPart editPart)
+ {
+ this.namedComponent = namedComponent;
+ this.editPart = editPart;
+ }
+
+ /* (non-Javadoc)
+ * @see com.ibm.xsd.edit.actions.AbstractCommand#run()
+ */
+ public void run()
+ {
+ if (editPart instanceof ElementDeclarationEditPart)
+ {
+ ElementDeclarationEditPart elementDeclarationEditPart = (ElementDeclarationEditPart)editPart;
+ elementDeclarationEditPart.doEditName();
+ }
+ else if (editPart instanceof TopLevelComponentEditPart)
+ {
+ TopLevelComponentEditPart topLevelEditPart = (TopLevelComponentEditPart)editPart;
+ topLevelEditPart.doEditName();
+ }
+ else if (editPart instanceof ComplexTypeDefinitionEditPart)
+ {
+ ((ComplexTypeDefinitionEditPart)editPart).doEditName();
+ }
+ else if (editPart instanceof ModelGroupDefinitionEditPart)
+ {
+ ((ModelGroupDefinitionEditPart)editPart).doEditName();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see com.ibm.xsd.edit.actions.AbstractCommand#adopt(org.eclipse.xsd.XSDConcreteComponent)
+ */
+ protected boolean adopt(XSDConcreteComponent model)
+ {
+ return false;
+ }
+
+}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
index cc092cf..3215418 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
@@ -36,6 +36,7 @@
super(viewer);
this.viewer = viewer;
xsdMenuListener = new XSDMenuListener(selectionProvider);
+ xsdMenuListener.setSourceContext(viewer);
}
public XSDMenuListener getMenuListener()
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
index 015f6c2..a15cfc7 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
@@ -39,12 +39,17 @@
import org.eclipse.wst.xsd.ui.internal.XSDEditor;
import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
import org.eclipse.wst.xsd.ui.internal.XSDSelectionManager;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
+import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
+import org.eclipse.xsd.XSDAttributeGroupContent;
+import org.eclipse.xsd.XSDAttributeGroupDefinition;
import org.eclipse.xsd.XSDConcreteComponent;
import org.eclipse.xsd.XSDNotationDeclaration;
import org.eclipse.xsd.XSDSchema;
import org.eclipse.xsd.XSDSchemaDirective;
import org.eclipse.xsd.XSDSimpleTypeDefinition;
+import org.eclipse.xsd.XSDWildcard;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -372,7 +377,7 @@
// from a different view (not from the graph view)
if (event.getSource() != getComponentViewer())
{
- handleSelection(event.getSelection(), true);
+ handleSelection(event, true);
}
}
@@ -390,9 +395,9 @@
// TODO.. we need to clean this method up and add comments to clarify what's going on
//
- protected void handleSelection(ISelection selection, boolean isSelectionRequired)
+ protected void handleSelection(SelectionChangedEvent event, boolean isSelectionRequired)
{
- StructuredSelection s = (StructuredSelection)selection;
+ StructuredSelection s = (StructuredSelection)event.getSelection();
Object obj = s.getFirstElement();
if (obj instanceof XSDConcreteComponent)
{
@@ -408,12 +413,21 @@
selectedComponent.getContainer() instanceof XSDSchema)
{
topLevelSchema = (XSDSchema)currentInput;
- }
+ }
}
- else if (selectedComponent instanceof XSDSchemaDirective || selectedComponent instanceof XSDNotationDeclaration)
+ if (selectedComponent instanceof XSDSchemaDirective ||
+ selectedComponent instanceof XSDNotationDeclaration)
{
topLevelSchema = selectedComponent.getSchema();
}
+ else if (selectedComponent instanceof XSDAttributeGroupContent ||
+ selectedComponent instanceof XSDWildcard)
+ {
+ if (selectedComponent.getContainer() instanceof XSDAttributeGroupDefinition)
+ {
+ topLevelSchema = selectedComponent.getSchema();
+ }
+ }
else if (selectedComponent instanceof XSDSimpleTypeDefinition)
{
XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)selectedComponent;
@@ -445,7 +459,6 @@
}
}
}
-
// now we handle the selection
//
if (isSelectionRequired)
@@ -454,10 +467,18 @@
EditPart newSelectedEditPart = getComponentViewer().getEditPart(editPart, obj);
if (newSelectedEditPart != null)
{
+ if (newSelectedEditPart instanceof TopLevelComponentEditPart)
+ {
+ ((TopLevelComponentEditPart)newSelectedEditPart).setScroll(true);
+ }
getComponentViewer().setSelection(new StructuredSelection(newSelectedEditPart));
}
}
- }
+ }
+ else if (obj instanceof CategoryAdapter)
+ {
+ setInput(((CategoryAdapter)obj).getXSDSchema());
+ }
}
protected Element getElementNode(Node node)
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
index 36950bc..afffaad 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
@@ -151,6 +151,11 @@
label.setText(" " + category.getName() + " ");
}
+ public ScrollPane getScrollPane()
+ {
+ return scrollpane;
+ }
+
public IFigure getContentPane()
{
return scrollpane.getContents();
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
index b0c1825..daac88d 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
@@ -206,5 +206,10 @@
}
}
}
- }
+ }
+
+ public void doEditName()
+ {
+ performDirectEdit();
+ }
}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
index afeebc1..cfa8811 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
@@ -118,10 +118,15 @@
}
protected void performDirectEdit()
- {
- ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());
- simpleDirectEditPolicy.setDelegate(manager);
- manager.show();
+ {
+ // Why are we allowing direct editing when the label is null?
+ // Should remove the policy
+ if (label != null)
+ {
+ ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());
+ simpleDirectEditPolicy.setDelegate(manager);
+ manager.show();
+ }
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
index 974d97b..1ccb786 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
@@ -415,5 +415,11 @@
}
}
+ public void doEditName()
+ {
+ ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDElementDeclaration());
+ simpleDirectEditPolicy.setDelegate(manager);
+ manager.show();
+ }
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
index 8ccdfec..af5804a 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
@@ -193,4 +193,12 @@
// super.modelChildrenChanged();
// refreshVisuals();
//}
+
+ public void doEditName()
+ {
+ ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDModelGroupDefinition());
+ simpleDirectEditPolicy.setDelegate(manager);
+ manager.show();
+ }
+
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
index ef78b30..27c52e3 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
@@ -14,6 +14,8 @@
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.ImageFigure;
import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.MouseEvent;
+import org.eclipse.draw2d.MouseMotionListener;
import org.eclipse.gef.EditPolicy;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
@@ -21,7 +23,7 @@
import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-public class SimpleTypeDefinitionEditPart extends BaseEditPart //GraphNodeEditPart
+public class SimpleTypeDefinitionEditPart extends BaseEditPart implements MouseMotionListener
{
protected Label label;
protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
@@ -40,13 +42,14 @@
figure.setBorder(lb);
figure.setBackgroundColor(ColorConstants.white);
figure.setForegroundColor(elementBorderColor);
-
+ figure.addMouseMotionListener(this);
return figure;
}
protected void refreshVisuals()
{
- figure.setBorder(new RoundedLineBorder(isSelected ? ColorConstants.black : elementBorderColor, 1, 6));
+ // figure.setBorder(new RoundedLineBorder(isSelected ? ColorConstants.black : elementBackgroundColor, 1, 6));
+ ((RoundedLineBorder)figure.getBorder()).setColor(isSelected ? ColorConstants.black : elementBackgroundColor);
figure.repaint();
}
@@ -63,10 +66,38 @@
public void deactivate()
{
+ figure.removeMouseMotionListener(this);
super.deactivate();
if (color != null)
{
color.dispose();
}
- }
+ }
+
+ public void mouseDragged(MouseEvent me)
+ {
+ }
+
+ public void mouseEntered(MouseEvent me)
+ {
+// ((RoundedLineBorder)figure.getBorder()).setColor(ColorConstants.blue);
+// figure.setBackgroundColor(elementBorderColor);
+// figure.repaint();
+ }
+
+ public void mouseExited(MouseEvent me)
+ {
+// ((RoundedLineBorder)figure.getBorder()).setColor(elementBackgroundColor);
+// figure.setBackgroundColor(elementBackgroundColor);
+// figure.repaint();
+ }
+
+ public void mouseHover(MouseEvent me)
+ {
+ }
+
+ public void mouseMoved(MouseEvent me)
+ {
+ }
+
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
index d8ccbf4..2d96719 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
@@ -36,7 +36,9 @@
import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
import org.eclipse.wst.xsd.ui.internal.graph.XSDComponentViewer;
import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
+import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
+import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
import org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapter;
import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
@@ -53,6 +55,7 @@
//protected Label arrowLabel;
protected ContainerFigure labelHolder = new ContainerFigure();
protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
+ protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
protected boolean isReadOnly;
protected boolean isSelected;
@@ -96,7 +99,7 @@
// fontData.data.lfUnderline = 1
// so instead we use reflection
Object data = fontData.getClass().getField("data").get(fontData);
- System.out.println("data" + data.getClass());
+// System.out.println("data" + data.getClass());
data.getClass().getField("lfUnderline").setByte(data, (byte)1);
Font font = new Font(Display.getCurrent(), fontData);
label.setFont(font);
@@ -138,6 +141,12 @@
label.setText("unknown object" + getModel().getClass().getName());
//arrowLabel.setVisible(false);
}
+
+ if (reselect)
+ {
+ getViewer().select(this);
+ setReselect(false);
+ }
}
@@ -180,7 +189,9 @@
}
}
};
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, feedBackSelectionEditPolicy);
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, feedBackSelectionEditPolicy);
+
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
}
public Color computeLabelColor()
@@ -201,10 +212,23 @@
public void addFeedback()
{
isSelected = true;
-
+
labelHolder.setBackgroundColor(ColorConstants.black);
label.setForegroundColor(computeLabelColor());
labelHolder.setFill(true);
+
+ if (doScroll)
+ {
+ CategoryEditPart categoryEP = (CategoryEditPart)getParent();
+ categoryEP.scrollTo(this);
+ setScroll(false);
+ }
+ }
+
+ private boolean doScroll = false;
+ public void setScroll(boolean doScroll)
+ {
+ this.doScroll = doScroll;
}
public void removeFeedback()
@@ -269,4 +293,24 @@
};
Display.getCurrent().asyncExec(runnable);
}
+
+ public void doEditName()
+ {
+ removeFeedback();
+ Object object = getModel();
+ if (object instanceof XSDNamedComponent)
+ {
+ ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDNamedComponent)object);
+ simpleDirectEditPolicy.setDelegate(manager);
+ manager.show();
+ }
+ }
+
+
+ static boolean reselect = false;
+
+ public void setReselect(boolean state)
+ {
+ reselect = state;
+ }
}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
index afea789..87a9326 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
@@ -13,6 +13,7 @@
import org.eclipse.draw2d.Label;
import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
@@ -27,17 +28,22 @@
public class ComponentNameDirectEditManager extends TextCellEditorManager
{
protected XSDNamedComponent component;
+ protected static GraphicalEditPart mySource;
public ComponentNameDirectEditManager(GraphicalEditPart source, Label label, XSDNamedComponent component)
{
super(source, label);
this.component = component;
+ mySource = source;
}
public void performModify(final String value)
- {
- DelayedRenameRunnable runnable = new DelayedRenameRunnable(component, value);
- Display.getCurrent().asyncExec(runnable);
+ {
+ if (value.length() > 0)
+ {
+ DelayedRenameRunnable runnable = new DelayedRenameRunnable(component, value);
+ Display.getCurrent().asyncExec(runnable);
+ }
}
protected static class DelayedRenameRunnable implements Runnable
@@ -78,6 +84,21 @@
};
xsdSwitch.doSwitch(component);
component.setName(name);
+ if (mySource instanceof TopLevelComponentEditPart)
+ {
+ ((TopLevelComponentEditPart)mySource).setReselect(true);
+ }
+ }
+ }
+
+ protected void bringDown()
+ {
+ if (mySource != null)
+ {
+ if (mySource instanceof TopLevelComponentEditPart)
+ {
+ ((TopLevelComponentEditPart)mySource).setReselect(true);
+ }
}
}
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
index 3b64735..36526ee 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
@@ -117,7 +117,7 @@
ctAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(ct, xsdModelAdapterFactory);
ctAdapter.addListener((INotifyChangedListener)this);
- XSDWildcard wildcard = ct.getAttributeWildcard();
+ XSDWildcard wildcard = ct.getAttributeWildcardContent();
if (wildcard != null)
{
list.add(wildcard);
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
index e3a667a..d53d02b 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
@@ -148,32 +148,34 @@
setListenerEnabled(false);
Element element = xsdSchema.getElement();
-
- // Handle prefixText
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-
- if (aPrefix != null && aPrefix.length() > 0)
- {
- prefixText.setText(aPrefix);
- }
- else
+
+ if (element != null)
{
- prefixText.setText(""); //$NON-NLS-1$
- }
-
- // Handle TargetNamespaceText
- String tns = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- if (tns != null && tns.length() > 0)
- {
- targetNamespaceText.setText(tns);
- }
- else
- {
- targetNamespaceText.setText(""); //$NON-NLS-1$
- }
- errorText.setText("");
-
+ // Handle prefixText
+ TypesHelper helper = new TypesHelper(xsdSchema);
+ String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
+
+ if (aPrefix != null && aPrefix.length() > 0)
+ {
+ prefixText.setText(aPrefix);
+ }
+ else
+ {
+ prefixText.setText(""); //$NON-NLS-1$
+ }
+
+ // Handle TargetNamespaceText
+ String tns = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
+ if (tns != null && tns.length() > 0)
+ {
+ targetNamespaceText.setText(tns);
+ }
+ else
+ {
+ targetNamespaceText.setText(""); //$NON-NLS-1$
+ }
+ errorText.setText("");
+ }
setListenerEnabled(true);
}
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
index e911823..6671ebc 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
@@ -311,14 +311,14 @@
{
if (typeSection.getUserSimpleType().getSelection())
{
- if (!previousStringType.equals("**anonymous**"))
+// if (!previousStringType.equals("**anonymous**"))
{
updateElementToAnonymous(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
}
}
else
{
- if (!previousStringType.equals("**anonymous**"))
+// if (!previousStringType.equals("**anonymous**"))
{
updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
index 19861ae..e8b6c89 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
@@ -11,15 +11,15 @@
package org.eclipse.wst.xsd.ui.internal.provider;
import java.util.ArrayList;
-import java.util.Iterator;
+//import java.util.Iterator;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeGroupContent;
+//import org.eclipse.xsd.XSDAttributeGroupContent;
import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
+//import org.eclipse.xsd.XSDAttributeUse;
import org.eclipse.xsd.XSDWildcard;
@@ -63,22 +63,22 @@
{
XSDAttributeGroupDefinition xsdAttributeGroup = (XSDAttributeGroupDefinition)parentElement;
List list = new ArrayList();
-// list.addAll(xsdAttributeGroup.getContents());
- Iterator i = xsdAttributeGroup.getContents().iterator();
- while (i.hasNext())
- {
- XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent)i.next();
- if (attrGroupContent instanceof XSDAttributeUse)
- {
- list.add(((XSDAttributeUse)attrGroupContent).getAttributeDeclaration());
- }
- else
- {
- list.add(attrGroupContent);
- }
- }
+ list.addAll(xsdAttributeGroup.getContents());
+// Iterator i = xsdAttributeGroup.getContents().iterator();
+// while (i.hasNext())
+// {
+// XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent)i.next();
+// if (attrGroupContent instanceof XSDAttributeUse)
+// {
+// list.add(((XSDAttributeUse)attrGroupContent).getAttributeDeclaration());
+// }
+// else
+// {
+// list.add(attrGroupContent);
+// }
+// }
- XSDWildcard wildcard = xsdAttributeGroup.getAttributeWildcard();
+ XSDWildcard wildcard = xsdAttributeGroup.getAttributeWildcardContent();
if (wildcard != null)
{
list.add(wildcard);
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
index 8ed43c2..f573249 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
@@ -23,7 +23,6 @@
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.xsd.XSDComponent;
import org.eclipse.xsd.XSDConcreteComponent;
import org.eclipse.xsd.XSDElementDeclaration;
import org.eclipse.xsd.XSDModelGroup;
@@ -133,9 +132,9 @@
{
return ((Node)element).getParentNode();
}
- else if (element instanceof XSDComponent)
+ else if (element instanceof XSDConcreteComponent)
{
- return ((XSDComponent)element).getContainer();
+ return ((XSDConcreteComponent)element).getContainer();
}
return null;
}