Search in sources :

Example 1 with Element

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

the class ReplaceEmptyContentModelWithGroupAction method run.

public void run() {
    DTDNode node = getFirstNodeSelected();
    if (node instanceof Element) {
        CMNode contentModel = ((Element) node).getContentModel();
        if (CMNode.EMPTY.equals(contentModel.getType())) {
            getModel().beginRecording(this, getText());
            // $NON-NLS-1$
            ((Element) node).replaceContentModel(this, "()");
            getModel().endRecording(this);
        }
    }
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Element(org.eclipse.wst.dtd.core.internal.Element) CMNode(org.eclipse.wst.dtd.core.internal.CMNode)

Example 2 with Element

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

the class ReplaceEmptyContentModelWithGroupAction method updateSelection.

protected boolean updateSelection(IStructuredSelection selection) {
    boolean rc = super.updateSelection(selection);
    DTDNode node = getFirstNodeSelected(selection);
    setEnabled(node instanceof Element);
    return rc;
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Element(org.eclipse.wst.dtd.core.internal.Element)

Example 3 with Element

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

the class DragContentModelCommand method execute.

public void execute() {
    DTDNode referenceNode = (DTDNode) target;
    if (referenceNode instanceof CMNode) {
        DTDFile dtdFile = referenceNode.getDTDFile();
        DTDNode parent = (DTDNode) referenceNode.getParentNode();
        // $NON-NLS-1$
        dtdFile.getDTDModel().beginRecording(this, DTDUIMessages._UI_MOVE_CONTENT);
        boolean parentIsElement = false;
        Element element = null;
        CMGroupNode group = null;
        if (parent instanceof Element) {
            parentIsElement = true;
            element = (Element) parent;
        } else {
            group = (CMGroupNode) parent;
        }
        if (element == null && group == null) {
            // no parent to add to
            return;
        }
        Iterator iter = sources.iterator();
        while (iter.hasNext()) {
            DTDNode node = (DTDNode) iter.next();
            if (node instanceof CMNode) {
                if (parentIsElement) {
                    if (element.getContentModel() == node) {
                        continue;
                    }
                    element.replaceContentModel(this, (CMNode) node);
                } else {
                    if (referenceNode == node || (isAfter() && referenceNode.getNextSibling() == node) || (!isAfter() && node.getNextSibling() == referenceNode)) {
                        continue;
                    }
                    group.insertIntoModel(this, (CMNode) referenceNode, (CMNode) node, isAfter());
                }
                DTDNode nodeParent = (DTDNode) node.getParentNode();
                nodeParent.delete(this, node);
            }
        }
        dtdFile.getDTDModel().endRecording(this);
    }
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Element(org.eclipse.wst.dtd.core.internal.Element) Iterator(java.util.Iterator) CMNode(org.eclipse.wst.dtd.core.internal.CMNode) CMGroupNode(org.eclipse.wst.dtd.core.internal.CMGroupNode) DTDFile(org.eclipse.wst.dtd.core.internal.DTDFile)

Example 4 with Element

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

the class ContentModelTypeSection method refresh.

/*
	 * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
	 */
public void refresh() {
    Object input = getInput();
    if (input != null) {
        if (input instanceof CMNode) {
            typeCombo.removeAll();
            typeCombo.add(CMNode.ANY);
            typeCombo.add(CMNode.EMPTY);
            typeCombo.add(CMNode.PCDATA);
            typeCombo.add(CMNode.CHILDREN);
            typeCombo.add(CMNode.MIXED);
            Iterator iterator = ((CMNode) input).getDTDFile().getNodes().iterator();
            String nodeName = null;
            while (iterator.hasNext()) {
                DTDNode node = (DTDNode) iterator.next();
                nodeName = node.getName();
                if (node instanceof Element && typeCombo.indexOf(nodeName) == -1)
                    typeCombo.add(nodeName);
                else if (node instanceof Entity && ((Entity) node).isParameterEntity() && typeCombo.indexOf(nodeName) == -1)
                    // $NON-NLS-1$ //$NON-NLS-2$
                    typeCombo.add("%" + nodeName + ";");
            }
            if (input instanceof CMGroupNode)
                typeCombo.setText(((CMGroupNode) input).getType());
            else if (input instanceof CMBasicNode)
                typeCombo.setText(((CMBasicNode) input).getType());
        }
    }
// end if (fInput != null)
}
Also used : Entity(org.eclipse.wst.dtd.core.internal.Entity) DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Element(org.eclipse.wst.dtd.core.internal.Element) Iterator(java.util.Iterator) CMNode(org.eclipse.wst.dtd.core.internal.CMNode) CMGroupNode(org.eclipse.wst.dtd.core.internal.CMGroupNode) CMBasicNode(org.eclipse.wst.dtd.core.internal.CMBasicNode)

Example 5 with Element

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

the class AddAttributeListAction method run.

public void run() {
    DTDNode selectedNode = getFirstNodeSelected();
    DTDFile dtdFile = getModel().getDTDFile();
    // $NON-NLS-1$
    String attListName = "NewAttList";
    if (selectedNode != null) {
        DTDNode topLevelNode = dtdFile.getTopLevelNodeAt(selectedNode.getStartOffset());
        if (topLevelNode instanceof Element) {
            attListName = ((Element) topLevelNode).getName();
        }
    }
    getModel().getDTDFile().createAttributeList(selectedNode, attListName, true);
// newElement.setName(DTDUniqueNameHelper.getUniqueElementName(dtdFile));
}
Also used : DTDNode(org.eclipse.wst.dtd.core.internal.DTDNode) Element(org.eclipse.wst.dtd.core.internal.Element) DTDFile(org.eclipse.wst.dtd.core.internal.DTDFile)

Aggregations

Element (org.eclipse.wst.dtd.core.internal.Element)15 DTDNode (org.eclipse.wst.dtd.core.internal.DTDNode)12 DTDFile (org.eclipse.wst.dtd.core.internal.DTDFile)8 Entity (org.eclipse.wst.dtd.core.internal.Entity)6 Iterator (java.util.Iterator)5 AttributeList (org.eclipse.wst.dtd.core.internal.AttributeList)5 CMGroupNode (org.eclipse.wst.dtd.core.internal.CMGroupNode)4 CMNode (org.eclipse.wst.dtd.core.internal.CMNode)4 NodeList (org.eclipse.wst.dtd.core.internal.NodeList)4 CMBasicNode (org.eclipse.wst.dtd.core.internal.CMBasicNode)3 Notation (org.eclipse.wst.dtd.core.internal.Notation)3 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Comment (org.eclipse.wst.dtd.core.internal.Comment)2 ParameterEntityReference (org.eclipse.wst.dtd.core.internal.ParameterEntityReference)2 Separator (org.eclipse.jface.action.Separator)1 ITextSelection (org.eclipse.jface.text.ITextSelection)1 AbstractTreeViewer (org.eclipse.jface.viewers.AbstractTreeViewer)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 Attribute (org.eclipse.wst.dtd.core.internal.Attribute)1