Search in sources :

Example 21 with DTDNode

use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.

the class DragAttributeCommand method execute.

public void execute() {
    DTDNode referenceNode = (DTDNode) target;
    DTDFile dtdFile = referenceNode.getDTDFile();
    if (referenceNode instanceof Attribute) {
        // $NON-NLS-1$
        dtdFile.getDTDModel().beginRecording(this, DTDUIMessages._UI_MOVE_ATTRIBUTE);
        AttributeList attList = (AttributeList) referenceNode.getParentNode();
        Iterator iter = sources.iterator();
        while (iter.hasNext()) {
            DTDNode node = (DTDNode) iter.next();
            if (node instanceof Attribute) {
                attList.insertIntoModel(this, (Attribute) referenceNode, (Attribute) node, isAfter());
                dtdFile.deleteNode(this, node);
            }
        }
        dtdFile.getDTDModel().endRecording(this);
    }
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Attribute(org.eclipse.wst.dtd.core.internal.Attribute) AttributeList(org.eclipse.wst.dtd.core.internal.AttributeList) Iterator(java.util.Iterator) DTDFile(org.eclipse.wst.dtd.core.internal.DTDFile)

Example 22 with DTDNode

use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.

the class DragTopLevelNodesCommand method execute.

public void execute() {
    DTDNode referenceNode = (DTDNode) target;
    DTDFile dtdFile = referenceNode.getDTDFile();
    dtdFile.getDTDModel().beginRecording(this, sources.size() > 1 ? moveNodes : moveNode);
    Iterator iter = sources.iterator();
    while (iter.hasNext()) {
        DTDNode node = (DTDNode) iter.next();
        if (node instanceof TopLevelNode) {
            dtdFile.moveNode(this, referenceNode, node, isAfter());
        }
    }
    dtdFile.getDTDModel().endRecording(this);
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Iterator(java.util.Iterator) TopLevelNode(org.eclipse.wst.dtd.core.internal.TopLevelNode) DTDFile(org.eclipse.wst.dtd.core.internal.DTDFile)

Example 23 with DTDNode

use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.

the class DTDSectionLabelProvider method getImage.

/**
 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
 */
public Image getImage(Object object) {
    if (object == null || object.equals(StructuredSelection.EMPTY)) {
        return null;
    }
    Image result = null;
    Object selected = object;
    if (object instanceof IStructuredSelection) {
        selected = ((IStructuredSelection) object).getFirstElement();
    }
    if (selected instanceof DTDFile) {
        // ((DTDFile) selected).getImage();
        return null;
    } else if (selected instanceof DTDNode) {
        if (selected instanceof ParameterEntityReference)
            return null;
        final String imgPath = ((DTDNode) selected).getImagePath();
        return imgPath != null ? DTDUIPlugin.getDefault().getImage(imgPath) : null;
    } else if (selected instanceof org.w3c.dom.Element) {
        return null;
    }
    return result;
}
Also used : ParameterEntityReference(org.eclipse.wst.dtd.core.internal.ParameterEntityReference) DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Element(org.eclipse.wst.dtd.core.internal.Element) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Image(org.eclipse.swt.graphics.Image) DTDFile(org.eclipse.wst.dtd.core.internal.DTDFile)

Example 24 with DTDNode

use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.

the class DTDSectionLabelProvider method getText.

/**
 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
 */
public String getText(Object object) {
    if (object == null || object.equals(StructuredSelection.EMPTY)) {
        return null;
    }
    Object selected = object;
    if (object instanceof IStructuredSelection) {
        selected = ((IStructuredSelection) object).getFirstElement();
    }
    if (selected instanceof DTDFile) {
        return ((DTDFile) selected).getName();
    } else if (selected instanceof CMBasicNode) {
        if (((CMBasicNode) selected).isReference())
            return DTDPropertiesMessages._UI_PROPERTIES_VIEW_TITLE_ELEMENT_REF;
        else
            return ((CMBasicNode) selected).getName();
    } else if (selected instanceof CMRepeatableNode) {
        CMRepeatableNode node = (CMRepeatableNode) selected;
        String name = node.getName();
        if (node instanceof CMGroupNode) {
            if (((CMGroupNode) node).getConnector() == CMGroupNode.CHOICE)
                name = DTDPropertiesMessages.DTDSectionLabelProvider_0;
            else
                name = DTDPropertiesMessages.DTDSectionLabelProvider_1;
        }
        char occurrence = node.getOccurrence();
        switch(occurrence) {
            case CMRepeatableNode.ONCE:
                // $NON-NLS-1$
                name += " [1..1]";
                break;
            case CMRepeatableNode.OPTIONAL:
                // $NON-NLS-1$
                name += " [0..1]";
                break;
            case CMRepeatableNode.ONE_OR_MORE:
                // $NON-NLS-1$
                name += " [1..*]";
                break;
            case CMRepeatableNode.ZERO_OR_MORE:
                // $NON-NLS-1$
                name += " [0..*]";
                break;
        }
        return name;
    } else if (selected instanceof DTDNode) {
        if (selected instanceof Element)
            return DTDPropertiesMessages.DTDSectionLabelProvider_6;
        else if (selected instanceof Attribute)
            return DTDPropertiesMessages.DTDSectionLabelProvider_7;
        else if (selected instanceof AttributeList)
            return DTDPropertiesMessages.DTDSectionLabelProvider_8;
        else if (selected instanceof Comment)
            return DTDPropertiesMessages.DTDSectionLabelProvider_9;
        else if (selected instanceof Entity)
            return DTDPropertiesMessages.DTDSectionLabelProvider_10;
        else if (selected instanceof Notation)
            return DTDPropertiesMessages.DTDSectionLabelProvider_11;
        else if (selected instanceof ParameterEntityReference)
            // return "parameter entity reference";
            return null;
        else
            return ((DTDNode) selected).getName();
    } else if (selected instanceof org.w3c.dom.Element) {
        return ((org.w3c.dom.Element) selected).getLocalName();
    } else if (object instanceof ITextSelection) {
        // $NON-NLS-1$
        return "";
    } else
        return object.toString();
}
Also used : Comment(org.eclipse.wst.dtd.core.internal.Comment) Entity(org.eclipse.wst.dtd.core.internal.Entity) CMRepeatableNode(org.eclipse.wst.dtd.core.internal.CMRepeatableNode) Attribute(org.eclipse.wst.dtd.core.internal.Attribute) AttributeList(org.eclipse.wst.dtd.core.internal.AttributeList) Element(org.eclipse.wst.dtd.core.internal.Element) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) CMGroupNode(org.eclipse.wst.dtd.core.internal.CMGroupNode) Notation(org.eclipse.wst.dtd.core.internal.Notation) DTDFile(org.eclipse.wst.dtd.core.internal.DTDFile) ITextSelection(org.eclipse.jface.text.ITextSelection) ParameterEntityReference(org.eclipse.wst.dtd.core.internal.ParameterEntityReference) DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) CMBasicNode(org.eclipse.wst.dtd.core.internal.CMBasicNode)

