📄 insertelementafteredit.java
字号:
import javax.swing.tree.TreePath;
import javax.swing.undo.AbstractUndoableEdit;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;
import org.cip4.jdflib.core.JDFElement;
import org.cip4.jdflib.core.KElement;
import org.w3c.dom.Element;
/*
* InsertElementAfterEdit.java
* @author Elena Skobchenko
*/
public class InsertElementAfterEdit extends AbstractUndoableEdit
{
private static final long serialVersionUID = -2778264565816334345L;
private TreePath path;
private JDFTreeNode newNode;
private Element newElement;
private JDFTreeNode afterNode;
private JDFElement afterElement;
private JDFTreeNode nextSiblingNode;
private JDFElement nextSiblingElement;
private JDFFrame parFrame;
private TreePath newNodePath = null;
private boolean success = true;
public InsertElementAfterEdit(final JDFFrame parentFrame, final TreePath treePath,
final JDFTreeNode afterNode, final JDFElement afterElement,
final JDFTreeNode nextSiblingNode, final JDFElement nextSiblingElement,
final JDFTreeNode newNode)
{
parFrame = parentFrame;
path = treePath;
this.afterNode = afterNode;
this.afterElement = afterElement;
this.nextSiblingNode = nextSiblingNode;
this.nextSiblingElement = nextSiblingElement;
this.newNode = newNode;
newElement = ((Wrapper)newNode.getUserObject()).getElement();
newNodePath = new TreePath(newNode.getPath());
parFrame.updateViews(newNodePath);
}
public void undo() throws CannotUndoException
{
if (newNodePath != null)
{
success = parFrame.deleteItem(newNodePath);
newNodePath = null;
}
parFrame.updateViews(path);
}
public void redo() throws CannotRedoException
{
parFrame.insertAfter(afterNode, newNode);
final KElement parentElement = afterElement.getParentNode_KElement();
if (nextSiblingElement != null)
{
parentElement.insertBefore(newElement, nextSiblingElement);
}
else
{
parentElement.appendChild(newElement);
}
newNodePath = new TreePath(newNode.getPath());
parFrame.updateViews(newNodePath);
}
public boolean canUndo()
{
return success;
}
public boolean canRedo()
{
return success;
}
public String getPresentationName()
{
return "InsertElementAfter";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -