diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java')
-rw-r--r-- | bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java | 360 |
1 files changed, 0 insertions, 360 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java b/bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java deleted file mode 100644 index 15f3b73146..0000000000 --- a/bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java +++ /dev/null @@ -1,360 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2006 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.xsd.ui.internal.actions; -import java.util.List; - -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; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.swt.widgets.Display; -import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor; -import org.eclipse.wst.xml.core.internal.document.DocumentImpl; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; -import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML; -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.XSDNamedComponent; -import org.eclipse.xsd.XSDSchema; -import org.eclipse.xsd.util.XSDConstants; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.Text; - -// issue (cs) can we remove this? -// -public class CreateElementAction extends Action -{ - protected String description; - protected Element parentNode; - - protected ISelectionProvider selectionProvider; - protected XSDSchema xsdSchema; - - protected Object sourceContext; - - /** - * Constructor for CreateElementAction. - */ - public CreateElementAction() - { - super(); - } - /** - * Constructor for CreateElementAction. - * @param text - */ - public CreateElementAction(String text) - { - super(text); - } - /** - * Constructor for CreateElementAction. - * @param text - * @param image - */ - public CreateElementAction(String text, ImageDescriptor image) - { - super(text, image); - } - - public void setXSDSchema(XSDSchema xsdSchema) - { - this.xsdSchema = xsdSchema; - } - - public void setSelectionProvider(ISelectionProvider selectionProvider) - { - this.selectionProvider = selectionProvider; - } - - public void setSourceContext(Object sourceContext) - { - this.sourceContext = sourceContext; - } - - /** - * Gets the parentNode. - * @return Returns a Element - */ - public Element getParentNode() - { - return parentNode; - } - - /** - * Sets the parentNode. - * @param parentNode The parentNode to set - */ - public void setParentNode(Element parentNode) - { - this.parentNode = parentNode; - } - - boolean isGlobal = false; - - public void setIsGlobal(boolean isGlobal) - { - this.isGlobal = isGlobal; - } - - public boolean getIsGlobal() - { - return isGlobal; - } - - protected Node relativeNode; - protected String elementTag; - public void setElementTag(String elementTag) - { - this.elementTag = elementTag; - } - - public DocumentImpl getDocument() - { - return (DocumentImpl) getParentNode().getOwnerDocument(); - } - - public void beginRecording(String description) - { - getDocument().getModel().beginRecording(this, description); - } - - public void endRecording() - { - DocumentImpl doc = getDocument(); - - doc.getModel().endRecording(this); - } - - public Element createAndAddNewChildElement() - { - String prefix = parentNode.getPrefix(); - prefix = (prefix == null) ? "" : (prefix + ":"); //$NON-NLS-1$ //$NON-NLS-2$ - Element childNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + elementTag); - if (getAttributes() != null) - { - List attributes = getAttributes(); - for (int i = 0; i < attributes.size(); i++) - { - DOMAttribute attr = (DOMAttribute) attributes.get(i); - childNode.setAttribute(attr.getName(), attr.getValue()); - } - } - if (getRelativeNode() == null) - { - parentNode.appendChild(childNode); - } - else - { - parentNode.insertBefore(childNode,getRelativeNode()); - } - - if (isGlobal && getRelativeNode() == null) - { - Text textNode = getDocument().createTextNode("\n\n"); //$NON-NLS-1$ - parentNode.appendChild(textNode); - } - else if (isGlobal && getRelativeNode() != null) - { - Text textNode = getDocument().createTextNode("\n\n"); //$NON-NLS-1$ - parentNode.insertBefore(textNode, getRelativeNode()); - } - - formatChild(childNode); - - return childNode; - } - - protected void formatChild(Element child) - { - if (child instanceof IDOMNode) - { - IDOMModel model = ((IDOMNode)child).getModel(); - try - { - // tell the model that we are about to make a big model change - model.aboutToChangeModel(); - - IStructuredFormatProcessor formatProcessor = new FormatProcessorXML(); - formatProcessor.formatNode(child); - } - finally - { - // tell the model that we are done with the big model change - model.changedModel(); - } - } - } - /* - * @see IAction#run() - */ - public void run() - { - beginRecording(getDescription()); - final Element child = createAndAddNewChildElement(); - endRecording(); - - if (selectionProvider != null) - { - final XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(child); -// selectionProvider.setSelection(new StructuredSelection(comp)); - - Runnable runnable = new Runnable() - { - public void run() - { - 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(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); - } - } - - /** - * Gets the relativeNode. - * @return Returns a Element - */ - public Node getRelativeNode() - { - return relativeNode; - } - - /** - * Sets the relativeNode. - * @param relativeNode The relativeNode to set - */ - public void setRelativeNode(Node relativeNode) - { - this.relativeNode = relativeNode; - } - - /** - * Gets the description. - * @return Returns a String - */ - public String getDescription() - { - if (description == null) - { - return getText(); - } - return description; - } - - /** - * Sets the description. - * @param description The description to set - */ - public void setDescription(String description) - { - this.description = description; - } - - protected List attributes; - /** - * Gets the nameAttribute. - * @return Returns a String - */ - public List getAttributes() - { - return attributes; - } - - /** - * Sets the attributes. - * @param attributes The attributes to set - */ - public void setAttributes(List attributes) - { - this.attributes = attributes; - } -} |