Example 25 with DTDNode

use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.

the class DTDBatchNodeDelete method deleteNodes.

public void deleteNodes(Object requestor) {
    for (int i = nodes.size() - 1; i >= 0; i--) {
        DTDNode node = (DTDNode) nodes.get(i);
        dtdFile.deleteNode(requestor, node);
    }
    nodes.clear();
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode)

Aggregations

DTDNode (org.eclipse.wst.dtd.core.internal.DTDNode)32 DTDFile (org.eclipse.wst.dtd.core.internal.DTDFile)13 Element (org.eclipse.wst.dtd.core.internal.Element)13 Iterator (java.util.Iterator)9 AttributeList (org.eclipse.wst.dtd.core.internal.AttributeList)8 NodeList (org.eclipse.wst.dtd.core.internal.NodeList)6 CMGroupNode (org.eclipse.wst.dtd.core.internal.CMGroupNode)5 CMNode (org.eclipse.wst.dtd.core.internal.CMNode)5 ArrayList (java.util.ArrayList)4 List (java.util.List)4 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 Attribute (org.eclipse.wst.dtd.core.internal.Attribute)4 CMBasicNode (org.eclipse.wst.dtd.core.internal.CMBasicNode)3 Comment (org.eclipse.wst.dtd.core.internal.Comment)3 Entity (org.eclipse.wst.dtd.core.internal.Entity)3 Image (org.eclipse.swt.graphics.Image)2 ParameterEntityReference (org.eclipse.wst.dtd.core.internal.ParameterEntityReference)2 TopLevelNode (org.eclipse.wst.dtd.core.internal.TopLevelNode)2 DTDModelImpl (org.eclipse.wst.dtd.core.internal.document.DTDModelImpl)2 Separator (org.eclipse.jface.action.Separator)1