Search in sources :

Example 1 with DomFileElementNode

use of com.intellij.util.xml.tree.DomFileElementNode in project intellij-community by JetBrains.

the class DeleteDomElement method actionPerformed.

@Override
public void actionPerformed(AnActionEvent e, DomModelTreeView treeView) {
    final SimpleNode selectedNode = treeView.getTree().getSelectedNode();
    if (selectedNode instanceof BaseDomElementNode) {
        if (selectedNode instanceof DomFileElementNode) {
            e.getPresentation().setVisible(false);
            return;
        }
        final DomElement domElement = ((BaseDomElementNode) selectedNode).getDomElement();
        final int ret = Messages.showOkCancelDialog(getPresentationText(selectedNode, "Remove") + "?", "Remove", Messages.getQuestionIcon());
        if (ret == Messages.OK) {
            new WriteCommandAction(domElement.getManager().getProject(), DomUtil.getFile(domElement)) {

                @Override
                protected void run(@NotNull final Result result) throws Throwable {
                    domElement.undefine();
                }
            }.execute();
        }
    }
}
Also used : WriteCommandAction(com.intellij.openapi.command.WriteCommandAction) BaseDomElementNode(com.intellij.util.xml.tree.BaseDomElementNode) DomElement(com.intellij.util.xml.DomElement) DomFileElementNode(com.intellij.util.xml.tree.DomFileElementNode) SimpleNode(com.intellij.ui.treeStructure.SimpleNode) Result(com.intellij.openapi.application.Result)

Example 2 with DomFileElementNode

use of com.intellij.util.xml.tree.DomFileElementNode in project intellij-community by JetBrains.

the class DeleteDomElement method update.

@Override
public void update(AnActionEvent e, DomModelTreeView treeView) {
    final SimpleNode selectedNode = treeView.getTree().getSelectedNode();
    if (selectedNode instanceof DomFileElementNode) {
        e.getPresentation().setVisible(false);
        return;
    }
    boolean enabled = false;
    if (selectedNode instanceof BaseDomElementNode) {
        final DomElement domElement = ((BaseDomElementNode) selectedNode).getDomElement();
        if (domElement.isValid() && DomUtil.hasXml(domElement) && !(domElement.getParent() instanceof DomFileElement)) {
            enabled = true;
        }
    }
    e.getPresentation().setEnabled(enabled);
    if (enabled) {
        e.getPresentation().setText(getPresentationText(selectedNode, ApplicationBundle.message("action.remove")));
    } else {
        e.getPresentation().setText(ApplicationBundle.message("action.remove"));
    }
    e.getPresentation().setIcon(AllIcons.General.Remove);
}
Also used : BaseDomElementNode(com.intellij.util.xml.tree.BaseDomElementNode) DomElement(com.intellij.util.xml.DomElement) DomFileElementNode(com.intellij.util.xml.tree.DomFileElementNode) DomFileElement(com.intellij.util.xml.DomFileElement) SimpleNode(com.intellij.ui.treeStructure.SimpleNode)

Aggregations

SimpleNode (com.intellij.ui.treeStructure.SimpleNode)2 DomElement (com.intellij.util.xml.DomElement)2 BaseDomElementNode (com.intellij.util.xml.tree.BaseDomElementNode)2 DomFileElementNode (com.intellij.util.xml.tree.DomFileElementNode)2 Result (com.intellij.openapi.application.Result)1 WriteCommandAction (com.intellij.openapi.command.WriteCommandAction)1 DomFileElement (com.intellij.util.xml.DomFileElement)1