⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addrequiredelemedit.java

📁 java xml 应用开发
💻 JAVA
字号:
import java.util.Vector;

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;

/*
 * AddRequiredElemEdit.java
 * @author Elena Skobchenko
 */

public class AddRequiredElemEdit extends AbstractUndoableEdit 
{
    private static final long serialVersionUID = -2778264565816334345L;
    
    private TreePath path;
    private JDFTreeNode intoNode;
    private JDFElement intoElement;

    private JDFFrame parFrame;
    private Vector addedVector;
    private Vector addedElementVector = new Vector();
    private boolean success = true;
    
    public AddRequiredElemEdit(final JDFFrame parentFrame, final TreePath treePath,
    						   final JDFTreeNode intoNode, final JDFElement intoElement, final Vector addedVector ) 
    {
         parFrame = parentFrame;
         path = treePath;
                           
         this.intoNode = intoNode;
         this.intoElement = intoElement;
         this.addedVector = addedVector;
         
         TreePath elemPath = null;
         for (int i=0; i < addedVector.size(); i++)
         {
         	JDFTreeNode elemNode = (JDFTreeNode) addedVector.elementAt(i);
         	JDFElement element = (JDFElement) ((Wrapper) elemNode.getUserObject()).getElement();
         	addedElementVector.add(element);
         	elemPath = new TreePath(elemNode.getPath()); 
         }
                 
         parFrame.updateViews(elemPath);
    }

    public void undo() throws CannotUndoException 
    { 
         for (int i=0; i < addedVector.size(); i++)
         {
         	JDFTreeNode elemNode = (JDFTreeNode) addedVector.elementAt(i);
         	TreePath elemPath = new TreePath(elemNode.getPath());
         	success = parFrame.deleteItem(elemPath);
         }
         parFrame.updateViews(path);
    }

    public void redo() throws CannotRedoException 
    {
    	TreePath elemPath = null;
    	for (int i=0; i < addedVector.size(); i++)
        {
        	JDFTreeNode elemNode = (JDFTreeNode) addedVector.elementAt(i);
        	JDFElement element = (JDFElement) addedElementVector.elementAt(i);
        	parFrame.insertInto(intoNode, elemNode, -1);
        	intoElement.appendChild(element);
            elemPath = new TreePath(elemNode.getPath()); 
        }
    	parFrame.updateViews(elemPath);
    }

    public boolean canUndo() 
    {
         return success && addedVector.size()>0;
    }

    public boolean canRedo() 
    {
        return success && addedVector.size()>0;
    }

    public String getPresentationName() 
    {
         return "AddRequiredElements";
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -