use of org.eclipse.wst.dtd.core.internal.DTDNode 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);
}
}
use of org.eclipse.wst.dtd.core.internal.DTDNode 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)
}
use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.
the class NameSection method doHandleEvent.
public void doHandleEvent(Event event) {
if (event.widget == nameText) {
Object input = getInput();
String newValue = nameText.getText();
if (newValue.length() > 0 && input instanceof DTDNode) {
DTDNode dtdNode = (DTDNode) input;
dtdNode.setName(newValue);
}
}
}
use of org.eclipse.wst.dtd.core.internal.DTDNode 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));
}
use of org.eclipse.wst.dtd.core.internal.DTDNode in project webtools.sourceediting by eclipse.
the class ContentModelNameSection 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 CMBasicNode) {
typeCombo.removeAll();
typeCombo.add(CMNode.PCDATA);
// NodeList list =
// ((CMBasicNode)fInput).getDTDFile().getElementsAndParameterEntityReferences();
Iterator iterator = ((CMBasicNode) input).getDTDFile().getNodes().iterator();
boolean isForRootContent = ((CMBasicNode) input).isRootElementContent();
while (iterator.hasNext()) {
DTDNode node = (DTDNode) iterator.next();
if (!isForRootContent && node instanceof Element)
typeCombo.add(node.getName());
if (node instanceof Entity && ((Entity) node).isParameterEntity())
// $NON-NLS-1$ //$NON-NLS-2$
typeCombo.add("%" + node.getName() + ";");
}
typeCombo.setText(((CMBasicNode) input).getName());
}
}
}
Aggregations